// Notes
Header image for The Technology Behind This Site

The Technology Behind This Site

This site is intentionally small. Right now it is a personal site with a notes section, and for the moment that is enough. But I also want it to be able to handle case studies later on, and those usually ask for a bit more: more structure, more layout flexibility, and a wider editorial range than a normal blog post.

That shaped the stack more than any abstract love of tools ever could. I wanted something fast, something pleasant to edit, and something flexible enough to grow without immediately dragging in the full emotional overhead of a CMS. In short, I did not want a content platform. I wanted a site I would actually enjoy working on.

What I Wanted From the Stack

The requirements were not especially exotic, which is usually a good sign. I wanted local development to feel quick, pages to load fast, and content editing to stay close to writing rather than turning into a small administrative ceremony.

Markdown was the obvious starting point. For a personal site and a notes section, it is still hard to beat. Open a file, write, commit, done. No dashboard, no sync layer, no editor trying to be helpful in the very particular way software often is.

At the same time, I did not want to lock the site into a shape that only works for simple posts. Notes are easy. Case studies are not. They usually need structured metadata, richer sections, media, and sometimes custom presentation blocks that go beyond heading-paragraph-image-repeat until morale improves.

And then there is maintenance. I like capable tools, but I like having to think about them only when necessary even more. The stack should be modern and competent, not needy.

The Stack at a glance

  • Nuxt
  • Nuxt Content
  • Vue
  • TypeScript
  • Tailwind CSS
  • pnpm

Nuxt and Nuxt Content

Nuxt is what makes the site feel coherent. It handles routing, layouts, SEO, rendering, and the rest of the boring infrastructure without much ceremony, which means I can spend my time on the actual site instead of on glue code. More importantly, it gives me enough flexibility to support different kinds of pages without the whole thing feeling improvised.

Nuxt Content is what makes that pleasant. The content lives in Markdown, so writing stays simple, direct, and version-controlled. At the same time, typed collections and frontmatter give me enough structure to move beyond simple notes when I need to. That matters because case studies usually want more than title and body copy. They need metadata, richer sections, media, and occasionally custom content blocks.

Together, Nuxt and Nuxt Content hit the balance I was after: fast to work in, pleasant to edit, and flexible enough to grow into more structured content without forcing me into a CMS too early.

The Rest of the Stack, Kept Intentionally Boring

The supporting choices are modern, but deliberately unremarkable.

Vue is still my preferred UI layer because composition stays flexible without becoming theatrical. TypeScript is the baseline because content models, components, and utility code all get better when the shape of things is explicit. Tailwind CSS keeps styling quick and close to the component without turning every visual change into a small expedition through detached stylesheets. And pnpm remains my package manager of choice because it is fast, quiet, and generally stays out of the way.

Which is really how I want this part of the stack to feel. Useful, current, and mostly invisible. None of it is the story of the site, and that is exactly the point.

A Site That Can Grow Without a Rewrite

The current notes section is one content format. It works well for articles, walkthroughs, and the occasional overly specific technical detour.

Case studies, though, are a different species. They usually need more explicit structure and more layout control. You want room for context, constraints, decisions, visuals, outcomes, and sometimes side remarks that are useful but should not dominate the flow. You can force all of that into a long Markdown post, but it is rarely the most convincing shape.

What I wanted instead was a setup that gives me room to move toward that deliberately. Not by rebuilding the site later, and not by introducing a CMS months too early, but by extending the content model and presentation when there is something real to support.

That is where the small-stack approach pays off. The site is simple today, but it is not brittle. It can grow toward richer case-study content without pretending from day one that it is already a publishing empire.

Small Modules, Big Quality-of-Life Gains

There are also a few smaller Nuxt modules in the mix that make the day-to-day experience nicer without becoming the center of attention.

@nuxtjs/color-mode handles theme switching cleanly. @nuxt/fonts makes font loading less annoying than it used to be. @nuxt/icon is convenient enough to earn its place. @vueuse/nuxt saves time on the sort of composable utilities I would otherwise reach for anyway. And @nuxt/eslint plus devtools make the project a bit nicer to maintain and inspect.

None of these are the reason the stack works. They are just the kind of additions that make it feel finished rather than merely assembled.

Closing

In the end, this setup fits how I like to work: fast feedback, low friction, and enough structure to grow without ceremony.

Nuxt gives the site a solid foundation. Nuxt Content keeps writing pleasant while leaving room for richer content. The rest of the stack stays modern and capable without trying to become the main character.

That is really the whole idea. Build for what the site is now, but leave enough space for what it may need to become. Keep editing simple. Keep the stack fast. And leave yourself enough flexibility that future case studies feel like a natural extension of the site rather than a reason to start over. Prefer a small stack that is pleasant to use over a larger one that is theoretically impressive. The internet has enough of those already.


Found an issue or want to have a chat? Please shoot me a quick email
!
Photo of Lukas
Written by Lukas Werner

Former iPhone hacker turned product-minded developer. I've scaled startups, blocked supercomputers with fluid simulations, and helped digitize governments. Currently crafting user experiences people actually love from Barcelona.