Inspiration Saw a friend in finance manually checking 200 receipts on a Friday night. There had to be a better way.
What it does You upload a receipt image, define your company's expense rules, and SpendGuard uses AI to audit it — line by line. It catches things like alcohol hidden in a dinner bill, totals over the limit, or duplicate submissions. Auditors can then approve or reject with one click.
How we built it Next.js frontend, Gemini 2.5 Flash for vision + reasoning, Recharts for analytics. The key was prompt engineering — we force the model to reason through every line item before giving a verdict, which made results actually reliable.
Challenges we ran into Getting the AI to be consistent was the hardest part. Same receipt, different risk level each run. Fixed it with temperature: 0 and chain-of-thought prompting. Also hit Gemini 503 errors during peak hours right before the demo — fun times.
Accomplishments that we're proud of The AI caught a $15 Margarita buried inside a dinner receipt that a total-level check would've completely missed. That felt like the whole thing working as intended.
What we learned How you write the prompt matters more than which model you use.
What's next for SpendGuard Slack alerts, department-level analytics, a proper database backend, and multi-user support for real finance teams.
Log in or sign up for Devpost to join the conversation.