Inspiration
Walking into a nonprofit and seeing staff manage hundreds of vulnerable clients on spreadsheets — tracking families in crisis, children in care, and people seeking food assistance through color-coded Excel sheets — made the problem impossible to ignore. Enterprise tools like Bonterra cost $150/user/month. For a 10-person nonprofit that is $18,000 a year. 92% of nonprofits operate on budgets under $1M. They simply cannot afford it. So they stay on spreadsheets, and clients fall through the cracks.
Opportunity Hack has seen this exact problem submitted by 9+ nonprofits across 7 hackathons — NMTSA, Chandler CARE Center, ICM Food Bank, Will2Walk, Sunshine Acres, and more. Every single one said the same thing: "We need to register clients, record what we do for them, and report on it." We built the solution they all needed.
What it does
CareTrack is a lightweight, AI-powered case management platform built specifically for small nonprofits. It replaces spreadsheets with:
- Client registration — searchable profiles with demographics and history
- Service logging — record every visit, session, and interaction
- Google Sheets import — migrate years of existing data in seconds, with AI-powered column mapping that handles any column naming convention
- CSV import — drag and drop any spreadsheet export
- Role-based access — admins and staff see only what they need
- Live dashboard — total clients, services this month, pending follow-ups
All of this runs for $30/month total — not per user, total.
How we built it
We built CareTrack in 24 hours using a modern, open-source stack optimized for low hosting cost and hackathon speed:
- Backend: Python + FastAPI + SQLAlchemy, deployed on Railway
- Frontend: React + Vite + Tailwind CSS, deployed on Vercel
- Database: Supabase (PostgreSQL) with pgvector for AI search
- Auth: Supabase Auth with Google OAuth + email/password
- AI: Anthropic Claude API for intelligent column mapping and photo-to-intake form digitization
- Import: Google Sheets API + pandas for CSV processing
We divided the team into three roles — backend, frontend, and infrastructure — and worked in parallel from hour zero. The database schema, seed data, and authentication were live within the first two hours, allowing the frontend and backend to develop independently.
Challenges we ran into
Deployment was our biggest challenge. Getting Python/FastAPI to run
on Vercel required a specific vercel.json configuration that took
significant debugging. We ultimately deployed the backend on Railway
where Python is a first-class citizen.
Column mapping across different nonprofit spreadsheets was harder than expected. Every organization names their columns differently — "Client DOB", "Date of Birth", "DOB", "Birthday" all mean the same thing. We solved this elegantly using Claude AI to intelligently map any spreadsheet schema to our database schema automatically.
Time pressure as first-time hackathon participants was real. We had to make hard decisions about what to cut and what to keep. We stayed focused on P0 features and shipped a working product rather than an impressive prototype.
Google OAuth setup required configuring a consent screen, creating OAuth credentials, and linking them to Supabase Auth — a multi-step process that consumed more time than expected for a first-time team.
What we learned
- How to build and deploy a full-stack application end to end in 24 hours
- How to use Supabase as a complete backend-as-a-service (auth, database, storage, vector search all in one)
- How to integrate Claude AI API for intelligent data processing
- How to divide work across a team so nobody is blocked by anyone else
- That the hardest part of a hackathon is not writing code — it is making decisions about what NOT to build
What's next
- Multi-tenant support — one deployment serving hundreds of nonprofits with full data isolation
Built for
NMTSA, Chandler CARE Center, ICM Food & Clothing Bank, Will2Walk, Sunshine Acres, Lost Our Home Pet Rescue, Tranquility Trail, Seed Spot — and every other nonprofit that deserves better than a spreadsheet.
Built With
- anthropic
- api
- authentication
- claude
- css
- fastapi
- javascript
- jwt
- oauth
- pandas
- pgvector
- postgresql
- python
- railway
- react
- rest
- sheets
- sqlalchemy
- supabase
- tailwind
- vercel
Log in or sign up for Devpost to join the conversation.