Verify medical bills against DHA/DoH guidelines instantly using AI-powered compliance checking for Dubai & UAE healthcare providers
- Features
- Tech Stack
- Architecture
- Quick Start
- Installation
- Configuration
- Project Structure
- API Documentation
- Usage Guide
- Contributing
- License
- Support
- Instant OCR: Extract patient, provider, doctor, amount, and procedure data from bills
- DHA/DoH Compliance: Verify bills against Dubai Health Authority and Department of Health guidelines
- Compliance Score: Get 0-10 score indicating billing accuracy and guideline compliance
- Issues Detection: Flag potential overbilling, upcoding, or medical necessity violations
- Smart Chatbot: Ask questions about your claim and get instant answers
- Context-Aware: Elyza understands your specific bill and compliance score
- Guidance: Get step-by-step help with billing questions, disputes, and appeals
- Voice Support: [Coming Soon] Speak to Elyza and hear responses
- Upload History: View all submitted medical bills
- Detailed Results: See extracted data, compliance findings, and recommendations
- Export Reports: Download audit reports for insurance claims
- Status Tracking: Monitor bill verification status (PASS/FLAGGED)
- Secure Accounts: Sign up with email/password
- Profile Management: Update name, email, and profile picture
- Claim History: Access all past verifications
- Personal Dashboard: See statistics (claims verified, total savings, success rate)
- Mobile-First: Works perfectly on phones, tablets, desktops
- Modern UI: Clean, intuitive interface built with Tailwind CSS
- Dark Mode: [Coming Soon] Eye-friendly dark theme
- React 18 - UI framework
- Next.js 14 - Full-stack framework with SSR
- Tailwind CSS - Utility-first CSS framework
- v0.dev - AI-assisted component generation
- Axios - HTTP client
- TypeScript - Type safety
- Node.js 18+ - Runtime
- Express.js 4 - Web framework
- JWT - Authentication tokens
- bcrypt - Password hashing
- Groq API - Fast LLM for OCR, chat, compliance checking
llama-3.1-70b-versatile- Vision + Text model
- Comet ML - Experiment tracking & logging
- Supabase - PostgreSQL database
- Supabase Storage - File storage for images
- PostgREST - Auto-generated REST API
- Vercel - Frontend hosting
- Docker - Containerization [Optional]
- GitHub - Version control
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FLUSSO FRONTEND (React + Next.js) β
β βββββββββββ¬βββββββββββ¬βββββββββββ¬ββββββββββ¬βββββββββββββ β
β β Auth βDashboard β Upload βHistory βProfile β Chatbot β
β βββββββββββ΄βββββββββββ΄βββββββββββ΄ββββββββββ΄βββββββββββββ β
ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ
β HTTPS REST API
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β BACKEND (Express.js + Node.js) β
β ββββββββββββ¬βββββββββ¬ββββββββββ¬ββββββββββ¬βββββββββββββ β
β β Auth β Upload β Chat β Claims β Profile β β
β β Routes β Routes β Routes β Routes β Routes β β
β ββββββββββββ΄βββββββββ΄ββββββββββ΄ββββββββββ΄βββββββββββββ β
β βββ β
β ββββββββββββ¬ββββββββββββββββ¬βββββββββββββββββββββ β
β β Groq API β Comet ML β Supabase β β
β β (OCR) β (Logging) β (Database) β β
β ββββββββββββ΄ββββββββββββββββ΄βββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Bill Upload β OCR Extraction β Compliance Check β Results Display
- Chat β Context Fetch β Groq Response β Database Storage β User Display
- Profile β Form Edit β Validation β Database Update β Confirmation
- π API Documentation
- π User Flow Architecture
- π Code Documentation
- π Implementation Guide
- Node.js 18+
- npm or yarn
- Git
# 1. Clone repository
git clone https://github.com/yourusername/flusso.git
cd flusso
# 2. Install dependencies
npm install
# 3. Create environment file
cp .env.example .env.local
# 4. Fill environment variables (see Configuration section)
# 5. Start development server
npm run dev
# 6. Open browser
# Frontend: http://localhost:3000
# Backend: http://localhost:5000Step 1: Clone Repository
git clone https://github.com/yourusername/flusso.git
cd flussoStep 2: Install Dependencies
# Frontend & Backend dependencies
npm install
# Or with yarn
yarn installStep 3: Install Specific Packages
# Core dependencies
npm install react@18 next@14 express@4 axios
# AI/ML services
npm install groq-sdk comet-ml
# Database
npm install @supabase/supabase-js
# Security
npm install jsonwebtoken bcrypt
# Environment variables
npm install dotenv
# Development
npm install --save-dev typescript @types/node eslintStep 4: Create Directories
mkdir -p src/components src/pages src/styles
mkdir -p server/routes server/middleware server/services
mkdir -p docsStep 5: Initialize Database
# Create Supabase account at https://supabase.com
# Run migrations (see Configuration section)
npm run migrateCreate .env.local file in project root:
# Frontend Config
NEXT_PUBLIC_API_URL=http://localhost:5000
NEXT_PUBLIC_SUPABASE_URL=https://YOUR-PROJECT.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR-ANON-KEY
# Backend Config
GROQ_API_KEY=gsk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
COMET_API_KEY=your_comet_api_key_here
COMET_PROJECT_NAME=flusso-medical-verification
COMET_WORKSPACE=your_workspace_name
# Supabase
SUPABASE_SERVICE_ROLE_KEY=YOUR-SERVICE-ROLE-KEY
SUPABASE_DB_PASSWORD=YOUR-DB-PASSWORD
# JWT Secret
JWT_SECRET=your-super-secret-jwt-key-change-this
# Server
PORT=5000
NODE_ENV=developmentGroq API:
- Visit console.groq.com
- Sign up / Login
- Generate API key in Settings
- Copy to
GROQ_API_KEY
Comet ML:
- Visit comet.com
- Create workspace
- Get API key from Settings
- Copy to
COMET_API_KEY
Supabase:
- Visit supabase.com
- Create new project
- Copy URL and Anon Key
- Create tables using SQL migrations
Create Users Table:
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
full_name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL,
password_hash TEXT NOT NULL,
profile_picture TEXT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);Create Claims Table:
CREATE TABLE claims (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID NOT NULL REFERENCES users(id),
patient_name TEXT NOT NULL,
provider_name TEXT NOT NULL,
doctor_name TEXT,
department TEXT,
claim_date DATE,
amount DECIMAL(10, 2),
services JSONB,
icd10_codes TEXT[],
cpt_codes TEXT[],
compliance_score INTEGER,
status TEXT CHECK (status IN ('PASS', 'FLAGGED')),
analysis_details JSONB,
image_url TEXT,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW()
);Create Chat Messages Table:
CREATE TABLE chat_messages (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
claim_id UUID NOT NULL REFERENCES claims(id),
user_id UUID NOT NULL REFERENCES users(id),
role TEXT CHECK (role IN ('user', 'assistant')),
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT NOW()
);flusso/
βββ app/ # Frontend (Next.js)
β βββ auth/ # Authentication pages
β β βββ page.jsx
β βββ dashboard/ # Dashboard
β β βββ page.jsx
β βββ upload/ # Bill upload
β β βββ page.jsx
β βββ results/[claimId]/ # Results page
β β βββ page.jsx
β βββ profile/ # Profile settings
β β βββ page.jsx
β βββ history/ # Claims history
β β βββ page.jsx
β βββ help/ # Help & FAQs
β β βββ page.jsx
β βββ layout.jsx # Root layout
β βββ page.jsx # Home page
β
βββ components/ # Reusable components
β βββ Chatbot.jsx # Elyza chatbot
β βββ Navbar.jsx # Navigation
β βββ Upload.jsx # Upload component
β βββ Results.jsx # Results display
β βββ ...
β
βββ server/ # Backend (Express.js)
β βββ routes/
β β βββ auth.js # Authentication routes
β β βββ upload.js # Upload routes
β β βββ chat.js # Chat routes
β β βββ claims.js # Claims routes
β β βββ profile.js # Profile routes
β β
β βββ middleware/
β β βββ auth.js # JWT validation
β β βββ errorHandler.js # Error handling
β β
β βββ services/
β β βββ groq-ocr.js # OCR service
β β βββ groq-chat.js # Chat service
β β βββ groq-compliance.js # Compliance service
β β βββ comet-logger.js # Logging service
β β
β βββ db/
β β βββ migrations.sql # Database schema
β β
β βββ index.js # Express server
β
βββ lib/ # Utility functions
β βββ supabase.js # Supabase client
β βββ jwt.js # JWT utilities
β βββ validators.js # Input validation
β
βββ docs/ # Documentation
β βββ API_DOCS.md # API endpoints
β βββ USER_FLOW_ARCHITECTURE.md # Complete flows
β βββ FLUSSO_API_DOCS.md # Code docs
β βββ CLAUDE_FLOW_PROMPTS.md # Claude prompts
β
βββ styles/ # Tailwind CSS
β βββ globals.css
β
βββ public/ # Static files
β βββ logo.png
β βββ favicon.ico
β
βββ .env.example # Example env variables
βββ .env.local # Local env (gitignored)
βββ .gitignore
βββ package.json
βββ tsconfig.json
βββ next.config.js
βββ tailwind.config.js
βββ README.md # This file
Sign Up
POST /api/auth/signup
Content-Type: application/json
{
"full_name": "Muaaz Syed",
"email": "muaaz@example.com",
"password": "SecurePass123!",
"profile_picture": "base64_string"
}
Response: { success: true, token: "jwt_token", user: {...} }Login
POST /api/auth/login
Content-Type: application/json
{
"email": "muaaz@example.com",
"password": "SecurePass123!"
}
Response: { success: true, token: "jwt_token", user: {...} }Upload Bill
POST /api/upload
Authorization: Bearer jwt_token
Content-Type: application/json
{
"image": "base64_string",
"fileName": "bill.jpg"
}
Response: {
success: true,
claimId: "uuid",
results: {
patient_name: "...",
provider_name: "...",
compliance_score: 9,
status: "PASS"
}
}Send Message
POST /api/chat
Authorization: Bearer jwt_token
Content-Type: application/json
{
"message": "Is this bill compliant?",
"claimId": "uuid"
}
Response: {
success: true,
response: "Yes! This bill is compliant..."
}Full API docs: See API_DOCS.md
-
Sign Up
- Visit https://flusso.com
- Click "Create Account"
- Fill in details and upload profile picture
- Verify email (if required)
-
Upload Bill
- Go to "Upload Claim"
- Select medical bill image
- System analyzes bill automatically
- View results with compliance score
-
Chat with Elyza
- Click floating chatbot button
- Ask questions about your bill
- Get instant answers and guidance
-
View History
- Go to "My Claims"
- See all uploaded bills
- Download audit reports
- Track savings
Build the app:
npm run dev # Start dev server
npm run build # Build for production
npm run start # Start production server
npm run test # Run tests
npm run lint # Lint codeDeploy to Vercel:
npm install -g vercel
vercel login
vercel deployDeploy to Railway:
npm install -g railway
railway init
railway upWe love contributions! Here's how to help:
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
- Follow existing code style
- Write clear commit messages
- Update documentation
- Add tests for new features
- Test before submitting PR
- π Bug fixes
- β¨ New features
- π Documentation
- π¨ UI/UX improvements
- π§ͺ Tests
- π Performance optimization
This project is licensed under the MIT License - see the LICENSE file for details.
Q: Is FLUSSO available in other countries? A: Currently, FLUSSO is designed for UAE healthcare providers (DHA/DoH guidelines). We're expanding to other regions soon.
Q: What file types are supported? A: JPG, PNG, and PDF files up to 50MB.
Q: How long does bill analysis take? A: Usually 5-8 seconds for OCR + compliance checking.
Q: Is my data secure? A: Yes! We use JWT authentication, encrypted passwords (bcrypt), and secure database connections.
Q: Can I export my results? A: Yes! Download PDF audit reports from the results page.
- Frontend: React + Next.js + Tailwind CSS
- Backend: Express.js + Node.js
- Database: Supabase PostgreSQL
- AI: Groq API (Llama 3.1)
- Monitoring: Comet ML
- Lines of Code: ~5000+
- API Endpoints: 15+
- Database Tables: 3
- Components: 20+
- Core bill upload & OCR
- Compliance checking (DHA/DoH)
- Elyza AI chatbot
- User authentication
- Profile management
- Voice input/output
- Multi-language support
- Mobile app (iOS/Android)
- Advanced analytics dashboard
- Integration with insurance providers
- Automatic bill dispute filing
- Blockchain verification
- Lead Developer: Muaaz Syed
- Team Lead: Koushik
- Strategist Aayan Desai
- XAi and Comet - For fast, efficient LLM API
- Supabase - For amazing database infrastructure
- Vercel - For seamless deployment
- Tailwind CSS - For beautiful styling
- Perplexity - For AI code generation assistance
Helping you verify medical bills with AI-powered precision for Dubai & UAE healthcare
Status: π’ Active Development