Squirrel
An AI-powered perk tracker that finds vouchers, card credits and memberships in your inbox and reminds you before they expire.



Project Details
About the Project
How much money are you sitting on without realising it?
A voucher buried in an email, a $15 monthly card credit that resets unused, airline miles that expire in a month. I built Squirrel to stash these perks in one place and remind you before they're lost.
Rationale
One day, my mum was complaining about forgetting to redeem airline miles and restaurant vouchers, sometimes without even knowing she had them. I realised I had the same problem.
Every benefit comes with an expiry date, but those dates are spread across hundreds of emails, apps and card terms, and nobody keeps a list. The information is already sitting in your inbox; it just needs reading and organising.
How It Works
Squirrel builds one list of everything you hold from three sources:
- your inbox — connected read-only, where obvious marketing is skipped and an AI model pulls out each benefit's name, provider, value, expiry date, voucher code and terms;
- your credit cards — picked from a list of 25 US and Singapore cards with no card numbers needed, so Squirrel can track each card's recurring credits and when they reset; and
- benefits you add by hand.
From that list, a dashboard shows what expires soonest and reminder emails go out a week before expiry by default, adjustable per benefit. An AI weekly digest ranks what needs attention, and an assistant answers questions like "what can I use for dinner this week?" using only your own records. Squirrel also detects 13 hotel and airline loyalty programmes from who emails you, and scans QR codes and barcodes with your camera to match them to saved vouchers.
The AI Only Reads; Plain Code Decides
Squirrel uses gpt-5.4-mini through OpenAI's Responses API with strict structured outputs, so every expiry date comes with a confidence level. Dates, reminders, card reset schedules and loyalty detection are all ordinary code. Because a wrong date is worse than a missing one, any ambiguous or unknown date is removed and the benefit goes to a review queue showing the email's own words. Every voucher code must also appear word for word in the source email, or it's dropped.
Testing on Real Emails
My first real Gmail scan got 15 of 22 benefits fully right: three dates were missed, one was a duplicate and three weren't benefits at all. After fixing Singapore day/month dates, phrases like "end of October", date ranges and duplicates, a second 50-email scan got 11 of 13 right, with the other two caught by review.
The backend is Python and SQLite with encrypted stored credentials, covered by 115 pytest tests. The public version is a server-free demo of the whole interface with sample data.
Project Satisfaction
I'm most proud of the scanning feature and the overall UI/UX. Scanning saves so much effort, and I enjoyed watching friends try it and discover benefits they never knew they had. I also spent a lot of time on animations and colourful icon designs, asking friends and family for feedback, and I'm very happy with how it turned out.
Biggest Challenge
Gmail and Outlook are protective of their inboxes, and I couldn't easily connect to them without a full Google review and a real app domain. I worked around this with app passwords, which make connecting a slightly longer process but need no extra reviews, while Squirrel still only reads emails and never sends or deletes them.
Areas for Improvement
With more time, I would deploy the full app rather than the demo version, which cost held me back from, and turn it into a marketable product. I'd also add group features such as sharing benefits.