AI-assisted triage dashboard for Personal Alert Button (PAB) alerts, built for HackOMania 2026.
This project is a monorepo MVP that helps operators monitor incoming alert cases, review AI-assisted triage outputs, and make faster response decisions using resident context, call history, and audio-derived signals.
Chia Yuan Jun
- GitHub: @cyuanjun
- LinkedIn: Chia Yuan Jun
Lee Jinseo (Jason)
- GitHub: @JSL124
- LinkedIn: Jinseo Lee
Su Yi Maung (Monica)
- GitHub: @Monica-Cheng
- LinkedIn: Monica Cheng
When a PAB alert is triggered, operators often need to make decisions quickly with incomplete information. This project aims to support that workflow by combining:
- Resident context from structured records
- Audio analysis from prerecorded or uploaded clips
- Language / dialect handling
- Rule-based triage fusion
- Operator review and final action tracking
The current implementation is designed as a modular MVP, with clean separation between frontend, backend, and persistence so it can evolve into a production-ready system later.
- Operator dashboard for viewing and managing alert cases
- FastAPI backend for case handling and API services
- Next.js frontend for a clean web-based interface
- Resident context lookup from CSV-backed repositories
- Case persistence using JSON files
- Audio upload pipeline scaffold
- Language detection, transcription, and translation hooks
- Derived medical / history flags
- Fusion-based triage engine
- Case workflow state transitions
- Future-ready repository abstraction for Supabase or database migration
.
├── backend/ # FastAPI service, repositories, tests, local data storage
├── frontend/ # Next.js + TypeScript + Tailwind dashboard
├── docs/ # Architecture notes
└── EXTRA/ # Extra materials / supporting files
frontend/: Next.js + TypeScript + Tailwind dashboardbackend/: FastAPI service with CSV repositories and JSON case storedocs/: architecture notes
cd backend
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000Optional (enables real transcript + language detection + translation):
$env:OPENAI_API_KEY = "sk-..."
# Optional model overrides
$env:OPENAI_WHISPER_MODEL = "whisper-1"
$env:OPENAI_TRANSLATION_MODEL = "gpt-4o-mini"
$env:OPENAI_SUMMARY_MODEL = "gpt-4o-mini"cd frontend
npm install
npm run devFrontend now calls a built-in same-origin proxy route by default (/api/proxy/*), which forwards to backend origin.
Optional backend origin override for the frontend proxy route:
$env:BACKEND_API_ORIGIN = "http://127.0.0.1:8000"Optional direct API base override (skip proxy):
$env:NEXT_PUBLIC_API_BASE_URL = "http://localhost:8000/api/v1"cd backend
pytest