Decision support, not a diagnosis. Correlate every finding with a licensed clinician and the full clinical picture.
MACH
Athletic Insight is a modular monolith with service contracts. The SPA is one client of `/api/v1`. Source diagram: docs/architecture.mmd.
M
Bounded contexts: identity, knowledge, imaging, dicom, cases. One deploy unit today; contracts are split so each can move to its own runtime.
A
Every capability is reachable as JSON over /api/v1. Production DICOM catalog is also published as ORDS /ords/aiv/v1. The SPA is a client, not the source of truth.
C
Stateless handlers, env-based config, health endpoint, Postgres via Neon or embedded PGLite, Oracle ATP aivdb via ORDS when ORDS_BASE_URL is set.
H
UI never talks to SQL. Knowledge graph, DICOM catalog, cases, and vision interpretation are consumed over HTTP.
Better Auth sessions (Google / X). Cookie or preview bearer.
/api/auth
Sports-injury graph catalog and match (imaging + clinical tests → grade → RTP).
/api/v1/kg
Vision interpretation of X-ray / US / CT / MRI, then graph match.
/api/v1/imaging
Patient / Study / Series / Instance catalog. Pixels stay on Drive. Production reads aivdb via ORDS.
/api/v1/studies
Per-user saved matches. Isolated by session user id.
/api/v1/cases
Request path
Client
SPA or other HTTP client
/api/v1
Versioned JSON contract
Service
One bounded context
Data
Postgres · Drive · xAI