Healthcare data visualization and analysis platform using the OMOP Common Data Model.
Linkr supports two deployment modes:
The app runs entirely in the browser — no server needed. Data processing is handled by DuckDB-WASM, code execution by Pyodide (Python) and webR (R), and persistence by IndexedDB. This mode can be deployed as a static site on GitLab Pages, GitHub Pages, or any static hosting.
# Install dependencies
npm install
# Start dev server
npm run dev:web
# Build for production
cd apps/web && npm run build
# Output is in apps/web/dist/ — deploy this folder as a static site🚧 Under development — the FastAPI backend is not yet ready for production use.
This mode adds a Python backend for server-side features: user authentication, PostgreSQL persistence, git versioning, and server-side code execution.
# Install dependencies
npm install
cd apps/api && pip install -e ".[dev]"
# Start both frontend and backend
npm run dev:all
# Or start them separately
npm run dev:web # Frontend (port 3000)
cd apps/api && uvicorn app.main:app --reload # Backend (port 8000)- Frontend: React + TypeScript + Vite + shadcn/ui
- Backend: FastAPI (Python) (in development)
- Database: PostgreSQL / SQLite / DuckDB
- In-browser runtimes: DuckDB-WASM, Pyodide, webR
- Monorepo: Turborepo