Healthcare

Healthcare Clinic Digital Suite

Tenant marketing sites, CRM desk, and WhatsApp-connected patient operations

healthcaremulti tenantwhatsapp automationoperations

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

React 19ViteTypeScriptFirebase (optional)

Marketing

TanStack StartNitroshadcn/uiTailwind v4

Backend

Node.js Express APIWhatsApp Meta providerMulti-tenant JWT

Infrastructure

GCP Cloud RunGlobal HTTPS LBManaged SSL certs

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

Related work