Skip to content

eshaanag/radix-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RadiX

RadiX is a Next.js clinical imaging workstation for AI-assisted radiology review. It supports scan upload, AI analysis, doctor review state, consultation chat, surgical comparison, voice assistance, signed private scan storage, and Supabase-backed clinical records.

This repository is the cleaned production scaffold rebuilt from the hackathon prototype. It intentionally excludes local scan files, real environment files, demo archives, and generated build artifacts.

Stack

  • Next.js 16 App Router with TypeScript
  • React 18
  • Tailwind CSS
  • Supabase Auth, Postgres, Row Level Security, and private Storage
  • Claude, Gemini, and local MedGemma provider paths
  • ElevenLabs text-to-speech
  • Jest and Playwright
  • GitHub Actions CI

Required Services

  • Supabase project with the migrations in supabase/migrations applied
  • Anthropic and/or Gemini API key for production AI inference
  • Optional local MedGemma service exposed through MEDGEMMA_API_URL
  • Optional ElevenLabs API key for speech generation

Environment

Create .env.local from .env.example and fill only local values. Never commit .env*.

Required for production runtime:

  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY or NEXT_PUBLIC_SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY

At least one AI path should be configured:

  • ANTHROPIC_API_KEY
  • GEMINI_API_KEY
  • MEDGEMMA_API_URL

Optional:

  • ELEVENLABS_API_KEY
  • AI_PROVIDER
  • CLAUDE_MODEL
  • NEXT_PUBLIC_SITE_URL

Development

npm install
npm run dev

Open http://localhost:3000.

Verification

Run the full non-browser gate:

npm run ci:verify

Run Playwright smoke tests:

npm run test:e2e

The authenticated E2E flow is skipped unless demo credentials are supplied through environment variables.

Health Check

GET /api/health returns deployment readiness without exposing secret values.

  • 200 means required Supabase runtime configuration is present.
  • 503 means required runtime configuration is missing or still uses placeholder values.

Database

Migrations live in supabase/migrations.

Important production properties:

  • clinical tables use authenticated ownership RLS
  • audit_log is append-only at the database level
  • scan-images is a private storage bucket
  • storage policies restrict reads/writes to the authenticated user's folder prefix

Documentation

About

AI-assisted radiology workstation for scan analysis, clinical review, consultation, and secure imaging records.

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors