Overview
This was my first attempt at building a multi-page website from scratch. The goal was to get comfortable with the core technologies: HTML for structure, CSS for styling, JavaScript for behavior, by shipping something real instead of working through tutorials. The site you are reading now is what that turned into. It is still hand-written with no framework and no build step, but a lot more has accumulated behind it since the first version.
Key highlights
What the site is made of today.
-
Semantic HTML throughout, with a skip link, visible keyboard focus states, and
prefers-reduced-motionguards on every animation. -
Responsive layouts built on CSS grid and flexbox. The stylesheet is split into seven modules that
style.csspulls together with plain@import, no bundler involved. - An animated space backdrop assembled entirely in CSS: three parallax star layers drawn as SVGs, plus aurora and film-grain overlays.
- Vanilla JavaScript for the contact form, the live Kaggle dataset counters on the homepage, and the in-browser ports of the Python mini projects.
- GitHub Actions handle the upkeep: refreshing dataset stats, stamping sitemap dates, running the port tests, and auto-formatting the repo with Prettier.
- Deployed straight from a git push to GitHub Pages on a custom domain, with a content security policy that keeps scripts and styles first-party.
Links
Every page, stylesheet, and workflow described above lives in one public repo.