Portfolio · Johan Galvez

Systems I Have Built

Two management systems running in production today, each serving a business across two physical locations.

Santo Domingo, DR Node.js · React · PostgreSQL Docker · Nginx · Linux
A note on what you're seeing. These are commercial walkthroughs of systems I built and operate for paying clients. The screens show demo data created specifically for recording — no real patient information appears. Live access is restricted because these handle protected health records, but I'm glad to walk through the working systems in a screenshare.
Dental clinic · 2 locations · In production

Clinic Management System

Patient records, scheduling, inventory, billing and an interactive dental chart — built from scratch and maintained by me.

What it does

  • Real-time dashboard with clinic KPIs across both locations
  • Interactive 3D/2D dental chart (odontogram) with per-tooth treatment history
  • Appointment scheduling with per-doctor capacity and multi-location support
  • Inventory tracking with automatic stock deduction tied to procedures
  • Billing compliant with Dominican tax regulations (NCF fiscal receipts, ITBIS)
  • Cash register close-out, supplier management and lab order tracking

Built with

Node.jsReactPostgreSQLDockerNginxJWT
Physical therapy center · 2 locations · In production

Therapy Center System + WhatsApp Assistant

The same core platform adapted to a different specialty, plus an AI assistant handling patient inquiries around the clock.

What it does

  • Shared codebase with the dental system, with modules toggled per client
  • AI-powered WhatsApp assistant that books, reschedules and cancels appointments 24/7
  • Quotes prices per service and per insurance provider, with location-specific rules
  • Patient records, therapy session tracking and referral workflow
  • Migrated 460 patients and 462 appointments from the previous system

Built with

Node.jsReactPostgreSQLGemini APIWhatsApp APIRedisTailscale

How these were built

One system, two clients

Both run on a shared codebase with feature modules that switch on and off per client. Adding a third clinic means configuration, not a rewrite.

I own the whole stack

From provisioning the Linux servers and configuring firewalls, to deployment, monitoring, backups and being the person who picks up the phone when something breaks.

Multi-site networking

Each client operates two physical locations connected over a mesh VPN, with per-location data separation enforced in the application layer.

AI where it earns its place

The WhatsApp assistant handles real patient conversations. I audited tens of thousands of messages to find and fix cases where it gave wrong information.

Built for non-technical users

The people using this daily are receptionists, dentists and therapists. Every workflow was reshaped based on what they actually struggled with.

Production discipline

Backups before every migration, monitoring with disk alerts, and post-incident fixes so the same outage cannot happen twice.