Skip to main content
  • Work
  • Thoughts
FEB1

How I built dmnc.euNew

Using Claude Code with Conductor to build a NextJS website

JAN30

To be a designer in the age of AINew

Vibe coding instead of Figma

←All thoughts
February 1, 2026· 5 min read

How I built dmnc.eu

I've been building with AI for a long time, almost 18 months, so since before it was reliable.

This unreliability has been a blessing in disguise, as it taught me defensive prompting since day one, and as models evolved, these patterns reinforce the already improved output.

People who jump into AI coding now take for granted what these frontier models can do, and so miss many opportunities for improving their output by anticipating and evaluating their model's actions in different ways.

Building dmnc.eu as a NextJS app is a no-brainer – Claude's 4.5 Opus mostly knows how to use it, and any gaps are being filled by the Vercel team themselves by supplying NextJS Skills every week. They're clearly all-in on the AI coding moment and I get why: suddenly people like me are coding NextJS apps 12 hours a day – completely unthinkable 2 years ago.

Importantly, I have stopped using the Claude Code CLI in favour of Conductor. Conductor is a mac app that acts as an orchestration layer to manage many git workspaces, each with their own environment that includes Claude Code.

Despite working solo, which means no team or merge conflicts, the benefit to using proper git trees is quite large. Not only do you package each effort more neatly, document more neatly, but you can also use Claude to recall anything from any git commit - which helps restore context if something goes wrong, or if you want to build on something you did previously.

It has more benefits: it has built-in code reviewer and PR prompt injection, both of which perform really well to automate a tedious process.

That being said, Conductor is a new and small app by a small team, and we all know these come and go. I have half a mind to code my own orchestrator (I'm seeing many do the same on X) but none has the exact aesthetic and functionality that matches my vision, which is the "empowerment" I've been talking about lately. Not fit for purpose? Build it yourself.

Using Conductor has made building dmnc.eu a matter of days. In fact, more time will be spent preparing graphics of my projects. Quite the paradigm shift.

I wanted a website that feels quite elegant, while at the same time showcasing a lot – both in terms of imagery and reasoning. I feel product design portfolios often showcase either one or the other, and those that attempt both become overloaded.

That's why I built an annotation system – hover (tap on mobile) any image or video to learn about thinking behind design decisions. I feel this helps bridge the gap between "that looks cool" and "that's good thinking".

The annotation system is even timed and works on videos, with the annotations appearing and disappearing in real-time when hovering videos.

I easily built the entire content management system that lets me upload and annotate dynamically, and actually crafted some quite interesting interaction patterns.

I wanted projects to be the centerpiece, interactive, animated when possible, and to display my character without being information overload.

Stack

  • Next.js 16 with App Router
  • React 19 with Server Components
  • TypeScript in strict mode
  • Tailwind CSS 4 via PostCSS
  • Postgres via Drizzle ORM

Infra

  • Hosting: Hetzner VPS with Coolify
  • Database: Postgres

Accessibility (WCAG AAA)

As a UX designer, this is the kind of stuff many don't think about but matters a lot. It's this kind of stuff that makes designers an interesting choice for the upcoming AI-coded hyperpersonalised software revolution.

  • Target WCAG AAA compliance
  • Keyboard navigation for all interactions
  • Screen reader support with proper ARIA
  • Color contrast: 7:1 for normal text (AAA)
  • Focus indicators visible and styled
  • Semantic HTML as foundation

As with all things I build, I reduce external dependencies to the maximum, favouring instead to build things fully custom. There are exceptions, of course, especially when I notice Claude struggles with a specific implementation beyond the reasonable.

That means I have to rely on a lot of agents, doing a lot of parallel tasks, including research, planning, and evaluating. This requires the Claude Max plan otherwise you get bottlenecked by credits.

Building this for desktop was simple, mobile is a bigger challenge due to the various unusual interaction patterns (such as annotations) that I wanted to include. That means instead of hovering on mobile, annotation points are always visible on images on mobile, and can be tapped to reveal annotation tooltips. This is a little less sleek, and I considered making it tap to reveal the annotation dots, but I think users might miss it entirely. I will probably revisit this multiple times as I gather feedback.

My wife's initial feedback was that it's missing some kind of overview, so as I write this I have Claude prepping a hero section above the projects that showcases snippets from each project – both a preview and a link to jump to project showcases.

Unfortunately this means a minor rework in how projects are structured. Which means a database migration. Which means a moment of challenge to get it done. But I love it. All of what I'm describing was completely impossible not long ago – not only for me, but for all designers.

Now this stuff is crystal clear to me, it's made me not only a better designer for understanding much more about tech, but has made me feel capable of building things. I'm not playing in prototypes anymore: a complete waste of time.

← PreviousTo be a designer in the age of AI