{"id":45063153,"url":"https://github.com/awsdataarchitect/costco-price-match","last_synced_at":"2026-02-20T11:01:00.607Z","repository":{"id":338502255,"uuid":"1157517063","full_name":"awsdataarchitect/costco-price-match","owner":"awsdataarchitect","description":"AI-powered Costco Receipt Scanner \u0026 Price Match Agent. Scans receipts, finds price adjustments, emails weekly reports.","archived":false,"fork":false,"pushed_at":"2026-02-14T20:46:36.000Z","size":289,"stargazers_count":36,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-19T13:37:13.163Z","etag":null,"topics":["agentcore","agentic-ai","amazon-nova","amplify","bedrock"],"latest_commit_sha":null,"homepage":"https://dev.to/aws-heroes/ive-been-a-costco-member-for-25-years-last-month-i-built-an-ai-agent-to-get-my-money-back-3a0g","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awsdataarchitect.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-13T22:59:38.000Z","updated_at":"2026-02-17T13:51:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/awsdataarchitect/costco-price-match","commit_stats":null,"previous_names":["awsdataarchitect/costco-price-match"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/awsdataarchitect/costco-price-match","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fcostco-price-match","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fcostco-price-match/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fcostco-price-match/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fcostco-price-match/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awsdataarchitect","download_url":"https://codeload.github.com/awsdataarchitect/costco-price-match/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awsdataarchitect%2Fcostco-price-match/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29648421,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T09:27:29.698Z","status":"ssl_error","status_checked_at":"2026-02-20T09:26:12.373Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentcore","agentic-ai","amazon-nova","amplify","bedrock"],"created_at":"2026-02-19T10:13:03.448Z","updated_at":"2026-02-20T11:01:00.599Z","avatar_url":"https://github.com/awsdataarchitect.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Costco Receipt Scanner \u0026 Price Match Agent\n\nAI-powered tool that scans your Costco receipts, cross-references purchases against active deals, and tells you exactly which items dropped in price and how much you can get back at the membership counter.\n\nA weekly agent runs every Friday at 9pm ET, generates a formatted HTML report, and emails it to you via SES.\n\n![Architecture](diagrams/architecture.png)\n\n## How It Works\n\n1. Upload receipt PDFs through the web UI\n2. Amazon Nova AI parses every line item, price, item number, and TPD (Temporary Price Drop)\n3. Scrapers pull current deals from the web and Costco coupon book\n4. AI cross-references your purchases against active deals\n5. Weekly agent emails you a report with price adjustment opportunities and TPD savings already applied\n\n![Weekly Flow](diagrams/weekly-flow.png)\n\n## Architecture\n\n- **Frontend**: Static HTML on AWS Amplify with Cognito authentication\n- **API**: API Gateway HTTP API → Lambda (FastAPI + Mangum), streaming analysis responses\n- **AI**: Amazon Nova 2 Lite for parsing + analysis, Nova Premier for complex receipts\n- **Automation**: AgentCore Runtime triggered by EventBridge Scheduler universal target (no Lambda middleman), SES for email\n- **Storage**: DynamoDB (receipts + deals), S3 (receipt PDFs with presigned URLs)\n- **Infrastructure**: CDK (TypeScript), 3 stacks, deploy to any region\n\n## Prerequisites\n\n- AWS CLI configured with credentials\n- Node.js 18+ and npm\n- Docker running\n- Python 3.12+\n\n## Run Locally\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n./run.sh\n```\n\nOpens on `http://localhost:8000`. Auto-fetches DynamoDB/S3 resource names from the CDK stack.\n\n## Deploy\n\n```bash\ncd infra \u0026\u0026 npm install \u0026\u0026 cd ..\n\n# Deploy Lambda, Amplify, API Gateway, Cognito, DynamoDB, S3\nNOTIFY_EMAIL=your-email@example.com ./deploy.sh\n\n# Deploy weekly agent (SES verification email sent on first deploy)\ncd infra \u0026\u0026 npx cdk deploy CostcoScannerAgentCore \\\n  -c region=us-west-2 \\\n  -c notifyEmail=your-email@example.com \\\n  --require-approval never\n```\n\n## Cleanup\n\n```bash\ncd infra\nnpx cdk destroy CostcoScannerAgentCore -c region=us-west-2 -c notifyEmail=your-email@example.com\nnpx cdk destroy CostcoScannerAmplify -c region=us-west-2\nnpx cdk destroy CostcoScannerCommon -c region=us-west-2\n```\n\n## Cost\n\nUnder $1/month for personal use. Bedrock Nova tokens are the main cost (~$0.10-0.20/week). Lambda, SES, DynamoDB, API Gateway, and Amplify fall within free tier.\n\n## Built With\n\n- [Kiro CLI](https://kiro.dev) — AI coding assistant by AWS\n- [Amazon Bedrock](https://aws.amazon.com/bedrock/) — Nova 2 Lite + Nova Premier\n- [Amazon Bedrock AgentCore](https://aws.amazon.com/bedrock/agentcore/) — Runtime for the weekly agent\n- [AWS CDK](https://aws.amazon.com/cdk/) — Infrastructure as code\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawsdataarchitect%2Fcostco-price-match","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawsdataarchitect%2Fcostco-price-match","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawsdataarchitect%2Fcostco-price-match/lists"}