NativeBridge
A multiplayer IDE that converts iOS apps to Android. Tri-directional Swift ↔ Kotlin ↔ TypeScript.
A multiplayer IDE in the browser that converts iOS Swift to Android Kotlin to TypeScript and back. Real-time collaboration, live cursors, lock system. Built on Monaco — the actual VS Code editor. The leverage move: solve the meta-problem so you can solve every instance of the problem.
Origin
Most engineers writing cross-platform code rely on Flutter, React Native, or Kotlin Multiplatform — frameworks that constrain what you can build. NativeBridge goes the other direction: write fully native Swift, then convert to fully native Kotlin or TypeScript. No framework lock-in. Output runs on platform-idiomatic tools (Jetpack Compose on Android, real Swift on iOS).
What it does
Tri-directional conversion
Swift ↔ Kotlin ↔ TypeScript. The tool tracks all three languages simultaneously in collaborative workspaces.
Real-time multiplayer
Two engineers can edit the same Swift→Kotlin conversion in real time, see each other's cursors, and lock sections to prevent conflicts. WebSocket transport over a /collaboration namespace, with reconnection and exponential backoff.
Monaco editor
The actual VS Code editor embedded in the page. Same syntax highlighting, same IntelliSense surface, same keybindings users expect.
Automatic library detection
Detects iOS libraries in your code and maps them to Android equivalents — Alamofire → Retrofit, Realm → Room, RxSwift → Flow, Kingfisher → Coil, KeychainAccess → EncryptedSharedPreferences, Firebase iOS SDK → Firebase Android SDK.
Auto-generated build.gradle
Injects all required dependencies in a recommended-version catalog. Designed for high first-Gradle-sync compilation rate.
Multi-tenant workspaces + billing
Auth, profile, dashboard, usage tracking, Stripe billing, GitHub Marketplace integration. A real productized SaaS surface, not a hobby.
Engineering
The collaboration layer
Real-time multi-user editing via socket.io over WebSocket on the /collaboration namespace. Live cursors with name + email + title + color identity per collaborator. Lock system (activeLocks + lockEvents) prevents simultaneous edits. Tri-language code state tracked simultaneously: { swift, kotlin, typescript }. Reconnection with backoff (1s → 5s, 5 attempts), then degrade to polling. Identity refs decoupled from connection — name/email changes don't trigger reconnects.
Backend depth: 27 routes, multi-tenant, billing
27 backend route files: auth + admin + profile + userDashboard + usage; Stripe billing; GitHub OAuth + GitHub Marketplace listing; convert + batch-convert + conversions; documents + snapshots + divergence (versioning); workspaces + workspace-collaboration + workspace-documents (multi-tenant); chat; production monitoring; sitemap; news; contact. Plus 36 DB migrations, multi-tenant orgs in db-organizations.js, Docker-ready, Railway-ready, cron jobs.
Used in production to ship GoKC
The proof: convert-gokc.js, postprocess-gokc.js, sync-strings.js exist at the parent folder above the iOS and Android source. NativeBridge isn't a slide deck — it has a flagship customer that ships on both App Store and Play Store, with 8 languages and 750+ places, maintained by one engineer.
Stack
- React 19
- Vite
- Monaco Editor
- socket.io
- TanStack Query
- Tailwind v4
- Express
- Postgres
- Stripe
- Railway
- Netlify