Unspun: Search Without the Sales Pitch

Background

The modern search engine has a dirty secret. When you type "best air purifier" or "best espresso machine under $500" into Google, the top results are not ranked by quality. They are ranked by affiliate commission potential.

Legacy media brands like Forbes, CNET, Better Homes & Gardens, and Wirecutter have weaponized their domain authority to dominate product search results with untested, commission-driven listicles. Independent site HouseFresh documented this in painful detail: major publishers claimed to have "tested" dozens of appliances overnight in non-existent laboratories, and Google rewarded them with top rankings anyway.

This is not a fringe problem. It is the default state of the internet in 2026. The search engine result page (SERP) has been captured by a small number of private equity-backed content mills whose business model depends on users never realizing the "top pick" is simply the product with the highest referral bounty.


The Gap

Millions of people already know this intuitively. The clearest evidence: the explosion of searches appended with "reddit" ("best headphones reddit", "best budget laptop reddit"). Users have independently discovered that real human consensus lives on forums, not on affiliate sites. But this workaround is clunky, time-consuming, and still surfaces astroturfed promotional posts mixed in with genuine recommendations.

The tools that exist to solve this are either static (Looria, Reddit Bests), limited to one niche (Lumona covers skincare only), or browser extensions that augment results without actively stripping the bias at the source (GigaBrain). No tool in the market performs real-time affiliate domain auditing, Reddit consensus extraction, and live price cross-referencing in a single unified pipeline. That gap is exactly where Unspun lives.


Why We Built It

We built Unspun because we were tired of being lied to by search results. Every time a major product decision needed to be made, the process was the same: ignore the first five Google results, open Reddit, spend 40 minutes reading threads, open five browser tabs for pricing, and synthesize everything manually. That is not a search engine. That is archaeology.

The question we asked ourselves was simple: what if the search engine did the archaeology for you? What if, instead of surfacing the highest-authority domains, it surfaced the highest-trust consensus? And what if it showed you exactly what it threw away, and why?

Unspun is our answer to that question.


How We Built It

Unspun is built as a full-stack web application using Next.js on the frontend and a FastAPI Python backend deployed as a Vercel Serverless Function, keeping the entire stack in a single repository with a single deploy target.

The core pipeline runs on every search query in four stages:

Stage 1: Organic Search and Bias Audit We call the SerpAPI Google Search endpoint to retrieve the top 10 organic results for the user's query. Each result domain is immediately audited against a curated affiliate blacklist (Forbes, CNET, BHG, Wirecutter, NerdWallet, Bankrate, and others), as well as dynamic signals like "Top N Best" title patterns. Flagged domains are quarantined with a human-readable reason explaining why they were removed.

Stage 2 and 3: Reddit Sentiment and Live Pricing (Parallel) Simultaneously, we fire two additional SerpAPI calls. The first queries Google Search with a site:reddit.com constraint to extract genuine community discussions and product mentions. The second calls the SerpAPI Google Shopping endpoint to retrieve live pricing, availability, and seller data for the top community-recommended products. Running these in parallel via asyncio.gather() keeps the total pipeline under the Vercel Function execution limit.

Stage 4: LLM Synthesis All retrieved data, organic audit results, Reddit snippets, and shopping prices, are merged into a single structured prompt and sent to the Cerebras API (model: gpt-oss-120b) in one call. The model synthesizes a ranked recommendation list, flags potential astroturf posts in the Reddit data, calculates a consumer savings delta between the affiliate top pick and the community top pick, and generates a plain-language summary. The entire response is returned as structured JSON and rendered directly in the UI.

On the frontend, results are cached in the browser's localStorage with a 24-hour TTL. Repeat queries for the same search return instantly from cache without hitting the API, solving the rate limit constraints of the Cerebras free tier (5 RPM) and making the experience feel instant for returning users.

The UI is designed to feel like a search engine, not an AI chatbot. A prominent search bar, a live stats bar tracking session-level metrics (average response time, affiliates blocked, sources read), a collapsible Quarantine Zone showing exactly which domains were stripped and why, and rich result cards with product images, Reddit evidence links, sentiment badges, community quotes, and caveats. Dark and light modes are supported with a system-preference default and a persistent toggle.


What We Achieved

Unspun demonstrates that SerpAPI is not just a data retrieval tool. It is the foundation for an entirely new class of search experience, one that treats Google's index as raw material to be audited and corrected rather than accepted as ground truth.

In concrete terms:

  • A fully functional AI search engine deployed on Vercel with a Python backend, zero separate infrastructure required.
  • A real-time pipeline that strips affiliate bias, extracts Reddit consensus, and cross-references live pricing in a single query averaging 6.5 seconds cold and under 50ms on repeat.
  • A transparent "Quarantine Zone" UI that shows users exactly which sources were removed and why, turning an invisible algorithmic process into a trust-building product feature.
  • An astroturf detection layer that flags suspiciously promotional Reddit posts before they influence the recommendation.
  • A consumer savings metric that calculates the price delta between what the affiliate listicle recommends and what the community actually buys, making the cost of bias concrete and visible.
  • A landing page that explains the problem and the solution without a single piece of marketing speak, because the product's value proposition is self-evident the moment you run your first search.

Unspun is not a proof of concept. It is a working product that anyone can use today to search the internet the way it was supposed to work before it got sold.

Built With

  • cerebras
  • fastapi
  • langchain
  • next.js
  • python
  • serpapi
Share this project:

Updates

Submission history