Inspiration
I'm 21. I work full days as a manufacturing engineer, study in the evenings and run a leadership institute alongside that. There were always subjects I wanted to really understand, but no time to sit down with a book or a course.
What I did have was time on the road, at work and in between. I tried podcasts, but they lacked the structure and conciseness I was looking for. Episodes wandered, or a subject was spread across parts I had to piece together myself, and I never ended up with a clear understanding of the whole thing.
So I started building the thing I wanted for myself: a proper course I could listen to while busy, that ends with me understanding the subject. Somewhere along the way I realised I'm far from the only one. A lot of people drive, travel or work with their hands all day and still want to learn something properly.
What it does
Catalyst turns a subject you want to understand into a path: a short course of lessons, 5 to 20 minutes each, written to be listened to. Start it before you set off and learn while you drive, work or wait.
There are curated paths built from several serious books on a subject. You can also describe any subject or question and Catalyst builds a path for you. It plans the course, writes each lesson to be heard, has it reviewed independently for quality, safety and unsupported claims, rewrites where needed, and only then narrates it. The aim is lessons that feel real and teach properly, not generated filler.
How I built it
A React Native app on iOS, with Supabase behind it, Anthropic Claude for writing and reviewing lessons, and ElevenLabs and Google for narration.
RevenueCat runs all purchases. One shared user id links the app, RevenueCat and my backend from the very first launch. The paywall is built from a RevenueCat Offering, so plans and prices change without an app update. A server-side webhook updates each user's plan, and that record, not the app, decides what someone can access. Three monthly plans (Catalogue, Learner, Professional) sit in one subscription group, so Apple handles upgrades and downgrades.
Challenges I ran into
The hardest part was never the code. It was making it feel human and making it true.
Narration. The first lessons sounded fluent and completely flat, the same tone for ten minutes straight. I tested and rewrote lesson after lesson, measured what listeners actually preferred, and learned that writing for the ear is a craft of its own: real transitions, varied rhythm, a teacher's warmth rather than a textbook's.
Facts. Checking claims one by one turned up popular statistics with no source behind them, quotes pinned on the wrong people and a study that had been retracted. I cut all of it. Getting generated lessons to meet that same standard, through planning, independent review and rewriting, took more iterations than anything else.
Accomplishments that I'm proud of
I taught myself how to do this, mostly from other people's videos and write-ups online, in the evenings after work. I started because I had a problem I wanted solved for myself. What I'm happiest about is that it might be a real answer for other people in the same spot: busy, travelling, driving a lot, and still wanting to learn.
What I learned
How to connect different AI tools into one working system. Project management, and how a project actually grows. Patience in building and testing, and perseverance with an idea. Fast iteration changed how I think about development.
The biggest lesson: when the goal is clear, it doesn't take long to get there. When it isn't, everything takes far longer than it should.
What's next
- Keep making the voices and the writing more human, by testing and validating with real listeners.
- More paths in the catalogue.
- Tune the app's design and flow based on user feedback.
- Let people add their own PDFs and documents when creating a path.
- Grow marketing across more platforms, aimed at a more specific audience.
Built With
- anthropic-claude
- apple
- claude
- elevenlabs
- expo.io
- google-cloud-text-to-speech
- postgresql
- posthog
- react-native
- revenuecat
- sentry
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.