Case study
An AI assistant at 225K+ users
Oi is an AI assistant on the App Store and Google Play. I have built the iOS app since 2023 and, since 2026, the backend behind both apps.
- Client
- Private client
- Role
- iOS developer, then backend for both apps
- Period
- Since 2023
The problem
An assistant is judged on the first answer. It has to start streaming immediately, survive a bad network, and keep the provider keys and the bill out of reach of anyone who decompiles the app.
What I did
Streaming chat with several agents
Token by token rendering with multiple agents, each configured remotely in Firestore, so a new assistant ships without a new app release.
Beyond text
Image generation and analysis, URL and PDF summaries, LaTeX rendering and text to speech, each with the upload and progress handling it needs.
A new backend in 2026
After a security review, a Cloud Functions backend for the iOS and Android apps: server-sent events for streaming, App Check, and server-side validation of StoreKit 2 and Google Play Billing.
Rate limits that protect the bill
Quotas per account so that usage, not an exposed endpoint, drives the provider cost.
Where it stands
225K+ users authenticated
Through Firebase Auth, across the iOS and Android apps.
Purchases validated on the server
Paid features unlock after the server checks the receipt, on both stores.
Questions I get asked
- Can you add an assistant to our existing app?
- That is the usual request, and it is mostly a backend question. The app needs a streaming interface; the server needs the keys, the quotas and the purchase checks.
- Who owns the prompts and the backend?
- You do. I write them in your repository and your cloud project, and the provider can be swapped without shipping a new app version.
Stack
- Swift
- UIKit
- SwiftUI
- Firebase
- Cloud Functions
- App Check
- StoreKit 2
- OpenAI API
Other case studies
Want something like this built?
Book a 20-minute call and tell me about your app. I will tell you what I would do first.
Book a 20-min call