In an era dominated by JavaScript frameworks and CSS utility libraries, I decided
to build my developer portfolio using nothing but HTML5. No stylesheets.
No scripts. No build tools. Just semantic markup.
The goal was not to reject modern tooling — it was to prove that
structure and content are the foundation of every great website.
Why Pure HTML Matters
Accessibility — Screen readers parse semantic elements natively.
Performance — Zero render-blocking resources, instant page loads.
SEO — Search engines index well-structured content efficiently.
Universality — Works in every browser, on every device, forever.
Learning — Forces mastery of the web's most fundamental layer.
Semantic Elements Used
This project demonstrates every major HTML5 semantic element:
<header>, <nav>, <main>, <footer>
<article>, <section>, <aside>
<figure>, <figcaption>, <details>
<time>, <mark>, <data>, <address>
The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect.
GitHub Actions provides a seamless way to deploy static websites to GitHub Pages.
In this article, I walk through setting up a production-ready workflow that triggers
on every push to the main branch. The deployment token is stored in
GITHUB_TOKEN automatically by the runner.
Key Steps
Create .github/workflows/deploy.yml
Configure Pages permissions in repository settings
Semantic HTML is not just a best practice — it is a contract between
your content and every user agent that consumes it: browsers, search engines,
screen readers, and RSS parsers.