Inspiration
We noticed that many college students struggle with meal planning, from running out of ideas to losing track of their budget. Between managing grocery receipts, tracking nutrition, and finding new recipes, the process can quickly become overwhelming or time consuming. To solve this, our team developed an AI-powered assistant that allows users to simply scan their grocery receipts and automatically generate a personalized weekly meal plan. This not only addresses a common challenge faced by college students but also makes meal planning easier and more accessible for everyone.
What it does
-Scans grocery receipts using Amazon Textract to extract detailed item data.
-Processes and interprets extracted information through AWS Bedrock + AgentCore, enabling intelligent reasoning and AI-driven recipe generation.
-Stores structured grocery data in Amazon DynamoDB for efficient retrieval and personalization.
-Secures receipt images via Amazon S3, ensuring reliable and private storage.
-Generates personalized weekly meal plans optimized for ingredients, nutritional balance, and budget constraints.
-Allows users to add future ingredients freely, expanding flexibility beyond scanned items for an evolving meal preferences.
How we built it
We built Savr.ai using a fully serverless AWS architecture designed for automation, scalability, and low operational overhead.
Frontend: Developed with React.js, enabling an intuitive interface for users to upload receipts and view AI-generated meal plans in real time.
Backend: Implemented with Node.js and AWS Lambda for handling Textract analysis requests, Bedrock queries, and DynamoDB interactions through API Gateway.
AI Processing: Integrated AWS Bedrock + AgentCore (Claude 4.5 Sonnet) to interpret extracted data, generate structured meal recommendations, and balance nutrition and cost.
Receipt Analysis: Used Amazon Textract’s AnalyzeExpense API to read grocery receipts from S3, extracting line items, totals, and purchase dates into structured JSON.
Data Layer: Stored processed outputs in DynamoDB, linking users, receipts, and meal suggestions, while maintaining security via IAM roles and AWS Secrets Manager.
Infrastructure Automation: Deployed resources via AWS CDK (Python) for consistent environment setup and reproducibility.
Challenges we ran into
-Receipt Parsing Complexity: Grocery receipts varied widely in format and print quality, which made Textract extraction inconsistent until we added data-cleaning logic. -IAM Permissions: We initially faced “Missing Authentication Token” and policy errors when connecting Lambda, API Gateway, and Bedrock, which required fine-tuning role trust relationships. -Lambda Payload Size: Large JSON responses from Textract occasionally exceeded default payload limits, forcing optimization with pagination and selective parsing. -Asynchronous Chaining: Coordinating S3 triggers, Textract results, and DynamoDB writes introduced concurrency issues early on, which we solved using Step Functions-like sequencing inside Lambda. -UI-Backend Sync: Ensuring real-time updates between React and AWS APIs required careful state management with Axios interceptors and custom hooks. -Familiarities of picking up AWS, and being a exposed to new resources.
Accomplishments that we're proud of
We’re really proud of what we pulled off in such a short time. Even though this was a 30-day hackathon, our team only had about a week to build, test, and launch Savr.ai and somehow, we made it happen. In that time, we dove deep into AWS and learned an incredible amount, working with Textract, Lambda, API Gateway, DynamoDB, S3, Bedrock, and IAM to create a fully connected, serverless pipeline.
The best part? Our AI actually worked. Watching the system scan real receipts, extract grocery data, and generate meal plans through our Lambda–Bedrock workflow was an unforgettable moment. We spent hours fine-tuning the Lambda orchestration to make sure Textract returned clean, structured results and it paid off.
From a React.js frontend to an AWS backend, we built and deployed a complete, end-to-end product that goes beyond a prototype. More than anything, we’re proud of how quickly we learned, collaborated, and adapted turning raw AWS documentation and countless trial and error moments into a real, functioning AI app in just seven days.
What we learned
-Serverless orchestration matters: Even small Lambda cold starts can impact UX if not optimized.
-Fine-grained IAM design is critical — one missing permission can halt the entire pipeline.
-Prompt engineering in Bedrock can significantly influence AI reasoning quality; we iterated on instructions to ensure accurate, human-sounding meal recommendations.
-Data normalization between grocery receipts and recipe databases is essential for future scalability.
What's next for Savr.ai
-AI Nutrition Insights: Integrate Amazon Q for conversational explanations about ingredient healthiness.
-Mobile Expansion: Build a React Native companion app with camera scanning support.
-Smart Categorization: Use Amazon Comprehend to classify groceries (produce, dairy, grains) for better AI reasoning.
-Partnership Integrations: Connect with grocery chains or delivery APIs to automatically import receipts and streamline meal planning.
-Scalability Roadmap: Containerize backend logic using AWS Fargate for high-volume processing and enterprise adoption.
Built With
- agentcore
- amazon-cloudwatch
- amazon-dynamodb
- apigateway
- bedrock
- claude-3.5
- javascript
- lambda
- python
- s3
- textract
- vercel
Log in or sign up for Devpost to join the conversation.