Case study 02 Web App

RexVet24/7 Veterinary Telehealth Platform

Type
Web App
Core stack
Next.js 15, React 19, TypeScript
RexVet: 24/7 Veterinary Telehealth Platform — screenshot
Fig. 1 — RexVet.

RexVet: is a full-stack veterinary telehealth platform that enables pet parents to book online consultations, join live video calls with licensed vets, receive prescriptions, and manage follow-up care through role-based dashboards.

01Overview

A major engineering focus was building a reliable end-to-end consultation workflow:

  1. Pet parent books an appointment based on doctor availability.
  2. Doctor joins secure video consultation.
  3. Consultation audio/video is recorded in-session.
  4. Recording is uploaded to AWS S3 using a presigned-upload flow.
  5. The system processes consultation context (recorded conversation + vet instructions + case details) to generate an AI-powered veterinary health report.
  6. Final report is stored and available for review, continuity of care, and future visits.

I also implemented doctor-first scheduling automation so doctors configure weekly availability only once (day + start/end time), and the system automatically generates appointment slots. This removed repetitive manual slot creation and reduced scheduling errors.

The platform includes real-world operational modules:

  • Global timezone-aware appointment management for cross-region users.
  • Prescription and PDF generation workflows.
  • Payments and donation flows with Stripe.
  • Real-time messaging and notification systems.
  • Admin panel for appointments, doctors, pet parents, support operations, and analytics.
  • Secure authentication/authorization with role-based access for pet parents, vets, fosters, and admins.

This project was built to handle production-like complexity: healthcare-style data handling, async media upload pipelines, AI-assisted documentation, and scalable API-driven architecture across a large feature surface.

02The hard parts

  1. Global time-zone scheduling in real-world usage: Pet parents and veterinarians were booking from different regions, so a major challenge was preventing time mismatch errors (wrong local time shown, missed appointments, daylight-saving changes). I implemented timezone-aware appointment handling so slots are stored consistently and displayed in each user’s local timezone.
  2. One-time doctor availability setup with automatic slot generation: Doctors should not manually create slots every day. The challenge was building a system where a doctor sets weekly availability once (day + start/end time), and the platform automatically generates and maintains appointment slots from that profile configuration.
  3. Avoiding double-booking and slot conflicts: In production, concurrent bookings can create race conditions. I had to enforce slot-state controls and validation so the same slot cannot be booked twice and manual/admin updates do not break schedule integrity.
  4. Balancing flexibility with operational simplicity: Doctors needed easy control (set availability once), while admins needed visibility and override tools. The challenge was designing scheduling logic that is automated for doctors but still manageable for support/admin teams when exceptions happen.

03Built with

  • Next.js 15
  • React 19
  • TypeScript
  • Node.js
  • MongoDB with Mongoose
  • NextAuth
  • Stripe
  • Tailwind CSS
  • Radix UI
  • Cloudinary
  • AWS S3
  • Agora (video calling)
  • Ably/Pusher (realtime)
  • Twilio (SMS)
  • Zod (validation)
  • Firebase (push notifications)
  • Vercel deployment

04Screens

RexVet — screen 1 of 3
Fig. 2 — RexVet, screen 1 of 3.
RexVet — screen 2 of 3
Fig. 3 — RexVet, screen 2 of 3.
RexVet — screen 3 of 3
Fig. 4 — RexVet, screen 3 of 3.

Open to remote roles and freelance work

Have something to build? Let’s talk it through.

Tell me what you’re making, where it’s stuck, or what the role involves. Email reaches me fastest.