← Back to work

CRM and Scheduling System

Built for a clinic's operations team, running client scheduling across disconnected tools.

<1 min
Less than a minute to schedule a client, start to finish

The problem

Bookings came in through WhatsApp messages and phone calls, while client records lived in a separate spreadsheet. Every booking meant manually checking availability, then updating the spreadsheet by hand — so the two were only ever as in sync as whoever last remembered to update both.

What was built

A single platform combining scheduling and CRM, checked against real-time availability so two clients can never be booked into the same slot. Logging a new client automatically triggers their booking invitation — no separate step to send it, and no separate system to update afterward.

  • →Logging a client in the CRM automatically triggers a WhatsApp booking invitation
  • →Self-service slot selection by clients, checked live against existing bookings
  • →Automatic confirmation and record logging — no manual spreadsheet updates

Day to day

A client calls or messages in on WhatsApp. Staff logs them into the CRM, which automatically sends a WhatsApp invitation with available times. The client picks a slot themselves, and the booking is confirmed and logged — no manual calendar checks or spreadsheet updates on the back end.

Stack

Next.js
TypeScript
PostgreSQL
Prisma
Redis
Framer Motion