Hackathon BRAVE | Civil42 | 11-12.04.2026
Platforma sytuacyjna AI dla samorządów. Dashboard z interaktywną mapą GIS województwa lubelskiego — agreguje dane o wypadkach, jednostkach służb i sieci dróg. Voice-first AI overview przez ElevenLabs. Działa offline dzięki przełącznikowi cloud/local z automatycznym fallbackiem.
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r backend/requirements.txt
cp backend/.env.example backend/.env
python data/seed.py
PYTHONPATH=. python -m uvicorn backend.main:app --reload --port 8000cd frontend
corepack pnpm install
cp .env.example .env.local
corepack pnpm devollama pull mistral
ollama serveAI_MODE=autotries cloud first, then local model, then deterministic fallback- AI retries are configurable with
CLOUD_AI_MAX_RETRIES/LOCAL_AI_MAX_RETRIES GET /api/v1/healthreports provider reachability for deploy checks
| Osoba | Rola |
|---|---|
| Eryk | Backend, infra, deploy, Comtegra offline |
| Tomek | AI core, RAG, LLM prompts, Ollama |
| Kamil | Frontend, mapa GIS, UI/UX |
| Kuba | Voice (ElevenLabs), frontend features |
| Szymon | Data, QA, pitch, prezentacja |
citymind/
├── frontend/ — Next.js + Tailwind
├── backend/ — FastAPI + SQLite
├── ai/ — Prompts, RAG config
├── voice/ — ElevenLabs integration
├── data/ — Datasets, GeoJSON, seed scripts
├── pitch/ — Deck, demo script
└── docs/ — API contracts
- Backend API, seeded data, dispatch logic and AI failover are merged
- Frontend compiles, but the GIS dashboard work is not yet present on
main - Backend is validated on Python 3.14 with the pinned dependencies in
backend/requirements.txt
- Backend deploy scaffold:
backend/Dockerfile+railway.json - Backup backend scaffold:
render.yaml - Frontend deploy scaffold:
frontend/vercel.json - Full steps:
docs/DEPLOY.md
Kod stworzony na hackathonie BRAVE. Prawa autorskie do prototypu przenoszone na Urząd Marszałkowski Województwa Lubelskiego (warunek nagrody side quest).