PhysioBook is a comprehensive physiotherapy booking and management platform powered by AI. It features intelligent patient triage, smart therapist matching, outcome tracking, and real-time exercise guidance using computer vision.
- π Authentication via Clerk (Google, GitHub, Email & Password)
- π Appointment Booking System with 3-step flow
- π© Email Notifications for bookings (Resend)
- π Admin Dashboard for managing appointments
- π³ Subscription Payments with Clerk (Free + 2 Paid Plans)
- π PostgreSQL for data persistence
- π¨ Tailwind CSS + Shadcn for styling
- β‘ TanStack Query for data fetching
- Patients describe symptoms in natural language
- AI classifies condition type (acute, chronic, post-op, sports injury, etc.)
- Determines urgency level (emergency to preventive)
- Recommends appropriate specialist
- Identifies red flags requiring immediate attention
- Confidence scoring for transparency
- Matches based on patient triage data
- Considers therapist specialties & certifications
- Factors in availability & location preferences
- Uses historical success rates & patient feedback
- AI-generated personalized recommendations
- Per-patient recovery dashboard with visual charts
- Pain level, mobility, and function score tracking
- Treatment plan & session notes management
- AI-powered progress analysis
- Predicted recovery timeline
- Exercise compliance monitoring
- Real-time pose detection using TensorFlow.js
- Instant form feedback and corrections
- Rep counting with phase detection
- Form scoring and accuracy metrics
- Voice feedback for hands-free exercise
- Support for multiple exercise types
- ML-based prediction of no-show probability
- Risk-based reminder scheduling (SMS/Email)
- Overbooking strategy suggestions
- Appointment confirmation tracking
- Historical pattern analysis
- Secure WebRTC video calls
- Virtual session logging
- Screen sharing for exercise demos
- Chat during sessions
- Role-based access control
- Audit logging for sensitive actions
- HIPAA-compliant data handling
- Encrypted sensitive records
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS + Shadcn/UI
- Authentication: Clerk
- Database: PostgreSQL + Prisma ORM
- AI/ML:
- OpenAI GPT-4 (Triage & Analysis)
- TensorFlow.js (Pose Detection)
- Custom ML (No-Show Prediction)
- Email: Resend
- Charts: Recharts
- Data Fetching: TanStack Query
- Video: WebRTC
- Voice AI: Vapi (Pro plans)
physiobook/
βββ prisma/
β βββ schema.prisma # Database schema
β βββ seed.ts # Database seeding
βββ public/ # Static assets
βββ src/
β βββ app/
β β βββ (auth)/ # Auth pages
β β βββ (dashboard)/ # Dashboard pages
β β βββ api/ # API routes
β β βββ globals.css # Global styles
β β βββ layout.tsx # Root layout
β β βββ page.tsx # Landing page
β βββ components/
β β βββ dashboard/ # Dashboard components
β β βββ exercise/ # Exercise guidance
β β βββ landing/ # Landing page
β β βββ progress/ # Progress tracking
β β βββ triage/ # Triage assessment
β β βββ ui/ # UI components
β βββ lib/
β β βββ ai/ # AI services
β β β βββ triage.ts
β β β βββ matching.ts
β β β βββ no-show-prediction.ts
β β β βββ pose-detection.ts
β β βββ prisma.ts # Prisma client
β β βββ utils.ts # Utilities
β βββ middleware.ts # Clerk middleware
βββ .env.example # Environment template
βββ package.json
βββ tailwind.config.ts
βββ tsconfig.json
- Node.js 18+
- PostgreSQL database
- Clerk account
- OpenAI API key
- Resend account
- Clone the repository:
git clone https://github.com/yourusername/physiobook.git
cd physiobook- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env
# Edit .env with your credentials- Set up the database:
npm run db:push
npm run db:seed- Run the development server:
npm run dev# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
CLERK_WEBHOOK_SECRET=
# Database
DATABASE_URL=
# OpenAI
OPENAI_API_KEY=
# Vapi (Voice AI)
NEXT_PUBLIC_VAPI_ASSISTANT_ID=
NEXT_PUBLIC_VAPI_API_KEY=
# Resend (Email)
RESEND_API_KEY=
# App
ADMIN_EMAIL=
NEXT_PUBLIC_APP_URL=POST /api/triage/analyze- Analyze symptoms with AI
POST /api/therapists/match- Get AI-matched therapistsGET /api/therapists/match- List all therapists
POST /api/booking- Create appointmentGET /api/booking- Get user's appointments
POST /api/progress- Log progress recordGET /api/progress- Get patient progress
- HIPAA-compliant data handling
- Role-based access control (Patient, Therapist, Admin)
- Audit logging for all sensitive operations
- Encrypted sensitive fields
- Secure webhook verification
| Feature | Free | Basic ($29) | Pro ($79) |
|---|---|---|---|
| Appointments/month | 2 | 10 | Unlimited |
| AI Triage | Basic | Full | Priority |
| Therapist Matching | β | Smart | VIP |
| Progress Dashboard | β | β | Advanced |
| SMS Reminders | - | β | β |
| Tele-Physio | - | β | β |
| AI Exercise Guidance | - | - | β |
| Voice Agent | - | - | β |
| Family Accounts | - | - | Up to 4 |
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
This project is licensed under the MIT License.
- Dentwise by Burak Orkmez - Original template inspiration
- TensorFlow.js - Pose detection
- OpenAI - AI triage
- Clerk - Authentication
- Shadcn/UI - UI components
Built with β€οΈ for DevDash 2026 Hackathon
