Case study · Mobile app
Sagius — philosophy that talks back.
A real conversation with Marcus Aurelius, Nietzsche, or Simone de Beauvoir, instead of just reading their words. iOS, Android, and a localised marketing site — shipped from a single Flutter codebase.

Live screenshot of sagius.app, captured 2026-07-20.
What I built
A real conversation, not just a quote.
Sagius is the iOS and Android app where you can have an actual back-and-forth with 12 AI personas built around the ideas of Marcus Aurelius, Epictetus, Seneca, Plato, Aristotle, Confucius, Lao Tzu, Buddha, Rumi, Simone de Beauvoir, Søren Kierkegaard, and Friedrich Nietzsche.
Each persona is grounded in curated writings and selected concepts from the philosopher's actual work, used as guidance for the model rather than as a substitute for the historical figure.
Beside the chat, the app ships a curated library of philosophical quotations across five languages — with daily delivery, ambient music, and personal favourites — paired with a Next.js marketing site that serves per-locale routes and the chat API behind them.
What made it hard
Two problems worth talking about.
1. Building an AI persona layer that doesn't pretend
The engineering problem isn't “how do I get the model to talk like Marcus Aurelius” — it's “how do I get the model to talk like a thoughtful AI shaped byMarcus Aurelius's ideas, without ever pretending to be him.” Each persona has a profile grounded in their actual writings, applied as guidance, not as impersonation. The line between “inspired by” and “is” is exactly the line a marketing claim can cross and a user can't unsee.
2. Rebranding without breaking anything
Sagius ships under a new name, and the marketing site is a separate codebase from the app. I had to flip the brand across the marketing site, store listings, in-app strings, share URLs, deep links, and screenshot-generation scripts. The previous philoq.app domain HTTP-308-redirects to sagius.app so existing links keep working — verified live on 2026-07-20.
How I built it
One Flutter codebase, one Next.js app, five languages.
The mobile client is a single Flutter codebase targeting iOS and Android. State is managed with flutter_riverpod; the 5-locale catalogue is loaded via easy_localization; auth, favourites, and chat history live in Firebase.
The marketing site is a Next.js app on Vercel, with per-locale static pages (/en, /pt, /de, /es, /fr) and server-side API routes powering the chat backend. The AI layer applies locale-specific output rules to centrally maintained persona profiles, so a philosopher's voice stays consistent across locales without duplicating the profile five times.
The same codebase serves both philoq.app and sagius.app via env tokens — no fork, no frozen main, no code drift between the two surfaces.
The stack
Verified, not aspirational.
Mobile (Flutter)
flutter_riverpod— state managementeasy_localization— 5-locale catalogue- Firebase: Auth · Firestore · Analytics · Crashlytics · Cloud Messaging
purchases_flutter— one-time credit-pack IAPs (RevenueCat)share_plus— quote sharing flow- AI: Mistral primary, Gemini failover
Web (Marketing + API)
- Next.js App Router on Vercel
- Per-locale static pages for marketing content
- Server-side API routes for the chat backend
- Domain-token pattern: same code, two brands
What's shipping today
Numbers I can verify, sources I can cite.
Every figure below is from a primary source, not from a deck.
Other verified facts
- ●Free to download with 10 AI credits per new account; additional AI use is paid via one-time credit packs — verified against sagius.app/en/terms (last updated 2026-03-09).
- ●No subscription, no recurring billing — only consumable credit packs, processed through App Store / Google Play via RevenueCat.
- ●
philoq.appHTTP-308-redirects tosagius.app— verified live on 2026-07-20 withcurl -I https://philoq.app/.
First weeks after launch
Numbers Gabriel personally confirmed. Deliberately conservative — no projections, no round numbers that look like marketing.
No Apple “App of the Day” or other editorial features. Stating the negative because the case study is more credible that way.
Build something similar
From concept to launch, the same way.
If you're working on a Flutter + AI product, a Next.js marketing site with per-locale SEO, or a rebrand that has to land without breaking anything — let's talk.