Healthcare Clinic Digital Suite
Tenant marketing sites, CRM desk, and WhatsApp-connected patient operations

Overview
We built a clinic operations stack: multi-tenant front-desk app for patients and bookings, tenant marketing websites, and WhatsApp-connected workflows — deployed per clinic on shared GCP infrastructure.
Context
Dental and specialty clinics need more than a brochure website. They need daily operations software for appointments, payments, and patient tracking — plus WhatsApp for reminders — while each clinic keeps its own brand and domain.
Real-world scenario
Denta Care runs clinic.kaana.in for front-desk staff while ajitdentacare.kaana.in serves as the public marketing site for a specific practice. CRM subdomains route tenant desk logins. WhatsApp handles booking confirmations through the shared API.
Constraints
- Mobile-friendly clinic desk for front-desk staff on tablets
- Tenant slug resolution from hostname or query param for local dev
- Firebase optional integration for extended auth
- Separate Cloud Run deploy for tenant marketing sites
What we built
- clinic-crm: React PWA for patients, today board, bookings, payments, visit workflow
- dental-clinic: TanStack Start marketing site with shadcn/ui, deployed as ajitdentalclinic Cloud Run service
- Shared kaana-api backend for auth, appointments, and WhatsApp clinic bot flows
- URL map wildcard routing: *.clinic.kaana.in, crm.{tenant}.kaana.in, tenant marketing domains
Architecture
- clinic.kaana.in → kaana-clinic Cloud Run | dentacare.kaana.in → tenant site backend
- All clinic apps authenticate against api.kaana.in with tenant-scoped JWT
Reliability & security
- Tenant-scoped JWT on every API request; hostname-based tenant context
- WhatsApp webhook verification and Meta provider token in Secret Manager
- Managed SSL certificates on shared global load balancer
Outcomes
- Clinics get branded web presence plus operational software from one vendor
- WhatsApp booking flows integrated into clinic bot module
- Multiple tenant domains live on shared load balancer
Technology stack
Clinic desk
Marketing
Backend
Infrastructure
FAQ
Can each clinic have its own domain?
Yes. Tenant marketing sites and clinic desk URLs use per-clinic subdomains on the shared load balancer.
Is WhatsApp used for patient communication?
Yes. Booking confirmations and clinic bot flows run through the shared API and Meta WhatsApp provider.
Related services
For social · LinkedIn hook
Your clinic website should talk to your front-desk software. Ours does.
- → Problem: clinics juggle marketing sites and disconnected desk tools
- → Solution: tenant marketing + clinic CRM + WhatsApp on shared API
- → Live: clinic.kaana.in, dentacare.kaana.in on GCP
Clinics deserve operations software, not just websites. We connect front-desk, marketing, and WhatsApp.
Discuss a similar project

