Inspiration
We drew the domain ghost.reviews from name.com's Domain Roulette — and the name was the entire product. A "ghost" review is one written by a phantom AI ghostwriter, not a real customer; ".reviews" is exactly the medium being haunted. The name handed us the thesis: expose the ghosts hiding in a product's reviews.
Because online reviews don't work anymore. A product shows 4.6★, you buy it, and it's junk — a wave of AI-generated 5★ reviews quietly propped the rating up. In 2026, anyone can spin up hundreds of fluent, human-sounding fake reviews in minutes, and the old "spot the typo" tricks are dead. So ghost.reviews answers one honest question: how much of this product's hype is real humans vs. AI ghostwriters — and which way is the AI trying to steer me?
What it does
Paste a product (e.g. an Amazon listing). ghost.reviews:
- Pulls its reviews (Nimble-powered live web; the public demo ships with sample reviews so you can try it with zero keys).
- Runs an adversarial teardown on each one — scoring how likely it was written by AI vs. a real human, with the specific red flags that drove the call.
- Surfaces the payoff most checkers miss: the rating gap. e.g. "Listed 4.1★ — but the real human reviews average 3.2★, and the AI reviews are all 5★. The AI is inflating the score → AVOID."
- Gives a one-glance trust verdict: Looks genuine ✅ / Be careful ⚠️ / Avoid 🚫 — plus whether the AI is inflating (astroturfing) or bombing (attacking a competitor).
How we built it
One analyzing AI, three sponsor technologies, one cohesive product:
- name.com (the concept): the product is the domain. ghost = the AI ghostwriter; .reviews = the medium. The name isn't a label on top of the app — it's the thesis the whole app proves.
- The teardown engine (Claude + a model-behavior knowledge base): one
analyzer scores each review. It's primed with a knowledge base of how the major
model families tend to write (
model_profiles.py), and it writes its own reference reviews of the product — one a genuine human would write, one an AI ghostwriter would — then compares each real review against both baselines. Runs free on a transparent rule engine; upgrades to Claude (Haiku) when an API key is set. - Tower (pipeline + lakehouse): the whole crawl → score → store flow is
deployed as a serverless Python app on Tower and runs on a daily schedule.
Each scan upserts a row into an Apache Iceberg table (
ghost_scans) in Tower's lakehouse — building a history of how a product's Ghost Score moves over time. - Nimble (the live-web input layer):
nimble_client.pyintegrates Nimble's Search API as the review source — the pipeline flips from sample data to real-time web extraction the instantNIMBLE_API_KEYis set. The public demo runs in sample mode (clearly badged) so anyone can try it with zero keys; the detection, scoring, and storage are identical either way. - Dashboard: a Streamlit app turns a scan into the trust verdict, the rating gap, the flagged reviews, and the AI's "mirror" baselines.
Challenges we ran into
- Telling AI from human is genuinely hard — so we refused to fake certainty. We ship an honest probability with explainable red flags, not a black-box "fake/real" stamp.
- Resisting over-claiming on attribution. Naming the exact model that wrote a review isn't scientifically reliable, so we deliberately ship model-family attribution as a clearly-labeled, low-confidence preview / roadmap feature — never a claim.
- Hardening. We ran an adversarial multi-agent review over the codebase, which surfaced 16 issues; we fixed the real ones — including two silent failures that could have shown a falsely reassuring verdict.
Accomplishments that we're proud of
- A real, deployed product: serverless pipeline live on Tower with a daily schedule and lakehouse storage — not a localhost prototype.
- The rating-gap insight ("humans say 3.2★, AI faked it to 4.1★") that turns detection into an actual decision.
- Honest engineering: explainable scoring, no fake certainty, a transparent free mode, and a $0 path so anyone can run it.
What we learned
- AI-generated text detection is best framed as calibrated probability + evidence, not a verdict.
- The real value isn't "is this fake" — it's "is the rating being manipulated, and which way."
- A good data model (one row per product per day) turns a hackathon demo into the start of a real dataset.
What's next for ghost.reviews
- The data flywheel: every scan + user feedback grows a labeled dataset of AI-vs-human reviews. As it grows, we sharpen the model-family attribution preview into a real, calibrated signal.
- Browser extension that overlays a Ghost Score directly on Amazon / Yelp / app stores.
- Alerts on review-bombing and astroturfing spikes for sellers and shoppers.
Log in or sign up for Devpost to join the conversation.