Back to Archive

The Command Deck Redesign: Turning My Blog Into a Portfolio

5 min read
The Command Deck Redesign: Turning My Blog Into a Portfolio

A year ago I migrated this blog from Hugo to Nuxt and wrote about it. Back then the goal was getting a modern foundation. This weekend I used that foundation for what it was meant for: a complete redesign. Not a new coat of paint on the same layout, but a rethink of what this site actually is.

Because somewhere along the way, this stopped being just a blog. The posts are still the heart of it, but there are also the open source projects, the experiments with MCP servers, the self-hosted AI stack. When someone lands here from LinkedIn, I want them to see a builder first and a blog second. So: portfolio-first, blog as proof.

Designing With AI, Not Just Coding With It

The vibe coding part of this project started earlier than usual. Normally I open the editor and start describing components. This time the first thing my AI assistant did was ask me questions. Four of them, with options and trade-offs spelled out: what visual direction, what should the homepage lead with, whether I wanted a side hustle built in, and how far the animations should go.

That sounds like a small thing. It is not. Answering those four questions took me two minutes and saved the whole session from drifting. Every decision afterwards could be tested against the brief: does this fit the direction we chose? If yes, build it. If no, drop it.

I gave it one hard constraint up front: I love Mass Effect and sci-fi in general, but the site has to stay professional. Nobody hires a cloud architect because his website has laser sounds.

The Command Deck Concept

What we landed on is a theme I would describe as a command deck. Deep space navy as the base color, a holographic cyan as the primary accent, a hint of warm amber as the secondary. Glass panels with backdrop blur. A faint grid in the hero, like a ship's dashboard that has been dimmed for the night watch. And an actual starfield, drawn on a canvas element, drifting very slowly behind the headline.

If you know where the inspiration comes from, you see it. If you do not, it just looks like a modern dark-mode developer site. That was exactly the balance I wanted.

The restraint is in the details:

  • The starfield pauses when it scrolls out of view or when the tab is hidden. No wasted battery for decoration.
  • Everything respects prefers-reduced-motion. Users who ask for calm get calm, including a fully static hero.
  • Sections reveal on scroll, but content is never hidden from crawlers or from people without JavaScript. The hidden state is only applied client-side, right before the animation starts.
  • Light mode is not an afterthought. The cyan accent switches to a darker shade that actually passes contrast on white.

What Changed Under the Hood

The homepage is new from scratch. It now leads with who I am and what I build, followed by a projects section, an expertise overview and only then the latest posts. The blog index got a featured post treatment for the most recent article. Post pages now show their cover image properly and related posts reuse one shared card component instead of three slightly different ones.

I also used the moment to clean up SEO. The site now generates its own sitemap during the static build, the homepage carries structured data that tells search engines who I am and what I know about, and the meta defaults finally include the small things like og:site_name. None of this is visible, all of it matters.

The stack did not change, and that was a deliberate decision too. The AI offered to switch frameworks if I wanted. But Nuxt 4 with Nuxt Content and Tailwind 4 is exactly the mature, well-documented territory where vibe coding works best. I wrote about that a year ago and it still holds.

The Things I Said No To

One more thing worth sharing. I asked whether I should add a side hustle to the site, dropshipping or something similar. The answer I got back was refreshingly direct: a webshop bolted onto a cloud architect's portfolio would hurt my credibility with exactly the people I want to reach. A consulting page or digital products would fit better, and nothing at all fits fine too.

It was right. I picked nothing, for now. It is a portfolio, not a market stall.

That back-and-forth is what I keep enjoying about this way of working. The model is not just autocomplete with confidence. When you ask for an opinion, you get one, including the parts you did not want to hear. You stay the one making the decisions, but you make them better informed.

The whole redesign, from design questions to deployed site, took one long session. Same content, same stack, completely different site. If your own site has quietly outgrown what it was built to be, maybe it is time to ask it some questions too.

Happy to answer questions. Find me on LinkedIn.

Related Posts