VetTrax
A web application designed to track pet profiles, medical records, and set reminders.
VetTrax helps you track your pets' health records, upcoming appointments, and allows you to set reminders for your pets' various needs — all in one simple dashboard. Built with a Next.js 16 architecture leveraging proxy request handling, it features robust server-side authentication utilizing Supabase Auth and JWTs. The platform automates pet care by using Vercel cron jobs to poll a Supabase database for upcoming due dates, triggering targeted email notifications via the Resend API. The entire interface is styled utilizing the CSS-first configuration and theme directives of Tailwind CSS v4.
The Problem
Managing a pet's health often involves scattered notes, calendars, and manual tracking to remember upcoming vet appointments and daily or monthly medication schedules, leading to missed doses or delayed checkups.
The Solution
Developed a centralized dashboard that consolidates pet profiles and medical records with an automated notification pipeline. The system actively monitors due dates and dispatches reminders to the user, completely automating the schedule-tracking aspect of pet care.
Architecture
The application is built on Next.js 16, notably utilizing its newer proxy functionality for request handling over the traditional middleware pattern. Server-side authentication and session management are handled via Supabase Auth and custom JWTs. The backend relies on a Supabase-hosted PostgreSQL database, specifically utilizing a 'reminders' table with a due date column. Vercel cron jobs run scheduled tasks against this database, identifying due items and invoking the Resend email API to dispatch notifications to users.
Key Features
- Comprehensive dashboard for tracking pet profiles and medical history
- Automated appointment and medication notifications via Resend API
- Server-side authentication and authorization using Supabase Auth (JWT)
- Scheduled database polling using Vercel cron jobs
- Modern, CSS-first UI design using Tailwind CSS v4
Technical Decisions
Adopted Next.js 16 and its proxy request handling for streamlined routing and server-side logic. Chose Supabase to handle both the PostgreSQL database and the authentication layer, allowing for tight integration between user sessions (JWT) and their associated data. Opted for Tailwind CSS v4 to take advantage of its CSS-first configuration and theme directives for cleaner styling. Decoupled the notification system by shifting the polling logic to Vercel cron jobs, ensuring reliable, automated dispatch via the Resend API without relying on active client sessions.
Challenges & Solutions
Creating a reliable, automated notification pipeline required coordinating scheduled Vercel cron jobs with the Supabase database. The system had to accurately query the reminders table for upcoming due dates and seamlessly interface with the Resend API for dispatching, all while ensuring user data was strictly partitioned and secured behind server-side JWT authentication within the Next.js 16 proxy flow.
Outcome
Delivered a streamlined, all-in-one management tool that simplifies pet health tracking. The automated notification system reliably alerts users about critical medication and appointment due dates, ensuring pets stay on track with their care plans.
What I'd Do Differently
Future enhancements could include implementing SMS text notifications alongside the current email alerts, integrating external veterinary clinic APIs to auto-sync official medical records, and adding multi-user support to allow family members to share access to a pet's profile.