A private wine tasting club, with a model of active members through membership dues, periodic events with invited producers, and a dynamic catalog of wines and producers. Volume: 60-80 concurrent operations per event.
The Challenge
A legacy MySQL system without maintenance, without a mobile app, without offline support for tasting notes, without GDPR infrastructure, manual payments, thousands of historical scores that needed to be migrated without loss.
The Mobiversal Approach
Complete Replace of the old stack + Build new + full Migrate of the historical data. The old code could no longer be reused, but the data was precious. Chosen stack: Expo + Supabase for a single codebase that delivers web, iOS, and Android simultaneously.
What we built
12 functional modules:
Authentication - email + password, MFA TOTP for staff/admin, AAL2 for privileged operations
Membership and payments - MobilPay integration, anti-double-payment with idempotency (TTL 20 min), reconciliation webhook
Events and registration - multi-date events, anti-overbooking via FOR UPDATE, atomic date change