Inspiration

Every creative tool we actually liked lived on a desktop. Generating an image meant one site, video meant another, compositing meant Premiere, 3D meant Blender. But everyone we know shoots, edits, and posts from a phone. The gap was never model access — anyone can hit an API. It was that nothing on mobile let you go from a prompt to a finished, exported file without moving to a laptop halfway through.

What it does

Imaginatron is an AI creative studio for iOS, Android, and web. You generate images and video across a catalog of models (Flux 2, Seedream, Kling, Veo 3, Hailuo, Seedance) with quality tiers so you see what a render costs before you spend. Then you edit on a Skia canvas with layers and masks, compose on a multi-track timeline with keyframes and effects, or build a scene in a 3D character studio running Filament on-device. Forty-odd tools sit alongside it — background remover, 4K upscaler, outpainting, logo generator, storybooks. Finished work goes to a discovery feed where anyone can remix it.

The export is the part we care about most: video composition runs natively on the device — AVFoundation on iOS, Media3 on Android — through an Expo module we wrote. No upload, no server round-trip, no watermark. It just lands in your camera roll.

How we built it

React Native 0.85 and React 19 on Expo SDK 56, Zustand for state, Skia and Reanimated for anything that has to hit 60fps, Filament for 3D, Viro for AR. Two native modules of our own: video-composer and an iOS Broadcast Upload Extension for screen recording. Backend is Node + Express in TypeScript with MongoDB, Redis, BullMQ for generation queues, and Socket.IO streaming job progress back to the app, so you can background a long video render and get a push when it's done. Providers sit behind our own service layer, so swapping a model never touches the client.

Challenges we ran into

Replicate community models need a owner/name:versionHash — call one by bare name and you get a silent 404. Our existing calls worked only because they happened to all be official models, and every mocked test passed while it broke at runtime.

iOS screen recording stayed dead through every rebuild until we registered an App Group in the developer portal. Nothing in the Swift was wrong; the bug lived in a web console.

And we audited our own pricing and found the premium image tier running at an 8% margin — a good render could cost more than the tokens the user spent on it. We repriced and moved per-model costs to the backend so they're tunable without an app release.

What we learned

Mocked tests can't catch provider semantics. Some bugs aren't in your code at all. And a prompt is a bad interface for precision — everything good in this app came from pairing generation with something you can directly manipulate: a canvas, a timeline, a viewport.

What's next

Collaborative canvases with live multiplayer editing, Android screen recording to match iOS, web export parity, and on-device inference for the small stuff so background removal and upscaling cost nothing and happen instantly.

Share this project:

Updates

Submission history