← All case studies

Mobile app rebuild

VOOCONNECT: an iOS-only app rebuilt as one Flutter app for iOS and Android

A short-video social app (camera, editor, live streaming, chat, in-app purchases) rebuilt from a native Swift iOS app into a single Flutter app on both stores, with a Node.js backend, a React admin, a storage migration under a vendor lock-out and a self-hosted media server.

The client

VOOCONNECT is owned by Vooroogoo Inc. Our team leads mobile and backend engineering for VOOCONNECT.

The challenge

  • The original app was iOS-only, written in native Swift and SwiftUI: 468 files, about 70,600 lines. Android users couldn't use it, and every feature would have had to be built twice.
  • The Google Play listing had been removed in February 2023, and an update had been rejected.
  • In August 2026 the media host disabled the account and locked its API, putting the app's videos and images at risk.
  • The legacy data lived in an old MySQL database that had to move to the new MongoDB backend without losing anything.

What we built

One Flutter app for iOS and Android

  • 29 feature modules: feed with ranking, camera, video editor, duets, stories, drafts, sounds, live streaming and walkie-talkie, real-time chat, gifts and coin packs, subscriptions, multi-account, search, notifications and more.
  • Clean architecture (domain / data / presentation) with BLoC, feature flags controlled from the admin panel, and 5 languages.
  • The Swift app kept running against the same backend during the rebuild; all 8 migration phases were complete by March 30, 2026.

Backend and admin

  • Node.js / Express, MongoDB Atlas, Socket.IO, Firebase, Agora and S3-compatible storage, deployed on Railway.
  • Admin dashboard in React 18, TypeScript and Vite.

Migrations and infrastructure

  • Moved all media off the locked account to Cloudflare R2 instead of paying to reactivate it.
  • A legacy MySQL to MongoDB import (users, posts, comments, follows, likes, bookmarks and media), rehearsed end to end on staging.
  • Self-hosted Linux/Docker media server that makes 720p, HLS and thumbnail versions, plus a staging environment and nightly database backups to two drives.

Results

  • One codebase on both stores: version 5.0.2 was live on the App Store by September 30, 2026, and the Google Play listing is back.
  • Android download cut from 565 MB to 139 MB.
  • No media lost and no reactivation fee paid when the media host locked the account.

Stack

Flutter / Dart, Swift (legacy), Node.js / Express, MongoDB Atlas, Socket.IO, Redis, Firebase, Agora, FFmpeg, Cloudflare R2, React + TypeScript + Vite, Railway, Docker, Codemagic CI, Firebase Test Lab, Patrol, Maestro, Jest.