AI-assisted regulatory change impact analysis for banks — translates an uploaded regulation document into obligations, maps them to internal controls and affected applications, scores risk, and generates a prioritized implementation roadmap, with a human-governed review layer on top.
Full technical reference — architecture, data model, complete API catalog, auth, CI/CD, deployment, design principles — lives in API_DOCS.md. This file is just enough to get the stack running locally.
- Python 3.11 / FastAPI — REST API and business logic
- React 18 / TypeScript / Vite — dashboard frontend
- PostgreSQL (or local SQLite) with pgvector-ready columns
- SQLAlchemy / Alembic — ORM and schema migrations
- Docker Compose — local PostgreSQL on port 5433 (optional)
- Ollama (
gemma3:4b) / Vertex AI (gemini-2.5-pro) — pluggable AI provider, deterministic fallback by default - Google Cloud Run — container deployment target, with automatic CI/CD
- Node.js 20+
- Python 3.11+
- Docker Desktop — optional; local SQLite works without it
- Free local ports: 5173 (frontend), 8010 (backend), 5433 (Postgres, if used)
git clone https://github.com/db-hackathon/devdynamos.git
cd devdynamos
# 1. (Optional) start PostgreSQL — skip this to use local SQLite instead
docker compose up -d postgres
# 2. Backend
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # macOS / Linux
pip install -r backend/requirements.txt
Copy-Item .env.example .env # or: cp .env.example .env
uvicorn backend.app.main:app --reload --port 8010
# 3. Frontend (second terminal)
npm --prefix frontend install
npm --prefix frontend run devOpen http://localhost:5173. init_db() runs automatically on backend
startup — it creates any missing tables and seeds the compliance-graph demo
data, so no separate migration step is required for local dev.
- Click Load DORA demo for a zero-setup, canned walkthrough of the review UI, or
- Upload a real file from
mock/regulations/through the intake form to exercise the full pipeline end to end.
See API_DOCS.md's Demo Walkthrough for exact field values and verified expected output per sample file.
- Frontend: http://localhost:5173
- Backend health: http://localhost:8010/api/health
- API docs (Swagger UI): http://localhost:8010/docs
npm --prefix frontend run build
npm --prefix frontend run test
cd backend
python -m compileall app ../agents
python -m pytest tests -q
python -m pytest ../agents/tests -qFrontend can't reach the backend — start uvicorn with --port 8010
explicitly (it defaults to 8000 otherwise).
Upload/process returns 401 — mutating endpoints require an
X-User-Role header. See API_DOCS.md's Auth section.
Database not reachable — docker compose ps, or unset DATABASE_URL
in .env to fall back to local SQLite (no Docker needed).
Clean database reset:
docker compose down -v
docker compose up -d postgres(init_db() re-creates schema and re-seeds the compliance graph
automatically on next backend startup.)
CI (build + test) runs on every push/PR; CD auto-deploys both services to
Cloud Run after CI succeeds on main. Full details, including a one-time
manual bootstrap step (database + CORS), are in
API_DOCS.md's Deployment & CI/CD section.
- Fork the repo
- Create your feature branch (
git checkout -b feature/thing) - Commit your changes (
git commit -m 'Add thing') - Push to the branch (
git push origin feature/thing) - Open a Pull Request
If you discover a security vulnerability, please do not open a public issue — email the maintainer directly.
Distributed under the MIT License. See LICENSE for details.
- Deutsche Bank TDI Global Hackathon 2026 organising team
- DORA (Digital Operational Resilience Act) as the seeded regulation scenario
- FastAPI, SQLAlchemy, Alembic, Vite, and pgvector open-source projects
Team devdynamos — db-hackathon/devdynamos Om Naphade · LinkedIn · Portfolio · GitHub