Decision support, not a diagnosis. Correlate every finding with a licensed clinician and the full clinical picture.

MACH

Architecture

Athletic Insight is a modular monolith with service contracts. The SPA is one client of `/api/v1`. Source diagram: docs/architecture.mmd.

M

Microservices

Bounded contexts: identity, knowledge, imaging, dicom, cases. One deploy unit today; contracts are split so each can move to its own runtime.

A

API-first

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

Cloud-native

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

Headless

UI never talks to SQL. Knowledge graph, DICOM catalog, cases, and vision interpretation are consumed over HTTP.

Services

  • Identity

    Better Auth sessions (Google / X). Cookie or preview bearer.

    /api/auth

    public
  • Knowledge graph

    Sports-injury graph catalog and match (imaging + clinical tests → grade → RTP).

    /api/v1/kg

    public
  • Imaging

    Vision interpretation of X-ray / US / CT / MRI, then graph match.

    /api/v1/imaging

    auth
  • DICOM

    Patient / Study / Series / Instance catalog. Pixels stay on Drive. Production reads aivdb via ORDS.

    /api/v1/studies

    public
  • Cases

    Per-user saved matches. Isolated by session user id.

    /api/v1/cases

    auth

Request path

Client

SPA or other HTTP client

/api/v1

Versioned JSON contract

Service

One bounded context

Data

Postgres · Drive · xAI