This is a submission for Weekend Challenge: Generosity Edition
What I Built
GiveTrack is a personal generosity tracker that helps you log donations, discover causes, and actually see your impact over time instead of giving once and forgetting about it.
The idea came from a simple frustration: most people who give to charity have no easy way to look back and understand their own generosity, how much, how often, to what causes. GiveTrack turns that invisible habit into something visible and motivating.
It includes:
- A dashboard with donation metrics and recent activity
- Searchable causes you can browse and support
- Create-cause and demo-donation modals to log giving
- A filterable donation history
- A "Generosity Chain" that visualizes your giving streak/impact over time
- Random kindness prompts to nudge small acts of generosity
- An AI Giving Assistant (powered by Google's Gemini API) that suggests giving ideas based on your activity
- Fully responsive, mobile-friendly UI
It's a local first prototype. All data lives in the browser via localStorage, so you can try the whole experience instantly with zero sign-up.
Demo
🔗 Live app: https://give-track-generosity-app--harshravaldj.replit.app/
(Note: no real payments are processed. This is a demo experience with seeded/demo data you can reset anytime.)
Code
harshravaldj
/
give-track-generosity-app
GiveTrack – a personal donation tracker built for the DEV Weekend Challenge: Generosity Edition. Log and visualize your charitable giving to stay accountable and see your impact over time.
How I Built It
Built entirely on Replit, using the Replit Agent to scaffold the app, iterate quickly, and manage version control (GitHub) directly from the workspace. It let me go from idea to a fully deployed, publicly testable app in a single weekend without leaving the browser.
GiveTrack is built as a pnpm monorepo:
- Frontend: React + TypeScript, with a custom visual system for the dashboard, modals, and Generosity Chain
- Backend: Express 5 API server
- Database: PostgreSQL with Drizzle ORM (schema-first, type-safe queries)
- Validation: Zod end-to-end
- API contracts: OpenAPI spec with Orval-generated hooks, so frontend and backend stay in sync automatically
- AI: Google's Gemini API, accessed via a Google AI Studio API key, called server-side to keep the key secure. It powers the "AI Giving Assistant," which suggests giving ideas based on activity. It has a friendly deterministic fallback if the provider is ever unavailable, so the app never breaks.
One deliberate decision: donations and cause data are demo/local-first (localStorage) rather than wired to a real payment processor. For a weekend build, this let me focus on the experience of tracking and reflecting on generosity, rather than payment infrastructure, while keeping the door open to add real giving flows later.
Prize Categories
Submitting for Best Use of Google AI. The AI Giving Assistant calls Google's Gemini API (via a Google AI Studio key) server-side to generate personalized giving suggestions.
Top comments (1)
nicely organized