Inspiration
I've been building B2C apps for years — always with the same goal: help people in their daily life.
With Evolum, we built a well-being coach where AI helped you visualize and imagine your goals. With BeeDone, we created personal productivity coaches inspired by famous characters — like Rick your brutal mentor, or Lara your fearless adventurer.
Each time, the coaches worked. But each time, something was missing. I couldn't name it yet.
Then one day, I saw RevenueCat's Shipyard contest. I read the briefs. To be honest, until February 6th, I wasn't going to participate. But then I read Simon's brief — and everything clicked.
All my previous coaching apps had the same gap: the coach didn't really know you. It would give advice, but it had no idea what you were working on, what you cared about, or what you decided last week. Simon's Agent OS concept showed me the answer: coaches need context, personality, and memory.
I had to rebuild the whole system from scratch. And this contest was the perfect opportunity to do it right.
So I went all in. Every single day for weeks. My wife started to worry about my work-life balance — this month was tough on my family. But I told her: there's a deadline, and when it's done, I'm done.
Now the deadline is here. I'm happy with what I built. And I'm grateful — to RevenueCat for creating this opportunity, and to Simon for writing the brief that made everything obvious.
Now I'll take some rest with my wonderful family. :otter:
What it does
Muse Otter gives you personal AI coaches that actually know who you are.
Real Coaching, Not Just Chat
Every conversation starts the way a real coaching session would:
"Do you need a quick answer, a guided exploration, or a deep dive?"
Then the coach asks you questions before giving advice. It sounds simple, but it changes everything. You stop getting generic answers and start getting real guidance.
Guided questions — Your Personal Context
When you open the app for the first time, Muse Otter asks a few questions:
- What are you working on?
- What's your biggest challenge?
- What are your goals?
This becomes your personal context. Every coach reads it before every conversation. So when you ask the Decision Coach about a career move, it already knows your values, your project, and your goals.
Same AI model. Completely different experience.
Foundation — A System That Grows With You
This is what my previous apps were missing. Foundation turns random chats into ongoing personal growth:
- Guided Questions — Daily prompts to reflect and build self-awareness
- Quick Notes — Capture a thought or insight anytime
- Auto-Summaries — After each chat, the app creates a summary: Problem, Insight, Action
- Streaks — Stay consistent with daily check-ins
Your coaches use all of this. They remember what you decided last week. They remind you of your goals at the right moment.
Six Specialist Coaches
| Coach | What it helps with |
|---|---|
| Workspace Assistant | Quick answers, brainstorming, daily help |
| Productivity Coach | Focus, time management, priorities |
| Decision Coach | Making better choices with proven frameworks |
| Vision & Goals Coach | Goal setting, clarity, long-term thinking |
| Note Transformer | Messy notes into clear action items |
Create Your Own Coach
Can't find the perfect coach? Build one in 3 steps:
- Name it — Pick a name, emoji, description
- Define behavior — Choose tone, purpose, rules
- AI builds the rest — Send your first message and it's live
No prompt engineering needed. Anyone can do it.
Coach Marketplace
Browse coaches created by other users. Use them directly or copy them as a starting point for your own.
Voice Coaching
Sometimes you need to talk, not type. With Vapi integration, you can have real voice conversations with any coach. Like having a coach on the phone while you walk, drive, or just think out loud.
iPad Handwriting
Got an iPad? Write with your Apple Pencil. Draw a schema, sketch an idea — the app recognizes your handwriting and sends it to your coach.
How we built it
Solo developer. One codebase. Six platforms.
Frontend: Flutter — runs on iOS, Android, iPad, Web, macOS, and Linux from the same code.
AI Backend: Firebase Cloud Functions v2 + Google Genkit + Gemini 2.0 Flash.
How a message works:
- You send a message → saved to Firestore with status
pending - A Cloud Function triggers automatically
- It loads the coach's prompt + your personal context + chat history
- Gemini generates the response
- Response saved, status →
done - Your app updates in real-time
No WebSockets needed. Firestore listeners do the job.
Subscriptions: RevenueCat. Free tier gives you 20 messages per day. Pro ($9.99/month or $79.99/year) unlocks unlimited messages, custom coaches, and the marketplace. Server-side webhooks keep everything in sync.
Voice: Vapi SDK for real-time voice calls with a credit system.
State management: Riverpod. Clean Architecture + Atomic Design keeps the codebase organized even as a solo dev.
i18n: Slang package. English and French. Coaches auto-adapt their language to your locale.
Analytics: Mixpanel for user behavior. Firebase Crashlytics for errors. Firebase Remote Config for A/B testing.
Challenges we ran into
Making AI feel like coaching, not chat. This was the hardest part. Without the scoping step and questions-first approach, every coach sounds like ChatGPT. The fix: mandatory structure at the start of every conversation + deep context injection. It took many iterations to get right.
The Foundation system. Combining guided questions, manual notes, auto-summaries, and streaks into one clean experience was complex. Each type has different data, different display logic, and different ways coaches should use it. Getting it to feel simple on the surface took real work underneath.
iPad as a first-class citizen. Most apps treat tablets as big phones. I designed three responsive breakpoints from the start, plus handwriting input with palm rejection. It's a lot more work, but it makes the app feel native on iPad.
Real-time AI without traditional streaming. Firebase doesn't support WebSocket streaming. My solution: optimistic UI (your message shows instantly), typing indicator, Firestore listeners for the response. Users perceive response time under 500ms.
Balancing free and Pro. Too few free messages and people leave before seeing the value. Too many and nobody upgrades. 20 messages per day is the sweet spot — enough to feel real value, limited enough to want more.
My family. Working every day for weeks straight is not sustainable. My wife was patient but worried. Building something you're proud of always has a cost. I'm glad the deadline is here.
Accomplishments that we're proud of
Context injection that changes everything. The same Gemini model gives completely different answers when it knows your project, values, and goals. This one feature makes the whole app work.
Foundation fills the gap. The thing my previous apps were always missing — continuity. Coaches now remember your past conversations, your decisions, your goals. It's not one-off chat anymore.
60+ user stories, one developer. From onboarding to marketplace to monetization to voice coaching. Complete app, solo built.
Coach creation anyone can use. No technical knowledge needed. Three steps, AI does the prompt engineering for you.
iPad handwriting. No other AI coaching app offers this. Write naturally, draw schemas, send it to your coach.
Built to scale from day one. Firestore auto-sharding, Cloud Functions auto-scaling, clean architecture. Not just a hackathon demo — a real product.
What we learned
Context is the product. Not a feature you add later. It's the reason someone picks your app over ChatGPT. A coach that knows you is 10x more useful than a generic one.
Questions beat answers. Asking "quick answer or deep dive?" before every session changed the entire user experience. People feel in control and get better results.
RevenueCat saves weeks of work. Subscription logic, receipt validation, webhooks, restore purchases, cross-platform sync — all handled. I could focus on the product instead of payment infrastructure.
Rebuild when you need to. I could have patched my old apps. Instead I started fresh with the right architecture. It was the right call. Sometimes you need a clean slate.
Ship first, polish later. Aggressive scoping for the deadline. Core features first, then Foundation, then voice, then marketplace. Each layer built on a solid base.
What's next for Muse Otter
- Weekly email briefs — Your coach sends you a summary of your week
- Reminders — Ask your coach to remind you about something
- More languages — German, Spanish, Portuguese
- Coach analytics — See how many people use your published coaches
- Voice responses — Coaches that talk back
- Team workspaces — Share custom coaches with your organization


Log in or sign up for Devpost to join the conversation.