INDEPENDENT PRODUCT / MOBILE APPLICATION
PodTalk
Turn reading backlogs into personalised audio learning.
PodTalk transforms topics, PDFs, text documents and note images into narrated podcasts, quizzes and shareable audio experiences.
Explore PodTalkLibrary
More to read. Another way to learn.
People save more material than they can realistically read.
For someone learning from PDFs or notes, the job is to return to their own material when reading is inconvenient, such as during a commute or a walk.
They could leave it in a reading backlog, use a text summary or look for a podcast covering the same subject. PodTalk's proposition is to make the material they already have listenable, with playback and a quiz in the same workflow.
PodTalk starts with a topic, a PDF, a text document or an image of notes. Those different starting points lead into one creation flow.

The experience continues after generation.
Generating audio was one part of the product. The generated content remains available through background playback, system media controls, quizzes and shareable media.
For a document-based episode, the material becomes a script and then audio. When someone starts the quiz, I use that episode's script to generate five questions and save them with the episode. Listening and review stay connected to the same created content.
From input to playback, and back into learning.


One creation flow. A pipeline behind it.
I separated script creation from audio playback. The server prepares speaker-labelled segments, while the app requests their audio as listening progresses and prepares upcoming segments ahead of playback.
- Source processing
- Script generation
- Speaker-labelled segments
- Audio requests via server
- Upcoming segment preparation
- Playback queue
For two-speaker episodes, each segment is assigned to its selected voice. The dialogue structure carries through from the script into playback.
Reuse matching audio
Device and server caches reuse audio that matches the segment text, selected voice and synthesis model.
When the playback queue is rebuilt, cached audio can be reused and missing segments requested again.
Backend-controlled AI operations
The app requests script and voice generation through Firebase Cloud Functions, which handle access to external AI services.
Provider credentials and privileged operations remain outside the mobile client, creating a clearer security boundary between the application and external services.
Built with Flutter, Firebase Cloud Functions, Gemini, ElevenLabs, FFmpeg and RevenueCat.
Shipping was the beginning.
A working product still needs a reason to become a habit.
Launched on the App Store and completed the full product lifecycle from user acquisition to recurring subscriptions.
Subscription churn also showed that technical delivery was not enough. The product needed a narrower primary audience and a stronger reason for users to return repeatedly.
Product design, engineering, audio delivery and monetisation, built as one product.


