Featured case study
A counselling practice,
running end to end in software.
Be Whole Care was booking by phone and chasing payments by hand. I replaced the
whole operation — clients now self-book and pay online, and the practitioner
runs the business from an admin console. Sole developer: design, build and deploy.
The detail I’m proudest of
Double-booking isn’t prevented. It’s impossible.
Most booking systems check availability in application code, which
still loses a race between two people clicking at the same moment. Here the rule
lives in the database as a constraint — so it holds under
concurrent requests, and under any code path I might have forgotten.
Booking engine
Availability that reflects reality
Real-time slots calculated from working hours, existing bookings and
blocked time, with Google Calendar sync so the practitioner’s own diary stays
the source of truth.
Payments
Money you can actually trust
Peach Payments / PayFast on hosted checkout, with
server-side webhook verification — payment state is only ever
trusted from a verified callback, never a browser redirect. No card details touch
the app, which keeps PCI scope out of my stack.
Auth & security
Locked down
- Session auth + Google OAuth
- CSRF protection
- Rate limiting
- Role separation
Two consoles
Both sides built
- 15-page admin back office
- 9-page client portal
- Own permissions each
- Empty & error states
Notifications
Nothing lost silently
Email and WhatsApp for bookings, reminders and changes — with
delivery logging, so a failure is visible and recoverable.
Compliance
POPIA-conscious by design
Explicit consent tracking and audit logs on sensitive actions,
medical-aid disclaimers placed where they’re legally meaningful, and clinical
notes kept separate from operational data.
Content & marketing
A product inside the product
A subscriber-gated devotionals system — content tiers,
subscription state and gated routes — plus the full public marketing site,
all on the same codebase.