💡 Inspiration
Sequoia Humane Society shared a common challenge: too many pets, not enough personalized adoption. Their manual process for matching adopters and scheduling visits was inefficient, leading to longer stays for pets and missed connections with potential adopters. I was inspired to build a smarter system that could streamline operations and make adoption more meaningful.
🔍 What It Does
PetMatch uses a machine learning–based recommendation engine to pair adopters with compatible pets based on questionnaire responses. It offers:
- Real-time visit scheduling and confirmation
- Admin dashboard for managing pets and adoption requests
- Secure image uploads and automated email reminders
- A responsive, accessible user experience for all devices
🛠️ How I Built It
Frontend: React.js + Tailwind CSS Backend: FastAPI (Python) Database: PostgreSQL ML Matching Engine: Encodes adopter preferences and pet traits as vectors for similarity scoring APIs:
- OpenAI for pet summaries
- AWS S3 for image uploads
- MailerSend for emails Deployment: Vercel (Frontend) + Render (Backend & DB)
🚧 Challenges I Faced
- Building a robust vector-based matching algorithm that wasn't too complex
- Designing a secure and intuitive multi-role system for adopters and admins
- Managing async image uploads and email notifications reliably
- Aligning priorities while balancing scope
📚 What I Learned
- How to effectively prototype a full-stack ML-driven app
- The importance of clean UX for nonprofit workflows
- Real-world experience working with external APIs, user auth flows, and deployment pipelines
- How to stay focused, adaptive, and efficient when working solo on a high-impact project
Built With
- amazon-web-services
- fastapi
- mailersend
- openai
- postgresql
- python
- react.js
- render
- tailwind
- vercel
Log in or sign up for Devpost to join the conversation.