March Fit is a fitness challenge platform for hosting multi-week challenges with activities, points, and leaderboards. The hosted service runs at march.fit.
This repository contains the full source (web app + backend). Contributions are welcome — see CONTRIBUTING.md.
- Challenges — create time-boxed fitness challenges with custom activity types and scoring rules
- Activity logging — participants log activities manually or sync from Strava
- Points & streaks — configurable point values per activity type with streak bonuses
- Leaderboards — real-time rankings updated as activities come in
- Community feed — see what other participants are up to
- Strava sync — automatic activity import via Strava webhooks
- Payments — optional Stripe integration for paid challenges
- Admin tools — challenge management, activity moderation, and Strava preview
- Frontend — Next.js 16, React 19, Tailwind CSS, shadcn/ui
- Backend — Convex (serverless database + functions)
- Auth — Better Auth with
@convex-dev/better-authadapter - Monorepo — pnpm workspaces + Turborepo
git clone https://github.com/prazgaitis/march-fitness-2026.git
cd march-fitness-2026
pnpm install
cp .env.example .env.local # fill in required values
pnpm convex:start # start local Convex containers (make sure Docker or similar is running)
pnpm convex:admin-key # generate admin key → .env.local
pnpm devThe dev server runs:
- Web app: http://localhost:3001
- Convex dashboard: http://localhost:6791
See docs/hosting.md for full self-hosting details.
- docs/architecture.md - system architecture
- docs/hosting.md - self-hosting and deployment
- docs/mcp-guide.md - using March Fit from AI assistants (Claude, ChatGPT, etc.)
- docs/admin-guide.md - challenge administration via AI chat
- docs/mcp.md - MCP endpoint reference
- packages/cli/README.md -
mfCLI usage
apps/web/ Next.js frontend
packages/backend/ Convex functions + schema
packages/cli/ Bun CLI (`mf`) for HTTP API usage
scripts/ Maintenance & seed scripts
docs/ Architecture and hosting guides
Run the March Fit CLI with:
./mf --helpConfigure API base URL and default challenge:
./mf config set --base-url https://<deployment>.convex.site --challenge <challengeId>Install mf into your shell PATH (one-time):
pnpm mf:install
mf --helpThis repo includes a CLAUDE.md with project conventions, commands, and architecture context for use with Claude Code and other AI coding tools.
See ROADMAP.md.
See CONTRIBUTING.md for development setup, conventions, and the PR process.