Under the hood

Contrast focuses on technical innovation and design to make AI app factories work more efficiently and effectively.

One stack, three platforms

Web, iOS, and Android from a single codebase.
One, Tamagui, and Zero ship the same code as a fast website, a real iOS app, and a real Android app. No forks, no "mobile version later."Zero gives you realtime sync with optimistic mutations out of the box: every device sees new writes the moment they happen.

A whole team of helpers

Designer, builder, reviewer, and QA agents build your app together.
A whole team works in parallel: designer, builder, reviewer, and QA, each in its own git worktree so nothing collides.Tuned DeepSeek Flash, pair programming, and rounds of QA review make it ~10x cheaper than a single agent elsewhere, without giving up quality.

Native in the browser

Run your real app on iPhone and Android instantly, with no simulator to install.
rnx runs your real React Native app on iPhone and Android right in the browser, pixel-for-pixel. Touch, multi-touch, it all works.Zero cost and 0ms latency, with native scrolling and animations that never stutter while your app is busy.

Scalable on day one

Deploys to the edge with your database, realtime sync, and auth built in.
Every app deploys to Cloudflare Workers at the edge. There is no Postgres to provision and no sync service to wire up, it just runs.Deploys are safe by default: the data layer ships before the app, so a new version never goes live against a database that is not ready.

Straight to TestFlight

Build and submit a real iOS app without ever opening Xcode.
The native pipeline builds a real iOS app, signs it, and uploads it to TestFlight without you ever touching Xcode. All it asks for is your Apple ID.Apple stays the source of truth, so a valid build goes to your testers automatically. App Store submission waits behind an approval flag that defaults off.

Local and yours

Run the whole stack locally, eject anytime, and bring your own models.
Run contrast dev and the full stack runs on your machine, the same one the hosted IDE uses. Your code lives in a real git repo, and you can eject anytime to a plain clone.Bring your own keys and drive the factory with your own models, mixing several at once for efficacy beyond any single-model setup.

Foundations

The lower-level systems everything above runs on.
syncLiteSync Engine
A fully SQLite-native sync engine, 100% compatible with Zero: point the standard Zero client at it and deploy to your own Cloudflare account. A Rust core keeps it fast, and sharding takes it well past what one server can hold.
Rust engine·Durable Object deploy·Sharding·HTTP mode·Transparent encryption·Rate limits and runaway prevention
browserClient-Side Stack
A custom in-browser bundler, compatible with Metro and tested against every large open-source React Native app, in a web worker under 100KB. Our CDN compiles and caches dependencies automatically, and the full stack is light enough on memory to run several in parallel.
LiteSync·Bedrock SQLite WASM·Drizzle·Better Auth·One headless
agentsEval-Driven Factory
Our agent teams are developed against a rich evaluation system that optimizes one number: time and cost to a quality merge, across hundreds of iterations weekly. Smart mode mixes model abilities across roles, building a complete app from scratch for under $1 in 15 minutes.
Hundreds of evals weekly·Smart mode·Role-level model mixing·smart=xs
designDesign Canvas
A complete map of your app that is always up to date, in both dark and light mode. Tap any screen to inspect it or comment straight into chat, and it re-renders itself as the code changes, so a design pass lands across the entire app at once.
Native Skia on mobile·Canvas on web·Automatic updates·Inspect and chat
localLocal Development
The same platform, on your machine: contrast dev boots the identical stack the hosted IDE runs, out of a real git repo. Point a local checkout at a cloud project, bring your own model keys, and deploy from the CLI without opening a browser.
CLI·Real git repo·Eject anytime·Bring your own models
ciCI Integration
Every pull request gets an rnx preview: the full app, backend included, running in the browser straight from the branch. Agents record demos of what changed, so review starts with watching the feature actually work before anyone reads the diff.
GitHub integration·rnx previews·AI demos on PRs

And much more

Some of what else is in the box.
Simulator
Run a real iPhone in a browser tab·No simulator to install, no Xcode·The whole app paints to one canvas·Fabric, TurboModules and Bridgeless·Reanimated worklets on their own runtime·Real Gesture Handler, not a shim·Rubber-band scrolling and momentum·The iOS keyboard, key by key·Multi-touch·Alerts, action sheets and the image picker·Home screen and app switcher·Dynamic Island·The ring/silent switch·The dev menu·Deep links open the right screen·Light and dark·Screen readers work on a canvas app·Click any element to open its source line·Detox and Maestro tests run unchanged·A per-frame profiler you can turn on·Pixel 8, Pixel 9 Pro XL, Galaxy S24·Android overscroll stretch and glow·Three-button navigation and cutout insets
Compatibility
773 packages scored for real support·The top 1,000 React Native packages by download·Maps, health, payments, notifications, ML·Reanimated, Gesture Handler, Screens, Safe Area·Keyboard Controller·MMKV, AsyncStorage, react-native-fs·expo-image, expo-video, expo-haptics·Native code replaced at the seam, your JS untouched·Measured results distinguish native comparisons from support estimates·Open the diffs and check them yourself
Workspace
A TypeScript language server running in the browser·Hover, rename, go to definition, find references·The bundler is a web worker, nothing round-trips·Sucrase and Acorn·.ios.tsx and .web.tsx resolve the way Metro does·SQLite compiled to WebAssembly·Auth, migrations and seed data all run in the tab·Every save is a content-addressed snapshot·Roll one file back to any commit·Unsaved edits survive a reload·Command palette·Every preview element knows its source line
Design
Every screen of your app on one infinite canvas·Laid out by navigation depth, forks branching down·Figma-grade pan and pinch·Real render trees, not screenshots·Hit play on any screen and it goes live in place·Click an element and comment straight into chat·An App Store screenshot composer·Pose the device in 3D·Google Fonts, gradients, titles, shadows·Exports at 1284×2778, with crisp text·The whole deck as a zip·Decks shared with your team
Agents
Every agent works on its own git branch·Every agent gets a preview to check its own work·Watch any of them work, live·Take the wheel mid-build·Change your mind without stopping the run·A cheaper model for the easy jobs·Bring your own API keys·Several models in one run·Answer a question whenever, the rest keeps building·Diff a branch against main before it merges·Green branches merge themselves·Send work from your phone
Integrations
Secrets are first class·Secret keys resolve only on the server, publishable ones ship to the client·Stripe checkout, billing portal and subscriptions·The webhook registers itself when you deploy·RevenueCat subscriptions·Buy a test subscription inside the simulated iPhone·PostHog events for the flow you asked about·Cloudflare storage and email in your own account·GitHub
Deploy
Deploy in a minute·Cloudflare Workers and Durable Objects·Sync engine on SQLite·Database, auth and realtime sync arrive wired up·Rate limiting from the first request·yourname.contrast.run·Staged rollout, automatic rollback·Release to TestFlight and the App Store with just your Apple login·No certificates, no provisioning profiles·Pull request previews replay the whole app, backend included·Shared links unfurl with a live shot of the app
Multiplayer
Two people building in one project at once·Everyone’s cursor, with their name on it·Invite links that show the app before you join·Invite someone as an editor or a viewer·Your plan covers everyone you invite·Send the finished app to a friend’s phone·The same chat on desktop and phone·Open ten tabs, you still count as one person
Ownership
contrast dev runs the whole stack on your machine·Eject to a plain git repo, any time·Push and pull a GitHub branch·The ejected repo runs on bun install and bun dev·Real commits, real history·Deploy from the CLI without opening the IDE·Point a local checkout at a cloud project·Run the factory on your machine or in the cloud·Take the code and never come back

Ready?

Create a web, iOS, and Android app in minutes with agents working alongside you.