A Next.js-based platform for automated therapy session recording and analysis.
flowchart TD
subgraph Client["Next.js Application"]
direction TB
Pages["Pages"]
Components["Components"]
APIRoutes["API Routes"]
subgraph Pages
Auth["Authentication\n(Login/Register)"]
TherapistFlow["Therapist Flow"]
UserFlow["User Flow"]
end
subgraph TherapistFlow
SelectType["Select Therapy Type\n& Patient"]
Session["Therapy Session\n(Recording/Analysis)"]
end
subgraph UserFlow
Dashboard["Patient Dashboard\n(Reports/Progress)"]
end
end
subgraph Backend["Backend Services"]
Firebase["Firebase\n- Authentication\n- User Management\n- Role-based Access"]
DB[(Firestore\n- Patient Data\n- Session Reports)]
Storage["Cloud Storage\n(Audio/Transcripts)"]
end
subgraph AI["AI Processing"]
Whisper["Whisper API\n(Transcription)"]
GPT["GPT-4/3.5\n(Analysis/Summary)"]
end
Auth -->|Authenticate| Firebase
TherapistFlow -->|Fetch Patients| DB
Session -->|Store Audio| Storage
Session -->|Transcribe| Whisper
Whisper -->|Process| GPT
GPT -->|Store Report| DB
UserFlow -->|Fetch Reports| DB
style Client fill:#f9f9f9,stroke:#333,stroke-width:2px
style Backend fill:#e6f3ff,stroke:#333,stroke-width:2px
style AI fill:#f0fff0,stroke:#333,stroke-width:2px
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Database: Firebase/MongoDB
- Authentication: NextAuth.js
- AI Processing: OpenAI (Whisper + GPT-4)
- Deployment: Vercel
- Clone the repository:
git clone https://github.com/your-username/recursive_video.git
cd recursive-video- Install dependencies:
pnpm install- Create a
.envfile:
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-secret-here
OPENAI_API_KEY=your-key-here
DATABASE_URL=your-db-url- Run the development server:
pnpm dev- Real-time audio recording and transcription
- AI-powered session analysis
- Interactive dashboard for therapists and parents
- Secure patient data management
- Progress tracking and reporting
The project uses a feature-based structure within the Next.js App Router pattern:
app/: Routes and API endpointscomponents/: Reusable UI componentslib/: Shared utilities and servicestypes/: TypeScript type definitions
- Create a new branch for your feature
- Implement changes following the project structure
- Write tests for new features
- Submit a pull request
- Francesco Crivelli
- Ben Yu
- Jay Jaisankar
- Raj Saravana
- Serena Mann
MIT license