Case study 02 Web App
RexVet24/7 Veterinary Telehealth Platform
- Type
- Web App
- Core stack
- Next.js 15, React 19, TypeScript
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:
- Pet parent books an appointment based on doctor availability.
- Doctor joins secure video consultation.
- Consultation audio/video is recorded in-session.
- Recording is uploaded to AWS S3 using a presigned-upload flow.
- The system processes consultation context (recorded conversation + vet instructions + case details) to generate an AI-powered veterinary health report.
- 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
- 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.
- 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.
- 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.
- 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