Video Lab
Featured
- Platform
- iOS and Android
- Built at
- Trial & Error
- Category
- Photo & Video
An AI video generator built around a catalog instead of a prompt box: pick a template, hand it a photo, and it renders — or write your own prompt and choose the model and style. Subscription-gated, with coins that generations spend. Built solo, app and backend.
Video Lab turns a photo into a short AI video. The home screen is a catalog rather than a prompt box — a hero carousel and category sections like flying or viral effects, each template a looping preview with a one-line pitch — so you pick a look, hand it a photo, and it renders.
There is a free-form path too: write a prompt and choose the model and the style yourself. The app is subscription-gated end to end, a subscription grants the coins that generations spend, and a template shows its cost before you commit to it.
Built solo, app and backend, and the decisions underneath are the part worth reading. A template is always image-to-video, so nothing stores what kind of thing a template is: the request shape decides the pipeline, and the two request bodies are a union of closed objects rather than one object with optional fields, so the rules fall out of the shapes instead of being checked after the fact.
Models are rows, not an enum — a new one launches as an insert, disabling one drops it from the picker and stops it being accepted in the same instant, and it stays readable because old jobs still point at it. Every vendor sits behind one adapter, submit a job and poll a handle, so the pipeline never learns a vendor's name and adding one is three edits and no change to the pipeline.
Generation runs on a durable workflow that outlives the request, catalog assets are public while anything a user made stays private, and credits are ours to account for while subscription state is mirrored in from the store.
Go see it
The ingredients
- 01Expo
- 02React Native
- 03TypeScript
- 04Reanimated
- 05Skia
- 06Redux Toolkit
- 07React Query
- 08Firebase Auth
- 09RevenueCat
- 10Cloudflare Workers
- 11Hono
- 12D1
- 13R2
- 14Drizzle
The screens
06 of them

01

02

03

04

05

06