01 · CASE STUDY · IOS · 2025—2026

A harm-reduction smoke tracker for people who don’t want another quit-smoking app.

THE PROBLEM

Every cessation app is built for someone who already decided to quit.

Most smokers haven't. The category has no product for the middle.

WHAT I DID

Reframed the product from quitting to tracking. Designed the Decay

Spectrum, a mascot whose state is driven by logged behaviour rather

than streaks. Defined the tone and escalation rules for the in-app

coaching layer.

MY ROLE

Product design end to end. Research, IA, interaction, brand, the illustration system, and AI behaviour design.

STATE

iOS · [FILL: shipped / in build / TestFlight] · [FILL: n] screens ·

Design system, mascot system and coaching rules delivered

01 / THE PROBLEM

Three finding shaped the product. Each one closed off a direction.

Quit apps open by asking for a quit date. That single question filters

out most of the people who need the product, because wanting to smoke

less and being ready to stop are not the same state. The people who

bounce off these apps aren't failing at quitting. They were never the

user the product was designed for.

02 / RESEARCH

Three finding shaped the product. Each one closed off a direction.

Mapping the category on honesty against harm reduction left one quadrant empty. That gap is the product.

CLINICAL

PLAYFUL

QUIT-FOCUSED

HARM-REDUCTION

Smoke Free

Kwit

QuitNow

BrainRot

diff. category

LungsRot

SAME MECHANIC, DIFFERENT SKIN

Every top-ranked app runs on streaks, badges and a countdown. Implication: streak mechanics were unavailable to me. A broken streak punishes exactly the moment the user most needs the app open.

THE TONE IS THE DEALBREAKER

Reviews complain about tone far more than about features. Implication: voice was a product decision, not a copy pass.

RELAPSE ENDS THE RELATIONSHIP

Users delete the app after a relapse, not before it. Implication: the product had to be designed for the bad day, not the good one.

03 / THE REFRAME

Nobody wants another quit-smoking app.

People want to see what they’re doing

to themselves.

NO QUIT DATE

The app never asks when you plan to stop. It tracks what you actually do and shows you the consequence.

YOUR PACE, NO SERMON

No goals are set for you and nothing is congratulated. The product's only job is to be accurate.

CONSEQUENCE IN THE FOREGROUND

The AI lives in push notifications, not a chat window. Three messages a day at most, so the product respects your time instead of competing for it.

BUILT FOR THE BAD DAY

A relapse changes the mascot's state and nothing else. No reset, no lost progress, no lecture.

04 / HOW IT WORKS

One loop: log, see the change, decide what to do with that.

01

Onboarding

02

Core app

03

Logging flow

04

Milestones & Streak Broken

05

AI Coach & empty states

05 / THE MASCOT

The mascot is the product's whole emotional hook, so I built it as a state machine, not a drawing. The states are grouped into four families and driven by two layers: a color scale for how sick the lungs look, and a pose set for how the character reacts in the moment. The set is deliberately open, so states get added or cut as the product finds its v1 without reworking the system.

HOME / STREAK

Fresh Start

Healthy

Thriving

Celebrating

CRAVING FLOW

Craving Alert

Coaching

Victory

Smoking

DAMAGE

Disappointed

Damaged

Critical

Recovering

ACTIVITY & SPECIAL

Energized

Peeking

Chatting

Sleeping

ANIMATION PIPELINE

MidJourney explorations

Vector cleanup

Figma states

Lottie animation

Runs in the app

The badge system I built and killed

The mascot doubles as the reward. Each smoke-free milestone is a badge it stars in, and the scene clears as the streak grows, from a smoggy first day to a crowned year.

06 / BUSINESS MODEL

FREE, THE EMOTIONAL LOOP

The mascot, logging, streaks, and the reduction-vs-baseline metric: everything that makes the app feel alive, stays free. Paywalling the character would break the relationship the product depends on.

PREMIUM, $3.99/MO OR $24.99/YR

Power-user utility instead: AI coaching nudges, cost tracking, 30-day-plus history, Apple Watch, and shareable progress cards.

GROWTH: 100% ORGANIC BY POLICY, NOT BY BUDGET

Ad platforms ban smoking-related products, so paid acquisition is off the table by definition. Growth is organic by necessity: ASO, creator partnerships, and build-in-public, with BrainRot as proof the playbook can work. Targets: 8%+ paywall conversion, 30%+ D7 retention, $2K MRR in the first 90 days.

THE ONE DECISION I REVERSED

Milestone badges launched behind the paywall. I moved them free once it was clear they belong to the motivation loop, not the perk list. A conversion metric shouldn't come at the cost of the retention loop.

07 / DELIBERATE OMISSIONS

NO STREAKS

A counter that resets punishes the exact moment the user most needs the app open.

NO HEALTH-SCARE IMAGERY

No diseased lungs, no mortality countdown, no pack-warning photography. Fear is a one-time hit and the product has to still work on day 300.

NO COMMUNITY

No feed, no leaderboard, no accountability partner. The product's premise is a private relationship with your own behaviour, and an audience changes what people log.

NO QUIT DATE

The app never asks when you plan to stop. It is the one question that filters out the user this product is for.

08 / OPEN QUESTIONS

01

Substance selector

The product is substance-agnostic internally, but does surfacing the choice help, or just add friction?

02

Relapse curve shape

Should the mascot jump straight to the worst state after a heavy day, or decay gradually? Gradual is more forgiving but might feel less visceral.

03

Onboarding depth

The short onboarding assumes light context. Is a longer, more diagnostic flow worth the extra drop-off?

04

Pricing anchor

$3.99/mo trial-first vs $24.99/yr annual-hero: does leading with the annual price convert better, or just train people to wait for a discount?

Next · Clarity →

01 · CASE STUDY · IOS · 2025—2026

A harm-reduction smoke tracker for people who don’t want another quit-smoking app.

THE PROBLEM

Every cessation app is built for someone who already decided to quit.

Most smokers haven't. The category has no product for the middle.

TEAM

Reframed the product from quitting to tracking. Designed the Decay

Spectrum, a mascot whose state is driven by logged behaviour rather

than streaks. Defined the tone and escalation rules for the in-app

coaching layer.

MY ROLE

Product design end to end. Research, IA, interaction, brand, the illustration system, and AI behaviour design.

STATE

iOS · [FILL: shipped / in build / TestFlight] · [FILL: n] screens ·

Design system, mascot system and coaching rules delivered

01 / THE PROBLEM

Every cessation app is built for a user

who has already decided to quit.

Quit apps open by asking for a quit date. That single question filters

out most of the people who need the product, because wanting to smoke

less and being ready to stop are not the same state. The people who

bounce off these apps aren't failing at quitting. They were never the

user the product was designed for.

02 / RESEARCH

Three findings shaped the product. Each one closed off a direction.

CLINICAL

PLAYFUL

QUIT-FOCUSED

HARM-REDUCTION

Smoke Free

Kwit

QuitNow

BrainRot

diff. category

LungsRot

SAME MECHANIC, DIFFERENT SKIN

Every top-ranked app runs on streaks, badges and a countdown. Implication: streak mechanics were unavailable to me. A broken streak punishes exactly the moment the user most needs the app open.

THE TONE IS THE DEALBREAKER

Reviews complain about tone far more than about features. Implication: voice was a product decision, not a copy pass.

RELAPSE ENDS THE RELATIONSHIP

Users delete the app after a relapse, not before it. Implication: the product had to be designed for the bad day, not the good one.

Mapping the category on honesty against harm reduction left one quadrant empty. That gap is the product.

03 / THE REFRAME

Nobody wants another quit-smoking app.

People want to see what they’re doing

to themselves.

Every product decision downstream comes from that line.

NO QUIT DATE

The app never asks when you plan to stop. It tracks what you actually do and shows you the consequence.

YOUR PACE, NO SERMON

No goals are set for you and nothing is congratulated. The product's only job is to be accurate.

CONSEQUENCE IN THE FOREGROUND

The mascot's condition is the interface. You don't read a chart, you look at something that is visibly worse than yesterday.

BUILT FOR THE BAD DAY

A relapse changes the mascot's state and nothing else. No reset, no lost progress, no lecture.

04 / HOW IT WORKS

One loop: log, see the change, decide what to do with that.

01

Onboarding

02

Core app

03

Logging flow

04

Milestones & Streak Broken

05

AI Coach & empty states

05 / THE MASCOT

One character, many states.

The mascot is the product's whole emotional hook, so I built it as a state machine, not a drawing. The states are grouped into four families and driven by two layers: a color scale for how sick the lungs look, and a pose set for how the character reacts in the moment. The set is deliberately open, so states get added or cut as the product finds its v1 without reworking the system.

A SELECTION OF STATES

The mascot has a wide, growing range. These are some of the main ones, grouped by what triggers them. States get added or dropped as the app evolves.

HOME / STREAK

Fresh Start

Healthy

Thriving

Celebrating

CRAVING FLOW

Craving Alert

Coaching

Victory

Smoking

DAMAGE

Disappointed

Damaged

Critical

Recovering

ACTIVITY & SPECIAL

Energized

Sleeping

Chatting

Peeking

ANIMATION PIPELINE

MidJourney explorations

Vector cleanup

Figma states

Lottie animation

Runs in the app

The badge system I built and killed

The mascot doubles as the reward. Each smoke-free milestone is a badge it stars in, and the scene clears as the streak grows, from a smoggy first day to a crowned year.

06 / BUSINESS MODEL

Monetize the utility, never the emotion.

FREE, THE EMOTIONAL LOOP

The mascot, logging, streaks, and the reduction-vs-baseline metric: everything that makes the app feel alive, stays free. Paywalling the character would break the relationship the product depends on.

PREMIUM, $3.99/MO OR $24.99/YR

Power-user utility instead: AI coaching nudges, cost tracking, 30-day-plus history, Apple Watch, and shareable progress cards.

THE ONE DECISION I REVERSED

Milestone badges launched behind the paywall. I moved them free once it was clear they belong to the motivation loop, not the perk list. A conversion metric shouldn't come at the cost of the retention loop.

GROWTH: 100% ORGANIC BY POLICY, NOT BY BUDGET

Ad platforms ban smoking-related products, so paid acquisition is off the table by definition. Growth is organic by necessity: ASO, creator partnerships, and build-in-public, with BrainRot as proof the playbook can work. Targets: 8%+ paywall conversion, 30%+ D7 retention, $2K MRR in the first 90 days.

07 / DELIBERATE OMISSIONS

The real design decisions were deletions.

NO STREAKS

A counter that resets punishes the exact moment the user most needs the app open.

NO HEALTH-SCARE IMAGERY

No diseased lungs, no mortality countdown, no pack-warning photography. Fear is a one-time hit and the product has to still work on day 300.

NO COMMUNITY

No feed, no leaderboard, no accountability partner. The product's premise is a private relationship with your own behaviour, and an audience changes what people log.

NO QUIT DATE

The app never asks when you plan to stop. It is the one question that filters out the user this product is for.

08 · OPEN QUESTIONS

01

Substance selector

The product is substance-agnostic internally, but does surfacing the choice help, or just add friction?

02

Relapse curve

Should the mascot jump straight to the worst state after a heavy day, or decay gradually? Gradual is more forgiving but might feel less visceral.

03

Onboarding depth

The short onboarding assumes light context. Is a longer, more diagnostic flow worth the extra drop-off?

04

Pricing anchor

$3.99/mo trial-first vs $24.99/yr annual-hero: does leading with the annual price convert better, or just train people to wait for a discount?

← Back to all work

Next · Clarity →

01 · CASE STUDY · IOS · 2025—2026

A harm-reduction smoke tracker for people who don’t want another quit-smoking app.

THE PROBLEM

Every cessation app is built for someone who already decided to quit.

Most smokers haven't. The category has no product for the middle.

WHAT I DID

Reframed the product from quitting to tracking. Designed the Decay

Spectrum, a mascot whose state is driven by logged behaviour rather

than streaks. Defined the tone and escalation rules for the in-app

coaching layer.

MY ROLE

Product design end to end. Research, IA, interaction, brand, the illustration system, and AI behaviour design.

STATE

iOS · [FILL: shipped / in build / TestFlight] · [FILL: n] screens ·

Design system, mascot system and coaching rules delivered

01 / THE PROBLEM

Every cessation app is built for a user

who has already decided to quit.

Quit apps open by asking for a quit date. That single question filters

out most of the people who need the product, because wanting to smoke

less and being ready to stop are not the same state. The people who

bounce off these apps aren't failing at quitting. They were never the

user the product was designed for.

8.8%

Of adults who smoke, 67.7% say they want to quit and 53.3% try each year.

8.8% succeed.

SOURCE: CDC, ADULT SMOKING CESSATION, UNITED STATES, 2022

02 / RESEARCH

Three findings shaped the product. Each one closed off a direction.

SAME MECHANIC, DIFFERENT SKIN

Every top-ranked app runs on streaks, badges and a countdown. Implication: streak mechanics were unavailable to me. A broken streak punishes exactly the moment the user most needs the app open.

THE TONE IS THE DEALBREAKER

Reviews complain about tone far more than about features. Implication: voice was a product decision, not a copy pass.

RELAPSE ENDS THE RELATIONSHIP

Users delete the app after a relapse, not before it. Implication: the product had to be designed for the bad day, not the good one.

CLINICAL

PLAYFUL

QUIT-FOCUSED

HARM-REDUCTION

Smoke Free

Kwit

QuitNow

BrainRot

diff. category

LungsRot

Mapping the category on honesty against harm reduction left one quadrant empty. That gap is the product.

03 / THE REFRAME

Nobody wants another quit-smoking app. People want to see what they’re doing to themselves.

NO QUIT DATE

The app never asks when you plan to stop. It tracks what you actually do and shows you the consequence.

YOUR PACE, NO SERMON

No goals are set for you and nothing is congratulated. The product's only job is to be accurate.

CONSEQUENCE IN THE FOREGROUND

The mascot's condition is the interface. You don't read a chart, you look at something that is visibly worse than yesterday.

BUILT FOR THE BAD DAY

A relapse changes the mascot's state and nothing else. No reset, no lost progress, no lecture.

04 / HOW IT WORKS

One loop: log, see the change, decide what to do with that.

01

Onboarding

02

Core app

03

Logging flow

04

Milestones & Streak Broken

05

AI Coach & empty states

05 / THE MASCOT

The mascot is the product's whole emotional hook, so I built it as a state machine, not a drawing. The states are grouped into four families and driven by two layers: a color scale for how sick the lungs look, and a pose set for how the character reacts in the moment. The set is deliberately open, so states get added or cut as the product finds its v1 without reworking the system.

HOME / STREAK

Fresh Start

Healthy

Thriving

Celebrating

CRAVING FLOW

Craving Alert

Coaching

Victory

Smoking

DAMAGE

Disappointed

Damaged

Critical

Recovering

ACTIVITY & SPECIAL

Energized

Peeking

Chatting

Sleeping

ANIMATION PIPELINE

MidJourney explorations

Vector cleanup

Figma states

Lottie animation

Runs in the app

The badge system I built and killed

The mascot doubles as the reward. Each smoke-free milestone is a badge it stars in, and the scene clears as the streak grows, from a smoggy first day to a crowned year.

06 / BUSINESS MODEL

FREE, THE EMOTIONAL LOOP

The mascot, logging, streaks, and the reduction-vs-baseline metric: everything that makes the app feel alive, stays free. Paywalling the character would break the relationship the product depends on.

PREMIUM, $3.99/MO OR $24.99/YR

Power-user utility instead: AI coaching nudges, cost tracking, 30-day-plus history, Apple Watch, and shareable progress cards.

GROWTH: 100% ORGANIC BY POLICY, NOT BY BUDGET

Ad platforms ban smoking-related products, so paid acquisition is off the table by definition. Growth is organic by necessity: ASO, creator partnerships, and build-in-public, with BrainRot as proof the playbook can work. Targets: 8%+ paywall conversion, 30%+ D7 retention, $2K MRR in the first 90 days.

THE ONE DECISION I REVERSED

Milestone badges launched behind the paywall. I moved them free once it was clear they belong to the motivation loop, not the perk list. A conversion metric shouldn't come at the cost of the retention loop.

07 / DELIBERATE OMISSIONS

NO STREAKS

A counter that resets punishes the exact moment the user most needs the app open.

NO HEALTH-SCARE IMAGERY

No diseased lungs, no mortality countdown, no pack-warning photography. Fear is a one-time hit and the product has to still work on day 300.

NO COMMUNITY

No feed, no leaderboard, no accountability partner. The product's premise is a private relationship with your own behaviour, and an audience changes what people log.

NO QUIT DATE

The app never asks when you plan to stop. It is the one question that filters out the user this product is for.

08 / OPEN QUESTIONS

01

Substance selector

The product is substance-agnostic internally, but does surfacing the choice help, or just add friction?

02

Relapse curve shape

Should the mascot jump straight to the worst state after a heavy day, or decay gradually? Gradual is more forgiving but might feel less visceral.

03

Onboarding depth

The short onboarding assumes light context. Is a longer, more diagnostic flow worth the extra drop-off?

04

Pricing anchor

$3.99/mo trial-first vs $24.99/yr annual-hero: does leading with the annual price convert better, or just train people to wait for a discount?

← Back to all work

Next · Clarity →