End-to-end therapy operations platform
Overview
PsychDesk brings therapists, admins, and clients onto one platform — from first booking to invoicing. I built the role-based access system, the booking and session engine, and the automation that ties it all together.
Therapy practices were coordinating bookings, recurring sessions, and invoices across disconnected tools, with no single system enforcing who could see or do what.
I designed a secure RBAC API and service layer on Next.js, TypeScript, Firebase, and PostgreSQL, with distinct experiences for therapists, admins, and clients — covering bookings, recurring sessions, invoicing, and session management, backed by n8n automation for chatbots, scheduling, and payments.
Outcomes
Key features
Role-based access
Distinct, permissioned experiences for therapists, admins, and clients.
Booking & scheduling
Recurring sessions and calendar-driven booking, automated end to end.
Invoicing
Session-linked invoices generated and tracked without manual bookkeeping.
Chatbot automation
An n8n-driven chatbot handles routine client questions and scheduling requests.
System architecture
Stack
Gallery
Challenges
Modeling role-based access
Therapists, admins, and clients each needed different views of the same underlying data — the RBAC layer had to be strict without becoming a maintenance burden.
Automating without losing control
Chatbot and payment automation via n8n needed to fail safely and hand off to a human whenever a request fell outside its scope.
Key learnings
- Designing permissions as a first-class layer — not an afterthought — pays off the moment a third role shows up.
- n8n is a force multiplier for scheduling and notifications when workflows stay small and composable.
Continue exploring