Self-Talk+

A daily self-talk app, rebuilt from the ground up and growing again.

Problem
A long-running subscription app on an aging, unserviceable codebase, with a basic experience and known bugs.
My role
Product design and engineering. I rebuilt the app from scratch in React Native and Supabase, and I still design and maintain it.
Result
The annual plan's share of new trials more than doubled, and paying subscribers went from shrinking every month to growing.
FIG. 1Programs, home, the player, and read-along captions.
Role
Everything: product design, React Native app, Supabase backend, web checkout, admin tools, releases, and ongoing maintenance.
Team
Me, with one of the owners as my product partner
When
Jan 2026 – now
Workshop Labs, contract
Built with
React Native, Expo, Supabase, Stripe, PostHog, Sentry, ElevenLabs
Links
WebsiteApp StoreGoogle Play

01Context

Self-Talk+ is a subscription app of daily self-talk audio programs, from a brand that has been around since 1981, with more than 5,000 five-star ratings. The app had been handed from developer to developer for years, and it ran on an aging Flutter and Firebase stack with known bugs, including people who cancelled and kept their access.

In January 2026 I rebuilt the app from the ground up in React Native and Supabase, and redesigned the product along the way. I design, build, and maintain it, with one of the owners as my product partner.

02Constraints

A

A launch with no disruption.

Subscribers kept using the app the whole time, so the switch couldn't interrupt payments or the live app.

B

A complete data migration.

All of the app's data had to move to the new database, intact, as part of the switch.

C

Support ready on day one.

The support team had to know the new app before customers started asking about it.

03Onboarding

Most people didn't know where to start.

  1. Pick up to two focus areasConfidence, peace of mind, relationships, career, health, or goals.
  2. Pick what feels trueEach statement is written for one program. Pick up to three.
  3. Rank themWhat do you want to tackle first?
  4. Get your starting programYour first pick becomes the program you start with.
  5. Ready to focusIt becomes My Focus on Home, with a daily listening goal and three habits that make it stick.
TRY IT · THE REAL ONBOARDING

04Decisions

Built like the music apps people already use.

In the old app, a program opened as a sheet of navy cards under a yellow Play Full Program bar, and the player was a title, a cover, and a few controls. Some listeners play a whole program in order, and others want one session on repeat, so a program now works like an album: its sessions are tracks you can play in order or on their own, queue, favorite, download, or add to your own playlists, and a mini player follows you around the app.

BEFORE / AFTER · THE APPDRAG TO COMPARE · BOTH SIDES SCROLL
FIG. 5Before: the original app's program screen and player, rebuilt from its code. After: the new ones, working. Drag the divider across both; every screen scrolls.

Fixing the UX of the basics.

At its core, the old app did four things: downloads, favorites, playlists, and playing a whole program or a single session. They all worked in the most basic way, but the flows were clunky, and it wasn’t always clear what a tap would do. My goal was that nothing in the app needed explaining.

So I filled in what a modern audio app has, and made each part behave the way people already expect, since almost everyone knows how those apps work. A new Library holds your favorites, downloads, playlists, and the audiobooks we added. A queue lets you add sessions and swipe away the ones you don’t want, and from the player you can jump to any session’s program, even when you started it from a playlist. If you try to do something, it works the way you’d expect.

Voices and read-along captions.

Shad Helmstetter’s self-talk programs started on cassette tapes in the 1980s, narrated by Shad himself. Other narrators, men and women, recorded later programs, but the old app offered one recording per program and no captions. I rebuilt playback so a session can have several recordings, each with read-along captions, and you choose the voice. Tapping a line jumps the audio there.

A recent batch of programs was only recorded in a female voice Shad had approved, and listeners kept asking for a male one. An AI voice reading the script wasn’t an option: Shad is particular about delivery, and each line is repeated in a few different ways so it lands more than once. So I used ElevenLabs to map a male voice onto her recordings, keeping her timing and delivery.

PROTOTYPE · THE PLAYER
FIG. 6The real player, audio, and captions from Self-Talk for Positive Living. Switch the voice under the phone: the male voice is ElevenLabs, mapped onto the original female recording.

05Building it

The app, and everything around it.

I ported the app to React Native in the first days, moved it off Firebase onto Supabase within the week, and kept shipping from there, about eight months and 13 releases on my own. Along with the app, I built what runs around it: the web checkout and the book download, analytics in PostHog, and campaign tagging, so every ad and campaign link carries its source through signup into Stripe, and purchases go back to Meta as conversions.

Support was part of the build. An admin tool lets the customer service team look up any subscriber and their plan, set up accounts, and fix an email address everywhere at once, with release notes written for them. Sign-in and password resets now use one-time email codes, which took password reset requests to support from 15 to 20 emails a day to none.

  1. JAN 2026Rewrite beginsFlutter to React Native, then off Firebase onto Supabase.
  2. FEBPlayer, voices, captionsFull player, multiple voices, read-along captions, downloads, audiobooks.
  3. APRNew onboardingThe program finder and a web checkout.
  4. JUN3.0 on both storesReleased on iOS and Android.
  5. JULNew plan screenAnnual first in the web checkout.
  6. AUGPlans and code sign-inThe new plan screen and one-time code sign-in in the apps.

06What happened

2×
annual plan share of new trials, from about 15–18% to over 35%
Growing
paying subscribers, every month since the relaunch, after five straight months of decline
51–63%
trial-to-paid conversion in 2026, up from about 47% in 2025
71%
of monthly listeners come back every week