[ Case Study — Healthcare ]
BRATUX Aufrufsystem
Multi-tenant patient call system for medical practices: waiting-room display with announcements, tenant portal and integration API.
requests in 30 days (Cloudflare)
- Industry
- Healthcare
- Services
- SaaS Platform, Multi-Tenant, Real-time Display
- Stack
- Next.js, TypeScript, PostgreSQL, Prisma, Docker, Cloudflare
- Timeline
- Ongoing product
The challenge
In many practices, calling patients is still analog: names are shouted into the waiting room, doors open and close, and the front desk is constantly interrupted. At the same time, every practice runs its own software — a rigid per-site solution would have been neither maintainable nor scalable.
The requirements: any number of practices on one platform, calls created manually at the front desk as well as automatically from third-party systems, a waiting-room display with spoken announcements — and per-practice branding, all without on-site server infrastructure.
Our approach
We built the call system as a multi-tenant web app: every practice is a tenant with its own login, branding and API credentials. The public display screen for the waiting-room monitor refreshes continuously and speaks calls via the Web Speech API — with a configurable alert sound, speed and voice profile.
For external systems there is a dedicated ingest API: practice software, phone systems or IoT buttons push name and room via POST, authenticated with a channel ID and API token. Tenants manage calls, design and API keys self-service; an admin dashboard handles onboarding, device limits and session management.
Operations run as a Docker Compose stack — Next.js app, PostgreSQL, Cloudflare Tunnel — behind the bratux.com zone. Per-role rate limits, server-side sanitized custom CSS and an audit log keep the system controlled despite its public display surface.
The outcome
The system runs in production at call-system.bratux.com: the front desk creates calls — or they arrive straight from the practice software — and seconds later they appear, announced aloud, on the waiting-room screen. New practices can be onboarded without any deployment.
How continuous this operation is shows in the zone's Cloudflare data: 1.92 million requests in 30 days from 154 unique visitors — the displays refresh around the clock. With a 0.04% cache ratio and 5 GB of traffic, virtually every request is live data — and the single-host stack carries that without additional infrastructure.
[ Delivered ]
Delivered
- Multi-tenant platform (practices as tenants)
- Waiting-room display with TTS announcements & alert sounds
- Tenant portal: calls, design manager, settings
- External ingest API (channel ID + API token)
- API keys with per-practice permissions
- Admin dashboard with audit log & session kick
- Device limits & device registration
- Docker Compose operations behind Cloudflare Tunnel
[ Project links ]
Project links
[ Contact ]
Planning something similar?
Tell us what you want to build — we will walk you through how we would deliver it.
Discuss your project