An automated fitness management platform engineered with Flutter Web and Firebase serverless architecture to eliminate membership expiry revenue leakage and automate customer fee reminders via Email & WhatsApp.
Titan Gym grew from a local fitness studio into a premier gym with hundreds of active members. However, as member volume expanded, front-desk operations began experiencing severe friction due to reliance on paper registers, manual spreadsheets, and manual phone call/WhatsApp reminders for fee renewals.
Administrative staff lost track of membership end dates, resulting in members continuing to use gym facilities long after their plans expired without paying. Outstanding balances and partial payment installments recorded in paper notebooks caused accounting discrepancies and uncollected revenue.
To eliminate revenue leakage, streamline member onboarding, and automate fee collection workflows, Titan Gym commissioned the development of the Titan Gym Automated Notification & Management Platform — equipped with automated WhatsApp and Email reminder pipelines.
Upload legacy Excel member records to onboard 200+ members in under 2 minutes with automated validation.
excel + chunked Firestore batch writes.Multi-stage WhatsApp messages & HTML emails dispatched at T-3 days, T-1 day, and on expiry day to customers & admins.
Log installment payments (UPI, Cash, Card), calculate pending balance dues, and maintain audit trails.
Live KPI summary cards for Active Members, Expiring Soon, Monthly Revenue, and Pending Balances.
The application is structured into four decoupled layers: Presentation Layer (Flutter Material 3 UI), State Layer (Riverpod 3.0 reactive providers), Repository Layer (NoSQL data mappings), and Cloud Infrastructure (Firebase Firestore, Node.js 20 Cloud Functions, WhatsApp API & Nodemailer SMTP).
Live metric widgets tracking active members, expiring subscriptions, monthly INR revenue, and outstanding balance dues.
Comprehensive directory with status filtering (Active, Expiring Soon, Expired), emergency contacts, and historical payment logs.
Browser-side binary stream parsing with duplicate phone validation and sub-100 row batch insertion into Cloud Firestore.
Automated plan duration calculation (Days, Months, Years), IST start date alignment, and status lifecycle tracking.
Record Cash, UPI, and Card transactions with auto-calculated balance dues and individual receipt reference numbers.
Daily Cloud Function cron (09:00 AM IST) triggering automated WhatsApp messaging and personalized HTML email reminders for members & admins.
Challenge: Firebase Cloud Functions run on UTC servers, causing daily cron triggers to evaluate membership expsies at odd hours or miss IST midnight boundaries.
Solution: Enforced explicit Asia/Kolkata timezone calculations in Dart (Intl) and Node.js datetime formatters so daily WhatsApp and Email dispatch jobs execute accurately at 09:00 AM IST.
Challenge: Storing WhatsApp API keys and SMTP passwords in client-readable Firestore documents exposed messaging credentials to browser network inspection.
Solution: Created private Firestore collections (gym_settings/smtp_secrets) protected by Firestore Security Rules, accessible only via HTTPS Callable Firebase Cloud Functions.
Challenge: Parsing hundreds of member rows from uploaded Excel sheets threatened to hit Firestore write limits (500/batch) and freeze the web client UI.
Solution: Engineered an async chunked batch service (ExcelImportService) that validates phone numbers, parses streams in web workers, and commits batches under 100 operations.
Titan Gym completely eliminated manual reminder phone calls, automated daily WhatsApp & Email notifications to members and gym admins, recovered uncollected fees, and gained total real-time financial visibility.