FitFund
A fitness crowdfunding platform where users run "moveathon" campaigns — tracking exercise (GPS/pedometer) to raise money for beneficiaries through per-mile pledges and flat donations. For athletes, sponsors, campaign organizers, and charitable beneficiaries.
Overview
FitFund is a fitness crowdfunding platform: users run “moveathon” campaigns, tracking their exercise via GPS and pedometer to raise money for beneficiaries through per-mile pledges and flat donations. It connects athletes, sponsors, campaign organizers, and charitable beneficiaries — with real-time activity tracking, Stripe-powered sponsorship, and a full admin panel. Built as a React Native (Expo) app on a Laravel API backend.
Key Features
- Multi-step campaign creation with athletes, sponsors, beneficiaries, and per-mile / flat pledge types.
- Real-time activity tracking via background GPS and pedometer, feeding 9 leaderboards.
- Stripe-powered sponsorship: per-mile pledges auto-calculated on distance, auto-payment at campaign end, and refunds.
- Beneficiary system with approval workflow, transparency stories, followers, and QR-code campaign sharing.
- Guest mode plus a teammate / social layer with age-gated (18+) messaging and granular push / email notification controls.
- Filament admin dashboard for managing users, campaigns, beneficiaries, refunds, and story moderation.
Challenges & Solutions
Continuous background distance tracking survives app-switch and screen-off via expo-task-manager plus a foreground-service hand-off (working around iOS 16KB-page and motion-permission caveats).
Post-campaign pledge collection is fully automated through scheduled jobs that auto-charge saved cards at the LIVE → PROCESSING transition, including refunds and Stripe webhook handling.
A subtle production bug — publishing a transparency story made a beneficiary un-viewable — traced to an eager-loaded, non-existent Eloquent relationship; a single fix resolved a whole cluster of “beneficiary not found” errors.
Results & Impact
?? Pre-release. Add real numbers (users, campaigns, funds raised) when live.