Inspiration

We built CouponVault because we genuinely believe small savings compound into something meaningful, especially for students and everyday shoppers who can't afford to ignore a good deal. The frustration wasn't just about missing a coupon; it was about the fact that the tools to save money already exist, they're just too scattered and manual to be useful in the moment. We wanted to fix that , not with another coupon website you have to remember to visit, but with something intelligent that works quietly in the background and hands you the right code exactly when you need it.

What it does

CouponVault is a Web app + Chrome extension that automatically detects, saves, and organises coupon codes as you shop online. The extension scans supported e-commerce sites in real time from DOM elements, regex patterns, and even image-embedded codes via OCR and saves them directly to your personal vault. The web app lets you manage all your coupons in one place, parse new ones using AI, track expiry dates, and view savings over time through an Analytics dashboard. A Smart Coupon Optimizer ranks your saved codes by value and expiry so the best deal is always one click away.

How we built it

The web app is built with React + Vite, with Firebase handling authentication and Firestore as the database. AI coupon parsing runs through Groq (Llama 3), and OCR.Space powers the image-based code extraction pipeline. The Chrome extension uses a content script with a platforms.js module covering 50+ Indian and US e-commerce sites, with a hostname-guessing fallback for unlisted ones. Since extensions run in an isolated context, we used the Firestore REST API with bearer tokens to write data independently of the Firebase SDK. The entire UI supports dark mode via CSS variable theming.

Challenges we ran into

The hardest technical challenge was syncing Firebase auth between the web app and the extension , they don't share a session, so we designed a custom flow to pass auth state across contexts. We also encountered a security issue mid-project that taught us to properly handle environment variables and secrets from day one, rather than as an afterthought. Coupon Logic -Parsing the Unpredictable Coupons have no standard format. "₹50 off", "20% off up to ₹150", "flat 30% above ₹299" - every brand writes them differently. We had to study real coupon texts, recognize the patterns, and build a generalized parser that could extract the max discount, cap price, and minimum order value regardless of how the text was worded. This logic also had to work seamlessly inside our browser extension, extracting and applying coupon data on the fly while the user browsed.

On the collaboration side, resolving Git conflicts from diverging branches under deadline pressure was a real lesson in communicating clearly and making decisions fast.

Accomplishments that we're proud of

We're proud that CouponVault is a fully working, deployed product not a prototype. The Chrome extension actually detects and saves coupons end-to-end, the AI parser handles messy real-world coupon data gracefully, and the web app is live on Firebase Hosting. Building a browser extension from scratch for the first time, while simultaneously shipping a full web app with a teammate, within a single hackathon window, that felt like a real milestone.

What we learned

We learned that browser extensions are a fundamentally different paradigm from web apps, isolated contexts, service workers, and manifest permissions add layers of complexity that tutorials don't fully prepare you for. We learned that security isn't something you bolt on later. And, we learned that before writing a single line of code, you need to sit with the problem first , map out all the varieties, anticipate edge cases, and only then find the general pattern that covers them all. Jumping straight to building only invites complications and bugs. we also learned that building something real with a teammate under a deadline forces a kind of clarity and trust that's hard to replicate otherwise.

What's next for CouponVault

  • Offline persistence with Firestore cache
  • Improved AI parser validation and failure handling
  • Broader platform coverage for the Chrome extension
  • Automatic coupon testing so the extension doesn't just save codes, it tries them and tells you which one actually works
  • Community vault a shared space where users can contribute and upvote verified coupon codes

Built With

Share this project:

Updates