
Most designers design. I decided to build.
These are personal projects I actually built: a sleep app, a therapy tracker, this website, and a pocket money app built with my son over breakfast. Real problems, real code, real outcomes.
Dimme. The sleep app I built for myself
Dimme. The sleep app I built for myself
Every night I had the same routine: breathing app, then meditation app, then grab my phone in the dark to start the music. Three interruptions right at the moment I was finally calming down.
And the voices. I went through dozens of meditation apps and couldn't find a single voice that felt right to me. Voice is deeply personal before sleep — pace, tone, accent, energy — and I had a very clear sense of what I needed. I just couldn't find it anywhere.

What I built
A personal sleep app where you compose your own session: pick a breathing technique, add meditation, choose music — then start and leave your phone alone. No switching, no touching the screen in the dark.
How I built it
I created a custom calming voice in ElevenLabs through dozens of prompt iterations until the tone and pace felt exactly right. Wrote all breathing and meditation scripts myself. Generated sleep music in Suno, mixed everything in GarageBand — a tool I'd never used before. Designed every screen in Figma, created illustrations in Midjourney, built the entire app in Lovable in two days.
The result
It works. I've used it every night since I built it. A month later, I was falling asleep in minutes — something that genuinely hadn't happened in years.
Mouth Ninja. A therapy app for my son
Mouth Ninja. A therapy app for my son
My son's myofunctional therapist prescribed daily mouth exercises for tongue position and jaw development, twice a day, every day without exception. I'm supposed to make sure they happen. The problem: I can't watch every session, and he has exactly zero motivation to do them on his own.

What I built
A simple exercise app where he opens it, sees his list for morning or evening, taps an exercise and sees himself on camera — like a mirror — with a timer running. The camera keeps his attention on what he's actually doing. Face tracking detects whether he's moving, so waiting out the timer without doing anything doesn't work.
What I got wrong — and what actually worked
I added gamification — streaks, rewards, points. None of it worked. A 9-year-old with no internal motivation will outlast any reward system you design. So I changed the goal: stop trying to make him want to do it, and make doing it as frictionless as possible. Short sessions, clear progress, done. Resistance lower than compliance.
What's next
Advanced movement recognition — teaching the app what correct mouth positions look like and comparing them in real time to what he actually does. Possible with MediaPipe or TensorFlow.js. On the roadmap.
I got tired of compromising. So I built it myself.
I got tired of compromising. So I built it myself.
I had a site on Squarespace. It looked like Squarespace. Constructor tools give you speed but steal your design decisions. I wanted full control, so I switched to building it myself.
This entire portfolio site — designed in Figma, built in Cursor with AI assistance. Every breakpoint, every animation, exactly as designed.

How it went
I used Cursor as both a build tool and a learning tool. While it wrote the code I asked it to explain every decision — why this component, why this structure. I was building a site and taking a coding course at the same time, on my own codebase, in real time.
The moment it clicked was opening the site on different devices and seeing every breakpoint and animation behave exactly as I'd designed them. No tool making decisions for me.
What it changed
I now understand what I'm actually asking developers to build — not in theory, but from experience. That changes how I design and how I collaborate.
Leobank — a pocket money tracker for my son
Leobank — a pocket money tracker for my son
Cash became useless in Amsterdam — everything is cards or online. But my son still earns money for things he does, and without tracking it we constantly argued about the truth. "I have 20 euros." "No, remember you spent 10 on that game." "No I didn't." Every parent knows this conversation.
Instead of finding an existing app I built one with him, in Google AI Studio, over breakfast at our favourite cafe. One session, one laptop, one very opinionated real user sitting right next to me.

What surprised me: even the simplest possible app immediately exposed real design problems. Confirmation buttons placed too close together — he kept tapping the wrong one. Labels that made sense to me meant nothing to him. And he had feature ideas I hadn't thought of at all — preset amounts, a savings goal. We fixed and added everything right there.
Testing with a 9-year-old is about as honest as usability testing gets. Kids don't work around problems, they just expose them.
He still uses it. The arguments stopped.
The tool I got tired of waiting for.
The tool I got tired of waiting for.
The worst moment in AI-assisted design: you've built up the perfect context in one tool, then you need to switch. Open a new chat. Start over. Explain everything again. Every reference, every constraint, every decision you've already made.
The pieces to solve this exist. They just don't connect. So I'm building the connection — a personal tool where project context lives once: palette, references, tone, constraints, moodboard. One button exports everything to any AI tool in the format it actually understands. A prompt for Claude or ChatGPT, a .cursorrules file for Cursor, a CLAUDE.md for Claude Code.
Building it now. Will open source it when it's ready.

