Case study
AImajin Mobile App
A production mobile app for AI image editing, image generation, and AI video—delivered as a React Native client with a Django backend, real-time progress updates, subscriptions, and scalable deployment.
Problem
- AI media workloads are long-running and spiky—mobile UX needs real-time progress and resilient retries.
- A production app requires secure auth, billing/subscriptions, and reliable job processing.
- Backend scaling and cost control matter more than “demo speed” once users are in the app.
Solution
- Built a React Native (Expo) application for AI image editing/generation and AI video workflows.
- Implemented a Django backend (DRF + ASGI/Channels) with async job processing (Celery + Redis).
- Used Nginx as a reverse proxy for TLS termination and WebSocket proxying.
- Integrated Supabase (auth + Postgres) and RevenueCat (IAP + webhooks).
- Integrated Cloudflare R2 for media storage and Cloudflare Vectorize for vector search.
- Integrated multiple AI providers (Replicate, OpenRouter, FAL, Gemini) behind a single backend interface.
- Instrumented error tracking with Sentry (backend + workers).
Architecture
Results
Shipped to Google Play
Production app with 100+ downloads and 4+ star rating
Real-time generation UX
WebSocket progress updates for AI jobs taking 10–60s
Sub-£50/month hosting
Cost-aware infrastructure on Hetzner with Docker Swarm
RevenueCat integrated
Subscription billing with webhook-driven entitlements
How this maps to client use cases
- Mobile AI features where UX requires streaming/progress updates (generation, processing, analysis).
- Subscription-based AI products that need reliable billing and entitlement management.
- Teams migrating from “prototype GPU scripts” to maintainable backend services with queues and monitoring.