Inspiration
The idea for OneCart came from a simple frustration—shopping across multiple websites is a mess. You find a shirt on one site, a pair of shoes on another, a gift on a third, and suddenly you're dealing with five tabs, five carts, and five checkouts. We wanted to fix that. The goal was to create a tool that treats the internet like one giant store, helping users gather products from anywhere and make better, smarter buying decisions.
What it does
OneCart lets users add products from different e-commerce sites into a single, unified cart. From there, they can either purchase everything in one go or set up smart rules—like “buy when price drops” or “buy when shipping is fastest.” It simplifies shopping and helps users time their purchases based on what matters most to them.
How we built it
We started with a web-based MVP. Users manually paste product links into the app, and a backend scraper fetches metadata like title, image, price, and store. The frontend is built with React, while the backend runs on Node.js with Puppeteer for scraping. Cart data is stored in Firebase and syncs with user accounts.
Challenges we ran into
- Every e-commerce site has a different layout and structure, making scraping inconsistent.
- Handling edge cases like out-of-stock items or dynamic pages (like those built in React) required extra logic.
- Designing a rules engine that was powerful yet simple for users took several iterations.
- Ensuring the product felt trustworthy—especially since it involves storing product data—was a constant consideration.
Accomplishments that we're proud of
- Built a fully working cart aggregation system without a browser extension.
- Created a flexible rules engine that actually helps users delay or time purchases more smartly.
- Made something that feels intuitive to use, despite being a backend-heavy tool.
What we learned
- Product scraping is tricky but manageable with site-specific logic and fallbacks.
- Less is more—users appreciated the simplicity of “paste, see, decide” rather than being overloaded with features.
- Building user trust matters as much as building functionality.
What's next for OneCart
- Adding a browser extension for 1-click product capture.
- Expanding supported stores and improving scraper accuracy.
- Enabling notifications when rules are triggered.
- Exploring partnerships with affiliate programs for monetization.
- Long-term: enabling agent-based automated checkout when rules are met.
Built With
- cheerio
- drizzle-orm
- express.js
- postgresql
- radix-ui
- react
- tailwind
- tanstack-query
- typescript
- vite