Healthcare · Case study

A telemedicine suite connecting patients and doctors

Appointment booking, video consultations and secure medical document handling — two apps on one backend.

2apps (patient + doctor) on one shared backend
1 tapfrom appointment to live video consultation
100%of uploads validated server-side before storage
0third-party SaaS subscriptions required to operate
The problem

Clinics needed remote consultations without stitching together five SaaS tools: booking in one place, video in another, reports emailed around insecurely. The goal was one coherent system where a patient books, consults over video and shares documents — and the doctor manages it all from their own app.

What we built

A single Spring Boot backend serves two Ionic apps — patient and doctor — with a shared appointment engine handling availability, booking and consultation lifecycle on both sides.

Video consultations are built on Jitsi, embedded natively in both apps, so consultations start from an appointment with one tap — no external links, no separate accounts.

Medical documents (prescriptions, reports, scans) are uploaded, stored and shared within the consultation context with strict validation — the same upload-hardening patterns we apply to every system that touches sensitive files.

Patient app
Find a doctor
Book a slot
Join video call
Doctor app
Today's schedule
Patient documents
Start consultation
Consultation
Live video
Share prescription
Follow-up booking

Illustrative screens — each engagement gets its own design language.

Delivered features

  • Two-sided appointment booking
  • In-app video consultations (Jitsi)
  • Prescription & report uploads
  • Doctor availability management
  • Consultation history for both sides
  • Secure file validation & storage

How it was delivered

  1. Appointment engineAvailability, booking and the two-sided consultation model.
  2. Video & documentsEmbedded Jitsi consultations and hardened document handling.
  3. Polish & launchConsultation history, notifications, store publishing.
IonicAngularSpring BootMongoDBJitsi

Representative engagement from our team's delivery portfolio, anonymized out of respect for the businesses involved. Every number above is an engineering fact we can walk you through on a call.

Planning something similar?

Tell us what you're building — we've probably built its cousin. Free time & budget estimate within 48 hours.

Start your project