Designing recurring revenue into a product built to resist it.
I built Pocket FM's first subscription product without breaking its coin economy.
Problem
Pocket FM needed predictable subscription revenue, but its PPV coin economy drove most of the business. Premium had to grow without weakening that engine.
Solution
I designed Premium across onboarding, paywalls, store, coin-spend nudges, daily unlock states, savings moments, localisation, and reusable Aural components.
Outcome
Subscription grew from zero to ~20% of total revenue. 400K+ active subscribers now use it, and the coin-purchase nudge lifted Premium conversion by 16% while PPV revenue held.
Company
Pocket FM
Duration
Oct 2024 – Present
Role
Senior Product Designer
Markets
India · USA
Design work
The shipped Premium system.
I used these screens to place Premium inside moments where listeners already made decisions: onboarding, paywalls, store, coin spend, daily unlocks, renewal, and cancellation. We folded those patterns into Aural, Pocket FM's design system.
The early screens read like feature lists. I stripped them back to one benefit, kept "Free" as the anchor across trial and paid states, and used show artwork at hero scale so the offer felt tied to the story a listener already cared about.
Image carousel
Subscription surfaces and product states
Store cards, paywalls, onboarding, and coin-spend nudges showing how Premium became legible inside the coin economy.
1 of 4: Full page overlay - I moved Premium from a feature list into one clear value line.
Rive animation
Success state Rive animation
I shaped the post-subscribe success-state idea and collaborated with Harsshavardan S, who led the Rive execution. We used the animation after purchase so the success screen felt like a product moment, not a payment receipt.
The problem
Most revenue came from coins. Premium had to earn its place.
The screens above make the solution look direct. The hard part was the model underneath. When I joined Pocket FM in October 2024, listeners bought coin packs and spent them to unlock episodes. That PPV economy generated most of the revenue.
The business needed a subscription model, but Premium could not behave like a cheap replacement for coins. The constraint was firm: PPVrevenuehadtohold. A generous plan would collapse the coin economy. A restrictive plan would stall conversion.
Users in Tier 2/3 India expected a subscription to unlock the catalogue. Our plan did something narrower: 60 mins of daily free episodes per show plus ad-free listening. After that, paid and free users still met the same coin wall. I had to make extra access feel worth paying for without making coins feel obsolete.
Users kept asking for subscription, so the expectation was clear: more access, less friction, and a value story they could understand in the middle of listening.
There was no prior subscription product. I was starting from zero.
Research foundation
Research reset the V2 brief.
After V1 shipped, our user researcher Rachit Jain ran a qualitative study on R2+ cancellations. He interviewed former subscribers who had used the product and still churned. I was a named DRI on the research plan, sat in on calls, and observed user behaviour.
Rachit helped us see V2 differently. Users saw an unexpected bank debit and cancelled out of anger. They had lost trust in consent, not interest in the product. The phrase that came up repeatedly: "Bina puchhe paisa kaat liya." Money taken without consent.
I reframed the V2 brief around trust repair at renewal, debit, and cancellation moments. I turned that research into three V2 decisions.
A
Premium episode branding
Users could not tell which episodes were unlocked by premium versus their existing free quota. I designed episode-level labelling that made premium unlocks visible inline, so subscribers could see the value every session.
B
Unified unlock UI
Users treated daily unlocks and premium unlocks as separate benefits, then undervalued the plan. I folded both into a single premium unlock count so the total benefit stayed visible.
C
Pause-first cancellation flow
Cancellations peaked in the 48-hour window before renewal, triggered by autopay reminders. I designed a pause-first flow that gave users a middle option, reducing rage-cancels without feeling manipulative.
We had already started the subscription redesign when the research landed. I used the findings to reshape renewal, debit, cancellation, and premium-labelling moments while the system work continued.
Key decisions
The calls behind the screens.
Before locking the model, we ran experiments across every dimension of what a subscription could be: full app access, 120-min daily unlocks, 90-min, catalogue models with a fixed set of free shows, extra coin bundles. Every option broke something. A generous plan would crater PPV revenue. A restrictive plan would stall conversion.
I held the design through that ambiguity. I pressure-tested each construct against two questions: does the user understand what they are getting, and does the business survive if they do? I kept the 60-min daily unlock because users could understand it and PPV could survive it. From that point, I made the model legible, trustworthy, and worth paying for.
Naming the free state
The team wanted to brand the paid tier. I named the free state instead. The daily unlock got a persistent identity across the app: "Free" during trial, "60 mins" after. Same language, same placement, every state.
Created a consistent benefit signal that reduced confusion at the trial-to-paid transition
Introducing the savings frame at the moment of coin spend
Regular coin spenders already paid, so subscription felt pointless to them. I put the savings comparison at the exact moment they spent coins to unlock an episode. Real numbers, at the paywall, at the point of spend.
16% uplift in premium conversion at the coin purchase touchpoint
Pulling back on nudges in V2
After V1, product wanted savings messaging everywhere. I pushed back. Users who understood the offer did not need more prompts. They needed a better product. For V2, I cut nudge frequency and let daily unlock usage do the converting.
Improved session quality; V2 conversion metrics held without the noise
Localisation + video explainers over UI copy alone
In activation data, I saw weak H1 listening and primary show adoption. Tier 2/3 users needed the model explained in language they already used. I added Hinglish video explainers to onboarding and paywall moments, and owned the brief and placement.
Activation and H1 listening recovered after explainers shipped
How it unfolded
Three passes, each with a harder constraint.
2024DEC
V1: Subscription launched
Shipped the first end-to-end subscription experience across India and USA. I built the daily unlock construct, onboarding flow, and paywall surfaces from scratch. Trial adoption hit ~55% on allocation, strong for a product category that did not exist six weeks earlier.
2025APR
Iteration: Upgrade to 2H daily unlock
Expanded the daily benefit from 30 mins to 1 hour on primary shows and 2 hours on others. Adoption rose 5%, total playtime rose 8%, M1 paying users rose 11%, and M2 rose 6%. The subscriber base crossed hundreds of thousands across both markets.
2025DEC
V2: Full revamp
Rebuilt the subscription experience on Aural, Pocket FM's new design system launching on iOS in 2025 and Android in early 2026. I added subscription components to the system library, fixed the drop-offs V1 data flagged, pulled back on over-nudging, and sharpened savings across the funnel.
2026JUN
Current state
Subscription now contributes ~20% of total revenue. 400K+ active subscribers use it across India and USA. iOS launched as an acquisition channel in late 2025 and now contributes to growth in both markets.
Impact in detail
The numbers after the system shipped.
~20%
Subscription as % of total revenue. Started at zero when the product launched.
400K+
Active subscribers across India and USA
55%
Trial adoption rate on allocation at V1 launch
25%
Further listening depth into the subscriber's primary show
1 in 5
Lapsed subscribers return and resubscribe within 90 days organically
16%
Uplift in premium conversion at the coin purchase touchpoint
PPV revenue held throughout. We shipped subscription withouttouchingthecoineconomy. That was the constraint from day one, and the reason the early design decisions mattered.
Repeat behaviour mattered most: a third of Indian subscribers have re-subscribed at least once, and repeat subscribers drive nearly half of India subscription revenue.
Also at Pocket FM
Accessibility: iOS and Android parity
Parallel to subscription work, I took ownership of accessibility across both platforms. The app had no baseline. I audited from first principles: WCAG requirements, touch target sizes, ALT text coverage, VoiceOver and TalkBack behaviour. Documented the gaps, prioritised by severity, and shipped fixes in phases across iOS first, then Android.
I scaled the audit with a Figma plugin called A11Y Assistant. It automates VoiceOver label generation using AI, analyses layer structure, naming conventions, groupings, and interactive regions, then suggests context-aware accessibility labels designers can apply with one click. Shipped internally in March 2026, published on the Figma community.
Image carousel
Accessibility audit and A11Y Assistant plugin
Two states from the plugin workflow: running the audit, then reviewing generated labels in Figma.
1 of 2: A11Y Assistant demo - The plugin checks selected screens and suggests labels before handoff.
A VoiceOver user left this App Store review after Pocket FM released the accessibility fixes.
A few things I would advocate for in any team working on monetisation at scale:
Get upstream earlier.
The most consequential decisions on this project, including the subscription model itself, happened before anyone drew a screen. Designers need to be in that room. I would push for that on day one.
Treat comprehension as a conversion metric.
In markets with complex product models, confusion drives more drop-off than reluctance. The design system needs to account for that. Explainers, localisation, and progressive disclosure belong in the funnel.
Earn the right to say no to nudges.
Pushback on over-nudging only holds if you can point to data. Build the instrumentation in from the start. Do not wait for V2 to diagnose what V1 broke.
Design every subscription state.
A subscription surface has at least five states: trial, active, expired, lapsed, non-subscriber mid-session. Each needs intentional design. Most teams skip the edge states and pay for it in renewal.