Case study · brand + product, done end to end · 2025 / 26

Mom was right.
It’s that damn phone.

ZenMode is an open-source, offline-first Android launcher that turns the volume down on your phone. It also ships the world’s first buddy accountability feature inside a launcher (I looked, nobody had done it). I owned all of it: brand, product, a token-driven design system, a physical focus gadget, and the analytics that prove the whole thing isn’t just vibes.

Top 10%at the FOSS United ’26 hackathon
6 touchpointsapp, gadget, brand, stickers, system, community
1stbuddy feature in any launcher, ever
Opensource, offline-first, nosy-free
01 Context & overview

One product.
The whole circus.

It started as a weekend hackathon launcher and refused to stay small. It grew into brand, merch, a physical gadget, and a real growth loop. A designer-led 0→1, built loudly in public.

RoleFounding designer

Brand, product design, the design system, motion, and the analytics wiring. Basically all of it.

TimelineHackathon → live

A FOSS United ’26 sprint that quietly became a real Play Store launcher.

ToolkitFigma · Android · PostHog

Figma variables and tokens, native Android, and PostHog watching the whole thing.

CrewFOSS United Chennai

Shipped open-source alongside the Chennai FOSS community. Good people.

02 Problem space

The home screen
is the first fight.

“Bro, hear me close. Life is too short. You get about 4,000 weeks. Let’s make ’em count.” The little speech behind every decision on this project.

Every doom-scroll starts on the home screen. Screen-time dashboards tell you the bad news after it happens, and blockers feel like getting grounded, so they get uninstalled by Tuesday. The one surface you touch a hundred times a day was just... sitting there, doing nothing helpful.

So the bet was: make mindfulness ambient and social instead of bossy. The rules I gave myself shaped everything. It had to be offline-first (your data stays home), open source (trust, but verifiable), and live inside Android’s launcher sandbox, where every permission is one more place a signup quietly dies.

03 Research & discovery

Poke at it until
the patterns confess.

Behaviour research, a pile of competitor launcher audits, and mindful-tech studies all pointed at the same six truths. Here they are.

01

Awareness beats blocking

Hard blockers get switched off. A gentle nudge in the moment gets tolerated, and even repeated.

02

Guilt kills retention

Shaming dashboards make people close the app and feel bad. Playful framing makes them come back.

03

Accountability is social

People change for a friend, not a chart. Nobody wants to lose the screen-time battle to their buddy.

04

Permissions are the funnel

Usage, notification, overlay, and accessibility grants are exactly where installs quietly go to die.

05

Ugly never goes default

A launcher is on-screen all day. If it isn’t genuinely nice to look at, nobody makes it their home.

06

Privacy is the promise

A wellbeing app that phones home is a bit of a hypocrite. Offline-first is a brand value here, not a footnote.

04 Process & iterations

Sketch, ship,
snoop, repeat.

Low-fi flows became a shipped launcher fast, then every change after that took orders from real PostHog behaviour instead of my opinions.

01Frame

Nail down the mindful home screen and the scariest thing to test first.

02Sketch

Rough flows for onboarding, permissions, the overlay, and buddy pairing.

03System

Figma variables and components so screens stay tidy at speed.

04Ship

Native Android to the Play Store, out in the open, source and all.

05Measure

PostHog funnels rat out the drop-off, and the next round listens.

ZenMode launcher home screen with buddy battle stats, streak counter, and search bar
Hi-fi · launcher homeBuddy battle
A

Glanceable stats

Your screen time and your buddy’s sit side by side on the home screen. A live scoreboard, not a guilt trip.

B

Streaks that stick

A visible streak turns a good day into a run you really don’t want to break.

C

Search-first calm

A quiet grid and one search bar, instead of the usual wall of dopamine icons.

Straight from the store

The actual
Play Store listing.

Five frames, exactly as they ship: mindful screentime, a zen buddy, a shared journey, mindful unlocks, and the doom-scroll intervention going “bro, we’re losing zen”.

ZenMode Play Store frame: Mindful Screentime, your first step towards mindful digital time ZenMode Play Store frame: Have a zen buddy, company your friend on the mindfulness journey ZenMode Play Store frame: Share your Journey, your zen buddy loved your progress ZenMode Play Store frame: Mindful Unlocks, 00 hours 37 minutes screen time with a mindfulness meter ZenMode Play Store frame: Mindful Scrolls, a doom-scroll overlay over Instagram saying we're losing zen
05 Foundations & components

A design system
that actually lives.

Type, grid, icons, and components, documented as a public, MCP-ready system. So the brand scales from one screen to the whole ecosystem without me babysitting it.

TypeManrope & DM Sans

Geometric display for confidence, humanist body for calm, readable UI.

IconMonoline set

One stroke weight, rounded joins, same across app, gadget, and web.

SurfaceCard system

Rounded, elevated cards carrying stats, overlays, and settings the same way everywhere.

DeliveryV2 · MCP-ready

A tidy system shell with launcher patterns and machine-readable tokens.

Poke around the ZenMode design system
06 Variables & tokens

Semantic tokens,
one source of truth.

Every colour is a semantic Figma variable pointing at a global token. So light, dark, and the physical gadget all resolve from the same names. Change the meaning once, not a hundred hex codes by hand.

bg-primary#000000

Main app background.

bg-secondary#1A1A1A

Cards, inset areas, tab bars.

surface-elevated#1A1A1A

Modals & popups with shadow.

text-primary#FFFFFF

Headings & primary body text.

text-secondary#A3A3A3

Subtitles & captions.

text-brand#00C700

zen-base · touch feedback.

action-primary#007700

zen-dark · solid buttons.

border-focus#24FF24

Active input & focus ring.

Exported as W3C design tokens (.tokens.json) from Figma variables, all pointing at the Global Tokens collection.

07 Modes showcase

One language,
three moods.

The same semantic system runs light and dark UI and the gadget’s ambient ring. Colour carries meaning, so focus, reminder, and break read instantly no matter where you are.

FocusGreen · zen-base

Deep-work mode. The ring glows a calm green. You’re in the zone and the streak is safe.

ReminderAmber · nudge

A soft amber tap on the shoulder when you drift. Noticed, never naggy.

BreakRed · doom-scroll

Red means a line got crossed. Time to look up and take a breather.

08 Modules

Three loops,
one habit.

The product is built from three reusable behaviour modules. Each one is measured on its own, and each one only earns its place if it lifts retention.

M1

Screen-time awareness

Your usage lives on the home screen as a playful, glanceable stat, not buried six taps deep in settings. Awareness right when it counts, every unlock.

app_first_opendoom_scroll_thresholdmindfulness_meter
M2

Doom-scroll intervention

After roughly 20 minutes of mindless scroll, a gentle overlay shows up. “Remind me in 4h” respects your call, because the goal is a behaviour change, not a jump-scare.

overlay_shownoverlay_action_takenremember_me: 4h
M3

Buddy accountability · world first

Pair up with a friend and your screen-times duke it out live on each other’s home screen. The first social accountability loop ever built into a launcher, and honestly the most fun part.

buddy_share_startedbuddy_code_pastedbuddy_connected
09 Designs across touchpoints

Six touchpoints.
One zone.

ZenMode isn’t just a screen, it’s a whole vibe that spreads. The brand holds together from an app icon to a physical gadget to a sticker on someone’s laptop.

01

The launcher

A mindful, good-looking Android home screen. The core product, live on the Play Store.

Android · #InMyZone
02

Focus companion

A physical desk gadget with an ambient LED ring and a screen-time display.

IoT · offline-first
03

Brand & campaign

The “Mom was right” hero, the neon-green system, and a voice that’s bold, warm, and relentlessly positive.

Marketing · Play listing
04

Sticker pack

Real merch that turns users into walking billboards. A five-frame sticker sheet.

Physical · community
05

Design system

A public, MCP-ready token system so contributors can extend the brand without breaking it.

Docs · open source
06

Community & code

Shipped in the open with FOSS United Chennai. The repo counts as a touchpoint too.

GitHub · FOSS
10 Sticker sheet

Merch that
travels.

Five frames of pure ZenMode energy: mindfulness meters, buddy faces, a 4,000-weeks reality check, some deep-work code, and FOSS Chennai pride. Only positive vibes allowed.

ZenMode #InMyZone sticker sheet: mindfulness meter, meditating zen sun, buddy faces, a streak crown, a 4,000-weeks reminder, deep-work terminal code, a lion, and FOSS United Chennai

Real booth stickers, printed for FOSS United Chennai. Broh, don’t ghost us. Drop your ZenMode vibes and tag @ZenMode on LinkedIn.

11 The tangible product

Focus, made
physical.

A privacy-first desk companion that takes ZenMode off the screen entirely. An ambient LED ring, a dot-matrix screen-time display, USB-C, a speaker. Thoughtfully over-engineered, every layer.

ZenMode focus companion industrial design board: focus, reminder and break LED modes, companion app, USB-C charging, screen-time display, speaker, exploded engineering view, and feature icons
RingAmbient LED

Soft glow, always subtle. Focus, reminder, and break at a glance.

DisplayScreen-time dots

“2H 34M” on a dot-matrix face. Clear, and always in view.

PowerUSB-C · 4-dot

Charge with zero fuss, check the battery at a glance.

PromiseOffline first

Pocketable, minimal, timeless. No tracking, not now, not ever.

12 Measured with PostHog
Project: Zenmode_V2Funnels · Retention · Paths

PMF is a signal,
not a feeling.

Every loop is wired up. Four funnels answer the only question worth asking: is this actually valuable, again and again? Retention, measured with PostHog’s built-in analysis, is the honest answer.

Retention · the PMF signal

Do they come back?

The strongest sign the product is worth something on repeat. D1, D7, D30, plus stickiness among the people who finish the core loops.

day_1_activeday_7_activeday_30_active
D1 / D7 / D30 retention· PostHog Retention analysis
Activation · PMF funnel

Setup & first buddy

Install, to connected buddy, to retained. Where permissions and pairing decide whether the first session even survives.

app_first_openonboarding_startedpermission_grantedlauncher_set_defaultsetup_completedbuddy_connectedretention_day_30_active
setup_completed / app_first_open· end-to-end conversion
Intervention · doom-scroll

Noticed, tolerated, useful

Not “did we interrupt?” but “did the interrupt change anything or just get swatted away?” The 24h repeat rate is the tell.

doom_scroll_threshold_reachedoverlay_shownoverlay_dismissedremember_me_selectedoverlay_action_taken
action_taken / overlay_shown· + 24h repeat rate
Social · buddy loop

Real accountability?

Only worth anything if connected users stick around better than solo ones. That gap is the proof the world-first feature actually does something.

buddy_share_startedbuddy_code_copiedorbuddy_code_sharedbuddy_code_pastedbuddy_connected
buddy_connected / share_started· retention uplift for pairs

The event taxonomy

Sixteen events, tight little property lists, one clear firing rule each. The plumbing behind every funnel up there.

Event namePropertiesWhen it fires
app_first_opensourcedeviceInstall + first launch
onboarding_startednoneUser advances past intro
permission_screen_viewedpermission_typeBefore each permission dialog
permission_grantedpermission_type: usage|notif|overlay|accPermission approved
launcher_set_defaultsuccess: true/falseDefault launcher set
setup_completedtime_taken_secpermissions_granted_countAll setup done
doom_scroll_threshold_reachedapp_name20 min mindless scroll
overlay_showntype: doom_scrollOverlay appears
overlay_dismissedtype: doom_scrollUser closes overlay
remember_me_selectedduration: 4h“Don’t remind for 4h” clicked
overlay_action_takenaction: mindful|skip|openAny overlay response
buddy_share_startedmode: manual|randomUser starts buddy flow
buddy_code_copiedmode: manual|randomCode copied
buddy_code_sharedchannel: whatsapp|smsCode shared externally
buddy_code_pastedmode: manual|randomOther user pastes code
buddy_connectedmode: manual|randomBuddy pair confirmed
ZenMode focus companion with glowing green ambient ring

13 · the design across the journey

From screen
to space.

Keep scrolling. Here’s how one mindful idea travels from a launcher, through a system, into a physical thing, and out into a community.

01 · APP

It starts on the home screen

The launcher makes screen-time ambient and social. The very first surface of the brand.

FocusReminderBreak
02 · SYSTEM

Tokens keep it honest

Semantic variables carry the same meaning from pixels to LED, so nothing quietly drifts.

2H 34M
03 · OBJECT

Then it leaves the screen

The companion gadget brings focus to your desk. Offline, ambient, and pleasantly real.

No tracking · ever
04 · COMMUNITY

And spreads in the open

Shipped with FOSS United Chennai. Open source, buddy-powered, #InMyZone.

14 Reflections & learnings

Ship in public.
Let data decide.

“The buddy feature only counts if paired users actually stick around longer. Everything else is just a nice screenshot.” The thing that kept me honest.

What worked

Making mindfulness playful and social instead of restrictive turned a wellbeing app into something people actually keep. The launcher-native buddy loop is genuinely new, and genuinely fun.

What I’d change

Permissions are the funnel, full stop. I’d instrument and redesign the grant flow even earlier, because that’s where the biggest silent drop-off is hiding.

What’s next

Prove the retention bump for connected pairs, harden the design system for contributors, and drag the physical companion from render to real prototype.