-
-
App Icon
-
Explore tab to discover new podcasts
-
Podcasts are sorted by age
-
Library tab to resume playback
-
User can subscribe to podcast or make playlists
-
Here's a playlist for long car ride
-
A podcast detail view
-
An episode detail view
-
USer can search for specific episode or podcast
-
Fullscreen player view
-
The queue list with builtin timer
-
The kid mode navigation view with VoiceOver reading episode titles
-
The kid mode player with black screen during playback
-
A small math challenge to quit kid mode
Inspiration
As a dad of two young boys, I wanted them to enjoy stories the way I did as a child — through imagination, not screens. But most podcast apps are built for adults: full of distractions, ads, and interfaces too complex for kids. That’s why I created Tatikati — to offer children a safe, calm, and screen-free way to explore audio stories, while giving parents peace of mind.
What it does
Tatikati is a podcast app for kids with features designed specifically for families:
- A Kid Mode with voice navigation and a black screen during playback, to promote mindful listening
- Curated playlists by theme, age, and emotion
- A Parent Mode to manage favorites and control access
- An interface accessible to all ages, combining simplicity, warmth, and a touch of magic
How we built it
- I developed the entire project solo, using Swift 6 and SwiftUI on iOS
- The Composable Architecture for clean, predictable state management.
- The backend is built with Vapor (server-side Swift)
- GRPC/Protobuf for efficient communication
- PostgreSQL as the database.
- Everything runs on Railway, with a focus on scalability, privacy, and performance.
Challenges we ran into
- Metadata chaos: most podcast RSS feeds are inconsistent, especially with episodes and seasons — requiring smart parsing logic to group stories correctly.
- UX for kids: designing a flow that even a 3-year-old can navigate intuitively was a challenge in accessibility and empathy.
- Concurrency and reliability: ensuring perfect synchronization between the iOS client and the Swift backend with async/await and GRPC.
- Finding the right tone: balancing a magical childlike world with a modern, premium design for parents.
Accomplishments that we're proud of
- A delightful Kid Mode that parents describe as “peaceful and empowering”
- A fully native Swift stack, from mobile app to backend
- Partnerships with inspiring podcast creators who share our educational and imaginative values
- A design that makes listening feel like entering a cozy, timeless space
What we learned
- Building for children is about trust, clarity, and emotion — every color, word, and gesture matters.
- Server-side Swift (Vapor + GRPC) is powerful, elegant, and production-ready.
- Crafting a meaningful product requires patience, research, and constant iteration with real users — especially kids.
What's next for Tatikati
- Introducing personalized recommendations and parental dashboards
- Expanding partnerships with creators to bring more high-quality stories
- Exploring internationalization to make Tatikati available to families worldwide
- Building a community around Tatikati — uniting parents, educators, and audio creators who believe in the power of imagination and storytelling
- Empowering creators with better visibility, fair compensation, and new ways to connect with their audience
Built With
- brevo
- grpc
- ios
- postgresql
- protobuf
- purchasely
- railway
- swift
- swiftui
- vapor
- xcode
Log in or sign up for Devpost to join the conversation.