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.
No time for a call? Write to me: every email gets a reply within one business day.
- 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.
85.2K downloads on the App Store
First-time downloads of the iOS app since release, counted in App Store Connect.
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
Related services
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.
No time for a call? Write to me: every email gets a reply within one business day.