Convex + Resend Hackathon: Real-time family expense tracking with automated email reports
🚀 Live Demo: family-expense-tracker.netlify.app
FamilyTracker showcases the power of Convex + Resend integration through a family expense tracking SaaS. Multiple family members track shared expenses in real-time, while beautiful automated emails keep everyone informed with monthly spending reports.
- Backend: Convex - Real-time database & serverless functions
- Email: Resend via Convex Resend Component
- Frontend: React 19 + TypeScript + Vite
- Email Templates: @react-email/components
- Auth: Convex Auth with Google OAuth
- UI: Tailwind CSS + shadcn/ui
- Beautiful React Email templates with secure token-based invitations
- Automatic email sending when family members are invited
- Gmail-compatible layouts (table-based, no flexbox)
- Scheduled monthly reports sent to all family members via Convex cron jobs
- Rich spending analytics: category breakdowns, top contributors, notable expenses
- Month-over-month comparisons with percentage changes
- Real-time data integration from Convex database
- Works perfectly in Gmail, Outlook, Apple Mail, and other email clients
- Responsive design with dark/light mode support
- Type-safe email data flow from Convex schema to templates
- Add/edit/delete expenses with instant sync across family members
- Smart categorization with custom categories
- Advanced filtering and search capabilities
- Multi-user families with admin/member roles
- Email-based invitation system
- Real-time collaboration on shared expenses
Why This Showcases the Platform:
- Real-time data → Real-time emails: Expense changes trigger immediate notifications
- Type safety: End-to-end type safety from Convex schema to email templates
- Serverless simplicity: No email server management - pure business logic
- Automated scheduling: Convex cron jobs handle monthly digest timing
- Scalable architecture: Handles family growth and email volume automatically
// Real-time expense tracking with email automation
families: {
(name, createdBy);
}
expenses: {
(familyId, description, amount, category, date);
}
familyMembers: {
(familyId, userId, role);
}
invitations: {
(familyId, email, token, status);
}npm install
npx convex dev
npm run dev # Starts Vite + Convex
npm run email # Preview email templates- Analytics Dashboard - Visual spending insights and trends
- Budget Tracking - Set budgets with email alerts
- Receipt Upload - Photo-based expense entry
- Smart Categorization - Auto-categorize expenses with AI
- Spending Predictions - Predictive analytics with email insights
- Personalized Reports - Custom email frequency and content
- Bank Account Sync - Automatic transaction import
- Receipt OCR - Extract data from receipt photos
- Multi-currency Support - Global family expense tracking