Kardiosense is an AI-powered cardiac risk prediction platform built in Uganda for clinicians who need reliable, offline-aware tools for cardiac screening and follow-up.
Mission statement: Taking care of your heart, beat by beat
| Path | Purpose |
|---|---|
.github/workflows/ |
CI pipelines for mobile, backend, and ML workstreams. |
mobile/ |
Flutter Android application for clinicians. |
backend/ |
FastAPI service, API routes, schemas, services, Docker setup, and Alembic config. |
ml/ |
AI/ML pipeline for ECG, clinical, fusion, and TensorFlow Lite export work. |
supabase/ |
Supabase SQL migrations and seed data. |
docs/ |
Product, architecture, UX, schema, and implementation documentation. |
- Flutter 3.19+
- Python 3.11+
- Docker
- Supabase CLI
Create your local environment file:
cp .env.example .envMobile workstream:
cd mobile
flutter pub get
flutter run --dart-define=SUPABASE_URL="$SUPABASE_URL" --dart-define=SUPABASE_ANON_KEY="$SUPABASE_ANON_KEY"Backend workstream:
cd backend
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reloadML workstream:
cd ml
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python -m pytestSupabase workstream:
supabase start
supabase db resetDocker backend:
docker compose up --buildThe root Compose file starts the FastAPI backend on http://127.0.0.1:8000
and Redis on localhost:6379. Keep Flutter mobile builds on the host machine
so the app can use the local Flutter SDK, emulators, desktop build tools, and
connected devices directly.