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, and almost nothing serves 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. LungsRot is a founder-owned product. I led its design and delivered the design system, the mascot states and the coaching rules.
STATE
iOS · Design complete, handed off · 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.
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.
One app is already in this quadrant. Lung Rot shipped in 2024 on the same premise: no quit date, log each use, watch a cartoon lung get worse. It proves the mechanic works. Two things I would do differently. It asks you to pick a daily reduction pace, which is a goal wearing a different hat, and this product sets none. And its lung is one 20-stage scale, where the Decay Spectrum separates how sick the lungs look from how the character reacts, so a bad day changes the pose without wiping the damage state.
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 & Relapse


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, milestones, 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, THE POWER-USER LAYER
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.
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 PUNISHING 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.
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, and almost nothing serves 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. LungsRot is a founder-owned product. I led its design and delivered the design system, the mascot states and the coaching rules.
STATE
iOS · Design complete, handed off · 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.
One app is already in this quadrant. Lung Rot shipped in 2024 on the same premise: no quit date, log each use, watch a cartoon lung get worse. It proves the mechanic works. Two things I would do differently. It asks you to pick a daily reduction pace, which is a goal wearing a different hat, and this product sets none. And its lung is one 20-stage scale, where the Decay Spectrum separates how sick the lungs look from how the character reacts, so a bad day changes the pose without wiping the damage state.
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
FREE, THE EMOTIONAL LOOP
The mascot, logging, milestones, 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.
07 / DELIBERATE OMISSIONS
The real design decisions were deletions.
✕
NO PUNISHING 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.
← Back to all work
Next · Clarity →
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, and almost nothing serves 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. LungsRot is a founder-owned product. I led its design and delivered the design system, the mascot states and the coaching rules.
STATE
iOS · Design complete, handed off · 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
One app is already in this quadrant. Lung Rot shipped in 2024 on the same premise: no quit date, log each use, watch a cartoon lung get worse. It proves the mechanic works. Two things I would do differently. It asks you to pick a daily reduction pace, which is a goal wearing a different hat, and this product sets none. And its lung is one 20-stage scale, where the Decay Spectrum separates how sick the lungs look from how the character reacts, so a bad day changes the pose without wiping the damage state.
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 & relapse


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, milestones, 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, THE POWER-USER LAYER
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.
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 PUNISHING 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.
← Back to all work
Next · Clarity →