Project Info
Inspiration
Every process we know has either gotten incredibly revamped by AI or rendered obsolete in the recent tech climate. Except for receipts. From getting them to throwing them away after every purchase, this process is and has remained extremely primitive. Even when stores email you their receipts - you want to keep them in case something happens and you need the receipt but 9 times out of 10, thy just sit there, taking up space and making things messy. More than that, if you ever need to go back, return processes are always vague as ever and it honestly never works out.
What it does
Cycle is an AI powered hub for those receipts. After authorizing it with your gmail, it is able to scrape your whole inbox for any type of receipt, give you real time data in the dashboard, including all the relevant information for your purchase, as well as automated returns. All you need to do is press return and our program does the rest. Except maybe drop the physical product off at the end, that is.
How we built it
We have a web app and chrome extension. The tech stack to build our product is below. Tech Stack: Frontend: Next.js 14 + TypeScript + Tailwind CSS Backend: FastAPI (Python) + PostgreSQL/Supabase AI: Anthropic Claude (Sonnet 4.5) for receipt parsing and instruction generation Web Scraping: BrightData proxy network + Playwright for return policy scraping Automation: Chrome Extension with content/injected scripts for retailer automation APIs: Gmail API for email scraping, Google OAuth for authentication
Challenges we ran into
1) Chrome extension timing. Automation needed to wait for dynamic content to load. The solution was to implement retry logic with exponential backoff and MutationObserver for DOM changes. 2) AI Classification Accuracy. The initial version had false positives (marketing emails classified as receipts). The solution was to implemented strict two-step classification with explicit rejection criteria. 3) Return Policy Scraping. Many stores use dynamic JavaScript-rendered content. The solution was to implement BrightData's unblocking proxy + Playwright for JavaScript execution.
Accomplishments we're proud of
We're proud of having end to end automation, smart classification, and live automation.
What we learned
We learned about chrome extension architecture, web scraping at scale, and about full-stack skills such as Pydantic.
What's next
We want to transition the web app to also be a mobile app as well.
This project did not link a GitHub repository.
Analysis
No indexed repository for this project, so there are no commit stats to show.
Technology
- FastAPIUnchecked
- PostgreSQLUnchecked
- ReactUnchecked
No repository was indexed for this project, so these Devpost claims have not been checked against code.
AI coding agents
No repository was indexed, so agent usage could not be checked.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
No repository was indexed, so there is no codebase to measure.
This project did not link a GitHub repository, so there is nothing to diagram.
This project did not link a GitHub repository, so its feature claims have not been checked against code.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.