Every developer eventually asks themselves: should I build a personal website? The answer is almost always yes — but the follow-up question is harder: how?

There are countless options. Static site generators like Hugo, Jekyll, or Astro. Full frameworks like Next.js or Nuxt. Managed platforms like Notion, Super, or Hashnode. Each has trade-offs, and each pushes you toward a particular set of decisions.

I chose none of them.

The Case for Vanilla

This site is built with plain HTML, CSS, and a small amount of vanilla JavaScript. No build step, no node_modules, no configuration files. Here's why:

Finding a Design Language

The hardest part of building a personal site isn't the code — it's the design. I discovered the awesome-design-md collection, which provides ready-to-use design systems extracted from real websites in the DESIGN.md format.

I chose a design system inspired by Vercel's visual language, which emphasizes:

Structure That Scales

The portal uses a flat, directory-based URL structure where each page lives in its own folder with an index.html. This gives clean URLs (/about/ instead of /about.html) and makes the hierarchy self-documenting.

Adding a new page is dead simple:

  1. Create a new directory (e.g., /blog/new-post/)
  2. Copy any existing page as a template
  3. Edit the content
  4. Add a link in the parent list page

No build step, no frontmatter, no routing config. Just files in folders.

Dark Mode Done Right

The theme system uses CSS custom properties with a data-theme attribute on the <html> element. All colors, shadows, and surfaces are defined as variables that swap when the theme changes. The preference respects the OS setting on first visit and persists in localStorage after manual toggle.

What's Next

This is just the beginning. The portal is designed to grow incrementally — new projects, new blog posts, new sections can be added without touching existing code. Some ideas for the future:

"The best time to plant a tree was twenty years ago. The second best time is now."

If you've been putting off building your own corner of the internet — start today. It doesn't have to be complex. It just has to be yours.