Live auction marketplace for TCG cards, figurines and collectibles. Sellers start a stream and buyers bid on each lot in real time. We took over a Flutter application and backend already in production to deliver a faster version without interrupting the service.
Take over an application and backend already in production without interrupting the service. In the application, migrating 237 StatefulWidgets to hooks and Riverpod, moving 93 StateNotifiers to generated @riverpod code, removing GetIt and adopting GoRouter touched around 2,500 files. In the backend, MongoDB had to be migrated to PostgreSQL without downtime. Interactive video also had to remain below three seconds of latency while keeping distribution costs under control.
We used an incremental Strangler Fig migration. The Flutter application moved in stages to hooks and Riverpod, with generated providers, GetIt removed and GoRouter navigation, while remaining in production. The backend is moving table by table from MongoDB to PostgreSQL 17 with Prisma. For streaming, a hybrid LL-HLS and LiveKit architecture keeps latency below three seconds. Infrastructure is provisioned on demand and sized for each live event, reducing cost per viewer-hour to around one-sixth of an all-WebRTC architecture. The backend has 6,680 tests and 97% coverage.
In production since 2026, with continuous iteration. Cost per viewer-hour is around one-sixth of an all-WebRTC architecture, while viewer latency remains below three seconds.