The solution
Mojo-360 is a three-platform video content ecosystem I delivered for a digital media organization:
Admin dashboard (React): Content management, user roles (admin, staff, customer), video upload with resumable TUS protocol, playlist organization, analytics, and monetization settings.
API server (Node.js/Express): Authentication with JWT and MFA, BunnyStream video processing and transcoding, Supabase for database and auth, Razorpay subscription payments, push/email/SMS notifications, and social features (comments, sharing).
Mobile app (Expo/React Native): Video streaming via Bunny.net, OTP authentication, subscription management, offline content caching, picture-in-picture playback, and social interaction.
Technical approach
The platforms share a unified API contract. Video uploads use the TUS protocol for resumable transfers to BunnyStream, with automatic transcoding and thumbnail generation. The admin dashboard handles content workflows; the mobile app consumes the same content via the API with offline caching for poor connectivity.
Monetization runs through Razorpay with subscription plans, trial management, and invoice generation. Role-based access controls separate admin, staff, and customer experiences across all surfaces.
Outcome
A production video CMS with web admin, API backend, and iOS/Android mobile app, enabling content creation, distribution, subscription revenue, and audience engagement across channels.