Article
Rebuilding alpine-code.com on Nuxt 3
Why we rebuilt the company site from scratch — and what changed in the process.
The old alpine-code.com was a Nuxt 2 single-page app, fronted by a GraphCMS-powered content layer and a Bootstrap theme that had outlived its usefulness. It still worked, but it had become hard to ship anything quickly without first wading through the build.
We took a weekend to rebuild it on Nuxt 3 with a clean slate.
What changed
A few decisions worth calling out:
- Nuxt 3 in SSR mode instead of a generated SPA. Server-rendered HTML on the first byte means cleaner SEO, faster perceived load, and no hydration jank on slow links.
- Tailwind CSS instead of a third-party Bootstrap theme. We dropped roughly six thousand lines of vendor CSS in favor of utility classes and a small typographic system.
@nuxt/contentfor articles, instead of GraphCMS. Markdown files in the repo, version-controlled like everything else.- English only, for now. The old site shipped four locales; in practice we maintained one. The new site is honest about that.
- Dark mode by default, with a light-mode toggle. Most of our team works in the dark.
Aesthetic notes
We borrowed the visual language from our sister site zenzo.ch: zinc neutrals, a single orange accent, JetBrains Mono for the small labels, and a sense of restraint that we think suits engineering work better than a hero video does.
Nothing here is finished. The next iterations will bring case studies, deeper service write-ups and — yes — more posts.
What stayed
The brand. The logo. The address in Lausanne. The phone number. The team and the work we do for our clients.
The site is just a window into all of that.