Inspiration
We started thinking about something we all do every day without questioning it, opening Amazon, scrolling Netflix, buying from Apple, without ever stopping to ask: what does it mean that I always go to the same three companies?
The more we looked into it, the more alarming it got. A handful of corporations control the majority of entire industries. Google handles 91% of all internet searches. Uber takes 74% of US ride-hailing trips. Meta reaches over 3 billion people daily across its platforms. And when companies get that big with no real competition, prices rise, innovation slows, and, most critically, they gain the power to shape what people see, believe, and even vote for.
At the same time, we thought about how easy it is to over-spend. Impulse buying is real, and it's engineered. Checkout flows are designed to move fast and feel frictionless. Nobody stops to ask: wait, did I already buy something like this last month?
We wanted to build something that fought both of these problems at once, and put the power back in the hands of the consumer.
What it does
Second Look is a Chrome extension with two core features:
1. Market Awareness Every time you visit a website, Second Look tells you how much of the market that company controls, powered by Gemini AI. If you're on Netflix, you'll see that Netflix holds 22% of the global streaming market, with a live chart showing every competitor. Then it suggests alternative platforms to explore, dynamically labeled for context: "Watch From Here Instead", "Shop From Here Instead", "Listen From Here Instead". The goal is simple: small, consistent choices spread across many companies keep markets competitive and consumers protected.
2. Impulse Buying Resistance At checkout, Second Look pulls up your past purchase history and cross-references it with what's in your cart. If you're about to buy something you've bought before, or something very similar, it surfaces that information as a gentle nudge. Not a blocker, not a lecture. Just a moment of friction that asks: do you actually need this?
Together, these two features address something no other tool does: the intersection of ethical consumption and personal financial awareness.
How we built it
We built Second Look as a Chrome extension using vanilla JavaScript, HTML, and CSS. Our architecture revolves around a "Triple-Guardian" system that protects both the user's wallet and their values.
The backbone of our budgeting logic is the Capital One Nessie API. We used it to create a real-time bridge between the user’s bank account and their browser. By fetching live balances and transaction history from simulated customer accounts, we calculated a dynamic "Safe Spend" threshold. During checkout, the extension triggers a Budget Guardian alert if a purchase would overextend the user's actual financial health, effectively bringing bank-level awareness directly into the split-second decision of a click.
The market awareness feature is powered by the Gemini 3.0 Flash Preview API. We send the current domain to Gemini with a carefully engineered prompt that extracts the company, its consumer market share (defined explicitly as the percentage of buyers in a category, not revenue), and context-aware alternative websites. Results are cached per domain for 24 hours using chrome.storage.local to minimize API calls.
The UI is a dark-themed popup with a live Chart.js doughnut chart, a dynamic action label generated by Gemini, and a "WHY should you care?" button that links to a companion educational webpage we built explaining the ethics and psychology behind market concentration and impulse buying.
The checkout feature uses a content script to detect cart and checkout pages by scanning URLs and page elements, scrape product names, and pass them to a second Gemini call that identifies dominant brands and suggests alternatives.
The educational why page is a standalone HTML/CSS site, with a Medium-style editorial layout, CSS-only illustrations, an interactive company market share explorer, and scroll-triggered animations.
Challenges we ran into
Gemini rate limits were our biggest early blocker. The free tier for gemini-2.0-flash has a low per-minute and daily quota, and we burned through it fast during testing. We solved this by switching to gemini-2.5-flash, implementing a 24-hour caching layer, and building a mock data mode so we could develop the UI without hitting the API at all.
Content Security Policy violations took longer than expected to debug. Chrome extensions have strict CSP rules that block external scripts, we were accidentally loading Chart.js from a CDN in the HTML head while also loading it locally, causing silent failures that were hard to trace.
Prompt engineering was trickier than expected. Getting Gemini to return clean, parseable JSON every time, with accurate market share numbers, appropriate action labels, and genuinely useful alternatives, required many iterations. We had to be very explicit about defining "consumer market share" versus revenue share, and about the rule that alternatives should come from rank #4 and below, not direct competitors.
Dividing the work across two people with different parts of the stack meant keeping interfaces clean and well-documented so the checkout feature could plug into the existing popup without conflicts.
Accomplishments that we're proud of
- Building a fully functional AI-powered Chrome extension in a single hackathon
- Getting Gemini to reliably return structured, accurate market data for virtually any website
- The dynamic action label, "Watch From Here Instead" vs "Shop From Here Instead" vs "Listen From Here Instead", is a small detail that makes the whole experience feel thoughtful
- The educational why page, which stands alone as a piece of design we're genuinely proud of
- The impulse buying concept, which we believe is a genuinely novel approach to conscious consumption
What we learned
- How Chrome Extension works, working with front end and back end.
- How to engineer prompts for reliable structured output from large language models
- That market concentration is even more extreme than we thought going in, the data genuinely surprised us
- How to scope a hackathon project: build the core loop well, mock everything else, ship something real
- That the most important design decision is often what not to show, the popup went through many iterations before it felt calm rather than overwhelming
- Leveraging Nessie transaction history to identify redundant impulse buys. Using AI to tell a user they already own something similar to what's in their cart, based on their actual past bank data, is a feature we believe could save users thousands.
What's next for Second Look
- Full checkout integration with real purchase history from the Nessie API, cross-referencing cart items against past orders
- Onboarding flow that explains the extension on first install so users understand what they're looking at
- Browser notifications that proactively alert you when you visit a highly concentrated market, even before you open the page
- A score system: A personal "diversity score" that tracks how spread out your spending is across companies over time
- Mobile: Bringing the same awareness layer to Safari and Firefox
- Expanding the why page into a full resource hub with reading lists, data sources, and actions people can take beyond just switching platforms
Built With
- css
- gemini-api
- git
- github
- html
- javascript
Log in or sign up for Devpost to join the conversation.