Cadent is an open‑source, privacy‑first running and cycling tracker designed for athletes, coaches, and developers who need accurate performance analytics without subscription walls or data‑harvesting platforms.
This README serves both users and developers, providing onboarding, hosting, device connectivity, and contribution guidelines.
- Live GPS activity tracking
- Offline cache + sync on reconnect
- Valhalla‑based high‑accuracy map matching
- BLE device integration (HRM, cadence)
- Secure authentication (Argon2id + OAuth2)
- Self‑hosting support (1 CPU core, 2GB RAM minimum)
- Shareable activity visualizations
- Open‑source API + integration layer for device vendors
- Download Cadent (store deployment coming soon)
- Create an account or sign in with OAuth
- Grant permissions for GPS + sensors
- Start an activity → run or ride
- Pause/finish → view detailed maps + stats
- Navigate to Settings → Devices → Bluetooth
- Select Pair New Device
- Supported profiles include: heart rate, cadence sensors
- 1 CPU core
- 2GB RAM
- PostgreSQL 18+
- Optional: Valhalla + tile server (for local map processing)
docker compose up --buildBackend, PostgreSQL, Valhalla, and tile server will start.
- Flutter SDK
- Dart
- Go 1.22+
- PostgreSQL 18+
git clone https://github.com/sdmay26-14/cadent
cd cadent/mobile
flutter pub get
flutter runBackend:
cd cadent/server
make devREST endpoints are documented in the /docs module.
/auth/*— login/signup, OAuth/activities/*— create, stream, view, share/devices/*— BLE integration helpers
Cadent supports:
- Heart rate monitors
- Cadence sensors
- Cycling wearables
BLE reconnect logic ensures data persistence during movement and signal loss.
Cadent does not monetize or share fitness data. Users may:
- Host locally
- Disable cloud sync entirely
- Export/delete all data
Data is stored using encryption standards and secure authentication flows.
- Unit tests for backend + Flutter service logic
- Integration tests for BLE, routes, and auth
- System tests validating full activity recording
- k6 performance tests for backend throughput
- Fork the repository
- Create a feature branch
- Submit pull request with passing test suite
git checkout -b feature/new-moduleWe welcome:
- Device integration plugins
- Map style enhancements
- UI improvements
Cadent is fully open‑source, built for transparency and community collaboration.
Team Email: sdmay26-14@iastate.edu Website: sdmay26-14.sd.ece.iastate.edu
For bug reports, open a GitHub issue with reproduction steps.