Most wellbeing apps talk at teenagers.
A student wellbeing platform built around who each teenager actually is — not who we want them to be. 2 surfaces, 7 modules, personality-driven, live on both app stores.
Problem
A teen wellbeing AI app had a concept but no product logic — when to show what, how personality tests fed into content, what unlocked when. No design system existed.
What I did
Designed the full product as sole designer — personalization logic, unlock rules, all screens for iOS and Android. Designed how the product actually thinks.
Outcome
Shipped live on both app stores. The product logic I designed is what runs the personalization engine today.
01 / Context
Kamelion is a student wellbeing platform built for UK secondary school students. The premise is simple but difficult to execute: teenagers don't want to be told they need help. Any product that approaches mental health and personal growth as something clinical, scheduled, or parent-approved will be immediately dismissed. It has to feel like something they chose.
The platform needed two surfaces — a student-facing app with AI-personalised learning, gamified growth, and a structured community, plus an admin panel for school staff to monitor wellbeing trends and manage content. I was brought in as the sole designer to own everything: UX architecture, the complete design system, and the interaction logic for how each module actually works — not just what it looks like.
30 days. No design handoffs before me. No second designer to check the work. The app is now live on both the App Store and Google Play.
02 / Problem
"Every competitor — Calm, Headspace, Wysa — tracked feelings without explaining them, gave content without momentum, built community without safety structure. Students had no reason to return."
The problem with wellbeing apps for teenagers isn't that they're badly designed. It's that they're designed for the wrong moment. They assume a student will set aside twenty minutes, open an app, and consciously engage with their mental health. That moment doesn't exist at 14.
The real challenge: design for return, not just for use. A student might open the app once out of curiosity. Getting them to come back the next day — and the day after — requires designing every interaction as a reason to return. The growth has to feel visible. The progress has to feel real. And critically: missing a day can't feel like failure.
That constraint — design growth as something you can see — shaped every module, every gamification decision, every piece of copy in the app.
03 / Role
Sole designer means there's no hand to pass things to. Every decision — product logic, UX architecture, visual design, interaction states, edge cases, developer handoff — was mine. That scope shapes how you work: you can't design surface-level. You have to design how things actually function.
Designed the complete information architecture across both surfaces — from onboarding flow to module-level navigation. Every screen, every state, every edge case.
Designed how mental gyms, quizzes, challenges, and personality tests actually work — the rules, states, conditional flows, and what gets shown in what scenario.
Defined the conditional logic for personalised content delivery: which modules surface first based on personality profile, growth areas, and usage history.
Architected the coin economy, leaderboard mechanics, challenge logic, and reward structure — designed to motivate without creating anxiety.
Built the component library and token system from scratch in Figma. Student app and admin panel share a design language but have structurally different visual priorities.
Produced complete developer documentation — interaction specs, state diagrams, conditional logic notes — so engineers could build without constant check-ins.
04 / Design Decisions
Each decision was a direct response to a specific failure mode in competing products.
Lessons designed for a school break, not a study session.
The context I was designing for wasn't a teenager sitting down to self-improve. It was a 10-minute school break, a lunch queue, a moment between lessons. Once that's the mental model, every content decision changes. Lessons were capped at 12 minutes. Quizzes were embedded inline — not bolted on at the end. Completion earned coins immediately. The feedback loop had to close within the break. Designing for a context that doesn't actually exist is how apps die.
Coins don't disappear when you miss a day. That was the whole point.
Streaks are a dark pattern disguised as motivation. They feel like they build momentum, but what they actually build is a fear of breaking the chain. For a 14-year-old with exams, social stress, and an unpredictable life, a broken streak isn't a design failure — it's a Tuesday. I designed the coin system so accumulation is never punished by absence. Leaderboards rank activity, not raw scores. Challenges cost coins to enter, creating intentional commitment without fear. Motivation through achievement, not avoidance.
Structure, not surveillance — content safety through design, not policing.
Opening community spaces for teenagers is genuinely risky. The standard response is heavy moderation. The design response is structural relevance. Students can only post in topic spaces matching their active growth areas — self-improvement, mental health, stress, relationships. You can't wander into a space for a topic you haven't engaged with. This filters intent before it becomes a problem. The result is a community that feels personal and relevant, with a moderation burden that's a fraction of what open forums require.
A 14-year-old and a school administrator need the same information. They can't feel like the same app.
The hardest design problem on Kamelion wasn't any individual screen. It was that a student and an administrator needed to interact with the same underlying platform in fundamentally incompatible ways. The student app had to feel light, personal, and game-like — something chosen, not assigned. The admin panel had to feel like professional software: dense data tables, clear status indicators, bulk management, no learning curve. Same data model, same backend — architecturally different UX, different visual language, different interaction patterns from the ground up.
05 / The Logic Layer
The invisible layer — conditional logic, interaction rules, and state design that make the product feel personal.
The foundation of personalisation
The personality test isn't a feature — it's the key that unlocks the rest of the app. I designed the branching logic for what each result combination surfaces: which learning paths appear first, which mental gyms are prioritised, which community spaces are accessible. The test happens once but informs every screen the student sees afterward.
Logic: Result combinations → conditional module unlock + content surfacing priority
Structured exercises, not generic content
Mental gyms are categorised skill-based exercises — resilience, focus, empathy, emotional regulation. I designed which gym is surfaced in which scenario: a student with a stress-dominant profile sees stress management gyms first. A student who's been consistently active in the community space sees social confidence gyms elevated. The gym you see isn't random — it responds to who you are and what you've done.
Logic: Profile + usage pattern → gym surface order + recommended session type
Inline, not appended
Quizzes are embedded inside lessons — not a test you take after. Three formats: multiple choice, true/false, and open reflection prompts. I designed the "no shame" wrong-answer mechanic: a wrong answer shows the correct answer immediately with explanation, then continues. No score deduction, no retry loop. The lesson still completes. Getting something wrong is part of learning, not a reason to stop.
Logic: Wrong answer → instant explanation → lesson continues. No interruption to completion.
Intentional commitment, not passive access
Challenges are time-limited activities that cost coins to enter. I designed the full challenge lifecycle: admin creates and schedules on the admin panel; students discover active challenges in the app; entering requires a coin spend (intentional friction); completion triggers coin reward + leaderboard update. The coin cost isn't a barrier — it's a commitment signal. It makes joining a choice, not a click.
Logic: Admin creates → student discovers → coin spend to join → completion → reward distribution
06 / Platform
A personal wellbeing companion designed to feel like something a teenager chose — not something a school assigned. Personality-driven, gamified, and built to earn the daily return.
Professional-grade oversight dashboard for school administrators. Dense data, clear status indicators, bulk management — designed to require zero training while giving complete visibility.
Each module in the student app feeds into the others — the Health Score, the AI engine, the coin system. Nothing is isolated.
The onboarding test that unlocks the whole platform. Results drive which content, gyms, and spaces are surfaced to each student. Taken once, felt everywhere.
Micro-lessons capped at 12 minutes, with inline quizzes and instant coin rewards. Content is personalised based on profile results and evolving usage patterns.
Structured skill-building exercises categorised by growth area — resilience, focus, empathy, emotional regulation. Surfaced based on personality profile and recent engagement.
Topic-based discussion spaces accessible only when a student is actively working on that growth area. Relevance is built in — not moderated in.
Prompted daily journaling tied to learning content and growth goals. Entries are private but contribute to the AI model's understanding of the student's emotional state.
The economy that ties everything together. Coins earned through lessons and journaling. Challenges cost coins to enter, creating intentional commitment. Leaderboards rank activity, not scores.
The student's personal view of their progress — streaks, completed modules, earned achievements, and a visible record of their growth over time. The "invisible made visible."
07 / Outcome
App is live on both the App Store and Google Play — shipped within the 30-day timeline without a second designer.
Design system delivered and documented: the engineering team extended it independently without returning to me for component questions.
Conditional logic for all 4 core mechanics (personality tests, mental gyms, quizzes, challenges) fully specced and handed off — no ambiguity in how the product actually behaves.
Admin panel adopted with zero training sessions — the clearest signal that a product designed for non-designers actually succeeded.
08 / Reflection
"Being the sole designer means you have to hold the whole product in your head at once. Every screen you design, you're also the reviewer, the QA, the product manager, and the person who has to live with the decision."
Kamelion taught me the difference between designing a product and designing how a product works. Most portfolios show screens. The thing that actually matters — the conditional logic, the interaction rules, the state design for what happens when a 14-year-old gets a quiz wrong at 8am — is invisible. That invisible layer is the real design work.
Working without another designer also clarified what good judgment looks like under pressure. You can't debate every decision. You develop a faster inner framework for what matters and what doesn't. That speed — without losing quality — is something I now carry into every project.
Kamelion is live on both stores.
Download it, use it — the product speaks for itself.
Want to see the full process?
State diagrams, logic flows, the full design system, and the edge cases that made this product actually work — it's all in the file. If you want a walkthrough, let's talk.