Model prepaid coverage instead of automatic monthly debt
Coverage expires without creating a new charge; a recorded return creates the next payable period, preserving the difference between inactivity and money owed.
A bilingual gym-management platform that gives Bangladeshi gyms a dependable alternative to paper ledgers for membership coverage, billing, attendance, receipts, and staff operations.

Local gyms often track members, payments, attendance, and outstanding balances through paper records or staff memory. That makes daily work slow and allows financial history, access boundaries, and membership state to become ambiguous.
Membership accounting must distinguish expired coverage from actual debt instead of inventing fees when a member stops attending.
Platform operators, gym administrators, staff, and members require different permissions with strict organization isolation.
The product must support English and Bangla, Bangladeshi taka, Asia/Dhaka dates, phone-first workflows, and future Android delivery.
Payment and attendance retries must remain idempotent so unreliable connections cannot create duplicate financial or operational records.
Expo Router and React Native provide a shared responsive interface, Convex owns realtime gym-scoped data and transactional commands, Better Auth manages sessions, and explicit domain services preserve billing and membership invariants.
Expo, React Native Web, role-aware navigation, bilingual content, and touch-friendly operational screens.
Pure billing and workspace rules model prepaid coverage, partial payments, offers, returns, reversals, and attendance.
Convex functions resolve the authenticated user, gym grant, role, and requested organization for every protected operation.
Better Auth sessions, hashed invitations, persistent sign-in budgets, Expo web delivery, and a future Android host.
Coverage expires without creating a new charge; a recorded return creates the next payable period, preserving the difference between inactivity and money owed.
Protected reads and commands resolve access grants inside Convex rather than trusting role or organization choices made by the interface.
Payment and attendance commands use stable command identities and uniqueness rules so retrying a request cannot duplicate a transaction or daily check-in.
The web-first release and planned Android client reuse product behavior while platform-specific capabilities remain explicit and independently verifiable.

Share your challenge, scope, and timeline to start a focused conversation.