Platform Overview¶
Vision¶
Curaway -- "Care All The Way" -- is an AI-powered cross-border medical travel coordination platform that connects patients in the US, UK, and UAE with high-quality, accredited healthcare providers in India, Turkey, Thailand, and Spain. The platform combines clinical AI understanding, graph-based provider matching, and explainable reasoning to guide patients through every step of their medical travel journey.
The founding insight is simple: millions of patients face long wait times, unaffordable procedures, or limited access to specialists in their home countries. Meanwhile, world-class providers abroad offer the same (or better) outcomes at a fraction of the cost. Curaway bridges this gap with an AI-first approach that makes cross-border care safe, transparent, and accessible.
POC Flow¶
The proof-of-concept demonstrates the core patient journey in five steps:
graph LR
A[Upload Medical Report] --> B[AI Clinical Understanding]
B --> C[FHIR Record Generation]
C --> D[Provider Matching]
D --> E[Explainable Reasoning]
style A fill:#008B8B,color:#fff
style B fill:#008B8B,color:#fff
style C fill:#008B8B,color:#fff
style D fill:#FF7F50,color:#fff
style E fill:#FF7F50,color:#fff
| Step | Description | Key Technology |
|---|---|---|
| 1. Upload Report | Patient uploads medical documents (lab results, imaging, referral letters) via presigned R2 URLs | Cloudflare R2, QStash |
| 2. AI Clinical Understanding | Clinical Context Agent extracts entities, maps ICD-10/CPT codes, detects comorbidities | LangGraph, Claude Sonnet 4.6 |
| 3. FHIR Record | Extracted data is transformed into FHIR R4 resources and stored as validated JSONB | fhir.resources, PostgreSQL |
| 4. Provider Match | Graph traversal + semantic search + weighted scoring finds the best providers and doctors | Neo4j, Qdrant, Voyage AI |
| 5. Explainable Reasoning | Natural-language explanation of why each provider was recommended, in the patient's locale | Claude Haiku 4.5, Langfuse |
Single Entry Point
The entire conversational flow is accessed through one endpoint: POST /api/v1/cases/{id}/chat. The orchestrator routes messages to the appropriate sub-agent based on workflow phase.
Technology Stack¶
Backend Services¶
| Component | Technology | Hosting / Tier | Purpose |
|---|---|---|---|
| API Framework | FastAPI | Railway | REST API, async request handling |
| Agent Orchestration | LangGraph | In-process | Multi-step AI workflow management |
| Tool Wrappers | LangChain | In-process | Standardized tool interfaces for agents |
| Primary Database | PostgreSQL 15 | Railway (managed) | Relational data, FHIR JSONB storage |
| Graph Database | Neo4j 5.x | Neo4j Aura Free | Provider-condition-procedure relationships |
| Vector Database | Qdrant | Qdrant Cloud Free | Semantic search over providers and requirements |
| Cache / Rate Limiting | Upstash Redis | Free tier | Session cache, rate limiting, idempotency |
| Task Queue | QStash | Upstash Free | Async OCR callbacks, background jobs |
| Object Storage | Cloudflare R2 | Free tier (10GB) | Medical document storage |
| Authentication | Clerk | Free tier | Patient/provider auth, JWT validation |
| Feature Flags | Flagsmith | Free tier | Runtime configuration, A/B testing |
| LLM Observability | Langfuse | Free tier | Prompt management, cost tracking, traces |
| Resend | Free tier | Transactional email notifications | |
| Product Analytics | PostHog | Free tier | User behavior, A/B test analysis |
Frontend¶
| Component | Technology | Hosting | Purpose |
|---|---|---|---|
| Framework | Next.js 14 | Vercel | SSR, API routes, app router |
| UI Library | shadcn/ui + Tailwind | -- | Component system with Curaway theming |
| State | React Query | -- | Server state management |
AI / ML Models¶
| Model | Provider | Use Case | Cost Tier |
|---|---|---|---|
| Claude Haiku 4.5 | Anthropic | Agent conversations, intake, explanations | Low (~80% of calls) |
| Claude Sonnet 4.6 | Anthropic | Clinical analysis, complex reasoning | Medium (~20% of calls) |
| GPT-4o mini | OpenAI | High-volume classification tasks | Low |
| Voyage AI voyage-3.5-lite | Voyage AI | Embedding generation (1024 dims) | Low |
Key Constraints¶
The Curaway POC operates under a unique set of constraints that shape every architectural decision:
| Constraint | Details |
|---|---|
| Budget | $1,000 total for POC phase |
| Free-Tier Services | 21 services running on free or minimal tiers |
| Team Composition | Non-coder CPO/CTO (SD) leading the build with AI-assisted development |
| Timeline | POC delivery within weeks, not months |
| Regulatory | Must be HIPAA-aware from day 1 (consent, audit logs, encryption) |
| Scale Target | POC: 100 patients, 42 providers, 8 doctors |
Budget-Driven Architecture
Every technology choice is evaluated against the $1K budget ceiling. Free tiers are used wherever possible, but the architecture is designed so that upgrading any single service to a paid tier requires zero code changes -- only configuration updates.
Eight Non-Negotiable Rules¶
These rules govern every line of code, every design decision, and every architectural choice in Curaway. They were established at the start of the project and are enforced through code review, automated checks, and documentation.
1. Configurability First¶
Every behavioral parameter must be configurable at runtime without code deployment. This includes matching weights, model selection, prompt templates, feature toggles, and UI copy.
# Example: Matching weights are never hardcoded
weights = await get_config("matching.strategy.weights", tenant_id=tenant_id)
2. Feature Flags Everywhere (Flagsmith)¶
Every new capability ships behind a Flagsmith feature flag. Flags control:
- Agent behavior (
agent_enhanced_matching,agent_explanations_enabled) - UI features (
show_doctor_cards,enable_chat_v2) - Infrastructure (
use_qstash_callbacks,enable_r2_uploads) - Matching strategies (
matching_strategy_version)
if await flagsmith.get_flag("agent_enhanced_matching", tenant_id):
result = await agent_matching_strategy.match(case)
else:
result = await weighted_rules_strategy.match(case)
3. Multi-Tenancy (tenant_id Everywhere)¶
Every database table includes a tenant_id column. Every API request carries an X-Tenant-ID header. Every query filters by tenant. No exceptions.
Why Multi-Tenancy in a POC?
Curaway is designed to support white-label deployments for hospital groups, insurance networks, and medical tourism agencies. Building multi-tenancy from day 1 avoids a painful retrofit later.
4. Production-Evolvable POC¶
The POC is not a throwaway prototype. Every component is built to evolve into production with scaling, not rewriting. Database schemas include all production columns (even if unused in POC). API contracts follow REST best practices. Error handling is comprehensive.
5. Neo4j from Day 1¶
The provider-condition-procedure relationship graph is stored in Neo4j, not modeled as relational joins. This enables:
- Multi-hop traversals (Patient → Condition → Procedure → Provider → Doctor)
- Relationship-rich queries with metadata on edges
- Visual debugging of the provider network
- Future expansion to treatment pathways and outcome correlations
6. Branded UI (Teal and Coral)¶
Every user-facing element follows the Curaway brand guidelines:
| Element | Color | Hex |
|---|---|---|
| Primary (Teal) | Trust, healthcare, professionalism | #008B8B |
| Accent (Coral) | Warmth, action, care | #FF7F50 |
| Background | Clean, clinical | #F8FFFE |
| Text | Readable, accessible | #1A1A2E |
7. Modular Monolith (Microservices-Ready)¶
The codebase is a single FastAPI application, but internally organized as independent modules with clear boundaries:
app/
modules/
clinical/ # Clinical context, FHIR, document processing
matching/ # Provider matching, strategies, scoring
intake/ # Patient intake, conversations
providers/ # Provider management, doctor profiles
agents/ # LangGraph agents, MCP server
notifications/ # Email, SMS, push
analytics/ # Events, PostHog integration
Each module can be extracted into a standalone service when scale demands it.
8. Step-by-Step Guidance¶
Claude Code (the AI development assistant) must explain every decision, present trade-offs before implementation, and guide SD through the reasoning. No black-box changes. Every commit message explains the "why."
Brand Identity¶
Curaway = "Care All The Way"
The name captures the platform's promise: continuous care coordination from the moment a patient considers medical travel through post-procedure follow-up. The brand combines clinical authority (teal) with human warmth (coral).
██████╗██╗ ██╗██████╗ █████╗ ██╗ ██╗ █████╗ ██╗ ██╗
██╔════╝██║ ██║██╔══██╗██╔══██╗██║ ██║██╔══██╗╚██╗ ██╔╝
██║ ██║ ██║██████╔╝███████║██║ █╗ ██║███████║ ╚████╔╝
██║ ██║ ██║██╔══██╗██╔══██║██║███╗██║██╔══██║ ╚██╔╝
╚██████╗╚██████╔╝██║ ██║██║ ██║╚███╔███╔╝██║ ██║ ██║
╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝ ╚═╝
Care All The Way
Team¶
| Name | Role | Focus |
|---|---|---|
| SD (Srikanth Donthi) | CPO / CTO | Architecture, AI development, product strategy |
| Prasad | CEO | Business strategy, partnerships, fundraising |
| Bhaskar | Co-Founder | Operations, provider relationships |
| Krishna | Co-Founder | Market development, patient acquisition |
| Dr. Shrikanth Naidu | Clinical Advisor | Clinical validation, medical protocol review |
| Engineering Team | Hyderabad | Frontend, backend, QA, DevOps |
AI-Assisted Development
SD leads technical development with Claude Code as the primary development assistant. This unique approach means the architecture must be exceptionally well-documented, self-explanatory, and maintainable -- because the documentation IS the development methodology.
Architecture Principles Summary¶
graph TD
A[Configurability First] --> B[Production-Evolvable POC]
C[Feature Flags Everywhere] --> B
D[Multi-Tenancy] --> B
E[Neo4j from Day 1] --> B
F[Modular Monolith] --> B
G[Branded UI] --> H[Patient Trust]
B --> I[Curaway Platform]
H --> I
style A fill:#008B8B,color:#fff
style C fill:#008B8B,color:#fff
style D fill:#008B8B,color:#fff
style E fill:#008B8B,color:#fff
style F fill:#008B8B,color:#fff
style G fill:#FF7F50,color:#fff
style H fill:#FF7F50,color:#fff
style I fill:#1A1A2E,color:#fff
What's Next¶
| Document | Description |
|---|---|
| Data Model | PostgreSQL schema, Neo4j graph, Qdrant collections, FHIR resources |
| Agent System | LangGraph orchestration, sub-agents, MCP server |
| Matching Engine | Strategy pattern, scoring dimensions, doctor-level matching |
| Document Pipeline | Upload flow, OCR stack, clinical extraction |
| LLM Routing | Model selection, cost optimization, prompt management |