Colour
#0F172A#F59E0B#F8FAFCAmber never exceeds 5% of the surface. An accent colour that's everywhere stops being an accent.
Interface design — conversion, retention, system
For years I designed screens as frozen states. One screen, one mockup. Except a user rarely spends more than 3 seconds on a “final” screen — the rest of the time they're waiting, transitioning, hesitating. Here's how I design those moments, and what they return.
7 design challenges
Every demo is an app I built and shipped. Scroll through: the problem, the decision, and what came out of it.
Demos play as you scroll
The first 3 seconds
The problem
The splash screen is the one screen 100% of users see. Most apps drop a frozen logo there and pray it loads fast.
The design decision
The orb breathes: inhale, exhale. Loading time becomes a warm-up — not a waiting room. Then a hero animation carries straight into the home, no cut.
Motion soothes. Stillness makes people anxious.
Activation
The problem
My first version of BeeDone put the paywall on screen one. People saw it, some paid, most left — and plenty cancelled after the trial. They never got time to understand the value.
The design decision
Onboarding pushes toward a single act: create your first routine. Prefilled times, days checked by default, a progress bar, and a commitment signature to close the loop.
On Evolum we measured it: a user who completes 3 rituals stays 3 months or more. We rewired the whole onboarding toward those 3 rituals.
Perceived value
The problem
A rideshare driver opens their admin app for one reason: to know what they earned. Bury that number in a “Statistics” tab and you've buried the reason to open the app.
The design decision
Monthly revenue goes in display type, top of screen, above the ride list. Everything else — profile, subscription, settings — drops one level. Hierarchy is choosing what you accept to make less visible.
Built from scratch with a CEO and an art director. They discover the app every week on TestFlight.
Sharing
The problem
A private goal negotiates with itself. You make excuses, nobody knows, you quit at no social cost.
The design decision
The feed turns a goal into a public commitment: photo, likes, comments. Sharing isn't a button at the end of a flow — it's the core of the product loop.
30% of users post their first goal. 20% Day-7 retention, above the social-app average.
Re-engagement
The problem
“You haven't opened the app in 3 days.” That's not a notification, that's a guilt trip. It gets muted within a week.
The design decision
An AI coach reads the user's context and suggests one precise action, now. The notification carries content, not a reminder — the app has a reason to write, not just a wish to be opened.
91% engagement across the 8 AI coaches. Generated imagery drove +40% app opens.
The long loop
The problem
I used a focus app that grew a virtual forest. I'd look at my garden and think: “what is this actually for?” A streak that leads nowhere ends up as decoration.
The design decision
Seasons restart automatically, with a competition and a dated end. A broken streak doesn't erase everything: the next season gives you a way back in. And points buy real rewards — cinema, restaurant, a weekend — not badges.
14.29% Day-7 retention, above the 75th percentile. Grown-ups crave play too.
The system
The problem
The biggest problem with dev-designed apps isn't ugliness. It's inconsistency. A dark mode bolted on afterwards is where it shows: broken contrast, greys invented screen by screen.
The design decision
Every colour is a semantic token — surface, text, accent — not a hex value dropped into a widget. Both themes come out of the same file, so no screen can drift on its own.
Users can't tell you why an app “feels pro.” But their brain detects consistency, or its absence.
The charter
The colours, type and durations below aren't an illustration: they're this site's real tokens, read from the same kind of file that dresses my apps. That's the principle — one file is authoritative, everything else refers to it.
#0F172A#F59E0B#F8FAFCAmber never exceeds 5% of the surface. An accent colour that's everywhere stops being an accent.
display · 600/700corps · 400/500métriques · 400Three families, three roles. Mono is reserved for numbers and code — it signals “data,” not “decoration.”
200-400 ms, ease-out, always. Never bounce or elastic — it's 2026, not 2014.
The method
No Figma. No designer. No three weeks of creative exploration. The real problem was never artistic talent — it's the absence of a coherent reference.
“Premium, calm, trustworthy” doesn't lead to the same place as “fun, energetic, young.” We decide before opening any tool.
Copying the best app in your sector gives you a clone. 30 minutes inside real installed apps — not Dribbble shots that never had to handle an empty state.
4-5 colours, the type and its scale, recurring spacing, radii, component states. That's the design system — not a 200-screen library.
What you borrow is the principles: spacing, hierarchy, density. Not the pixels. And pick a model your size — Spotify's system works because they have 200 designers.
The 4th dimension
The goal isn't for users to notice the animation. It's for them to feel it without seeing it — like a film score: if you notice it, it failed.
Most apps design state 4 and endure the other four.
280ms · ease-out 600ms · elastic targeted shimmer Circular progress says “it's working.” Shimmer says “it's coming.” The hero says “you're in the right place.”
The toolbox
Honestly
I don't start from a blank aesthetic page. I start from a model app, extract a system, and hold it. When there's an AD on the team — like on UpDrive — I work with them, I don't replace them.
I cut rarely-used features on BeeDone. MRR went down. Some features aren't there to be used, they're there to prove the app is complete. Don't confuse usage with perceived value.
In the product: retention first. In the dashboard, as long as you're not paying for acquisition: MRR. Tracking retention with no ad spend is optimising the aerodynamics of a car that has no engine yet.
Conversion, retention, design system: we look at your product together and I tell you where it's leaking.