A specialized medical AI assistant powered by the Nelson Textbook of Pediatrics, designed for healthcare professionals and medical students.
āāā backend/
ā āāā index.ts # Main API server
ā āāā routes/
ā ā āāā chat.ts # Chat API endpoints
ā ā āāā embeddings.ts # Embedding generation
ā āāā services/
ā āāā supabase.ts # Supabase client
ā āāā mistral.ts # Mistral API client
ā āāā embeddings.ts # HuggingFace embeddings
āāā frontend/
ā āāā index.html # Main HTML template
ā āāā index.tsx # React entry point
ā āāā components/
ā ā āāā App.tsx # Main app component
ā ā āāā SplashScreen.tsx
ā ā āāā ChatInterface.tsx
ā ā āāā Sidebar.tsx
ā ā āāā MessageBubble.tsx
ā āāā hooks/
ā ā āāā useChat.ts # Chat functionality hook
ā āāā services/
ā ā āāā api.ts # API client
ā ā āāā offline.ts # Offline storage
ā āāā manifest.json # PWA manifest
ā āāā sw.js # Service worker
āāā shared/
āāā types.ts # Shared TypeScript types
The following environment variables are configured:
VITE_MISTRAL_API_KEY
: Mistral API key for LLM responsesVITE_SUPABASE_URL
: Supabase project URLVITE_SUPABASE_ANON_KEY
: Supabase anonymous keyVITE_SUPABASE_SERVICE_ROLE_KEY
: Supabase service role keyVITE_HUGGINFACE_API_KEY
: Hugging Face API key for embeddings