Inspiration Every time we make a purchase, we think about the price — but rarely about what that choice means beyond the number. We wanted to build something that helps people understand their spending in a fuller context: environmental impact, lifestyle patterns, and personal value. Not to judge, but to inform. The idea came from a simple question: "What if every receipt could teach you something about yourself?"

What it Does Life Receipt is an AI-powered personal impact application. When a user enters a purchase, the app generates a Life Receipt — a personalised breakdown showing:

Money — financial context and spending patterns Planet — estimated environmental footprint (CO₂e, water usage) You — how the purchase connects to the user's lifestyle Personal Value — what this choice means based on their past feedback AI Insight — a smart observation powered by Google Gemini Next Move — one actionable, supportive suggestion Users can mark purchases as "Worth it" or "Not really," and the app learns what they personally value over time. It also shows spending patterns and a Weekly Life Receipt with alternatives for purchases the user wasn't happy with.

How We Built It Backend: Python, Flask, SQLite — REST API with 10+ endpoints for purchases, profile, analysis, feedback, patterns, and weekly summaries AI Integration: Google Gemini API with structured prompts, model fallback (gemini-3.6-flash → 3.5-flash → 3.7), and response validation Environmental Data: Reference dataset with 30+ entries for CO₂e and water estimates across food, clothing, electronics, transport, and more Frontend: Vanilla HTML/CSS/JavaScript SPA with routing, state management, and responsive design Personalisation: The app tracks "Worth it" feedback by category and builds a personal value profile — gaming might be high-value for one user while food delivery is low-value for another Challenges We Faced Gemini rate limits — The free tier has strict daily request limits. We solved this by implementing automatic model fallback across three Gemini models Frontend-backend integration — The frontend initially used mock data and localStorage. Wiring it to the real API required rewriting the store layer, fixing async flows, and eliminating duplicate API calls Non-judgmental AI — Crafting prompts that produce supportive, personalised insights without shaming purchases was surprisingly difficult. We explicitly instruct Gemini to never assume regret, never invent data, and always offer one small next step Merging contributions — We worked on separate branches (backend-only and frontend-only) and had to carefully merge everything while keeping a clean contribution history

Share this project:

Updates

Submission history