// § August 6, 2026 · Surbhi Karn

I Built a Surveillance Tool for Small Businesses and I Feel Great About It

Marketing · Product · Vibe Coding

I built ryvl because I have an unhealthy relationship with other people’s Google reviews, and instead of getting help, I got a domain name.

Let me explain the sickness. There are two cafes on a street. One has a line out the door. The other has an owner standing in the window doing the math on her lease, and the math is not going well. And somewhere between them, floating in the digital ether, is a one-star review of the busy one that says “the staff almost threw the receipt at me,” written by a man I have decided is named Doug, who typed it in the parking lot with shaking hands and more moral clarity than most journalists.

Doug did not know it, but he was writing intelligence. Actionable, weaponizable, free intelligence. And the owner across the street never read it, because she was busy repainting her sign, which is the small-business version of getting bangs after a breakup: visible, effortful, and addressing absolutely nothing.

So I built the thing that reads Doug for you. It’s called ryvl. It’s live at ryvl.info. It’s free to try, which is more than I can say for any of my other coping mechanisms.

The ryvl homepage: turn a rival's reviews into the ad and the ticket
The homepage. One sentence. It took me longer to write that sentence than some people spend on marriages.

The problem, minus the LinkedIn voice

Small business owners are losing to worse businesses and they don’t know why, and everyone has quietly agreed this is fine.

It is not fine. It is insane. The why is public. Your rival’s customers are out there writing detailed, emotionally incontinent testimony about exactly what they loved and exactly what made them leave and never come back. Unpaid. Unprompted. In writing. The kind of intel corporations pay consultants six figures to fabricate in a slide deck, and here it is, free, sitting under a four-point-two star average like a body under a rug.

Your own reviews won’t save you. Your reviews are about you, and like everything about you, they’re a funhouse mirror: too kind, too cruel, and disturbingly focused on your bathroom. The place your next ten customers are hiding is inside your rival’s reviews, in their complaints, in the gap between what that business promises and what Doug experienced at the register.

Nobody reads five hundred reviews across four competitors. You have a business. You have a life, allegedly. So the signal rots in public, which as a category of tragedy is very on-brand for this decade.

What the machine actually does

You give ryvl your business and a few rivals. It pulls their real Google reviews, actual sentences typed by actual wronged individuals, and a frontier model (Anthropic’s Claude, so at least one of us went to a good school) reads the entire pile in one sitting and produces one structured report: every business scored on the dimensions customers actually rant about, the recurring themes, the exact quotes, and the wedge.

The wedge is the whole point, and it obeys a rule I hard-coded because I do not trust vibes, mine or the model’s: it must be a rival’s weakness, on a dimension customers raise constantly, where you are at least competitive. Never your own flaw. ryvl is an offensive tool. Knife, not mirror. Your own failures go in the fix list, filed neatly, where you can ignore them like everyone else does.

Then the code takes the model by the collar. The report has to pass a strict schema before it renders. Every quote gets checked and snapped back to the exact review sentence it came from. The provenance numbers, how many reviews, from where, get computed from the fetched data, never taken on the model’s word, because the model, like everyone charming, lies beautifully when unsupervised.

The Overview: where Cafe Grumpy stands, built from 20 real Google reviews
Every report opens here. The sharpest weakness, said with its whole chest: “They’re losing customers on staff friendliness.” Doug’s legacy, laundered into strategy.

One insight, two outputs, no HR mediation required

This is the part I’m proudest of, which for me is saying something, because pride and I have a complicated custody arrangement.

Once ryvl finds the wedge, it hands it to you twice, as two pages that link to each other and, unlike most pairs of anything, actually agree.

Page one: the Marketing campaign. The rival’s weakness, sharpened into an angle you can run this week. Positioning line, ad campaign, copy that’s done, not “directionally there.” If the place across the street treats customers like a chore, the ad writes itself, and then ryvl actually writes it, because “writes itself” is the lie that precedes every blank page in history.

Page two: the Action plan. Same weakness, translated for the person who has to be there at 6 a.m. Here’s the problem, here’s who it’s costing you, here are the moves in order, receipts stapled to each one. For a mobile app, it shows up as a real engineering ticket, acceptance criteria included, ready to ruin a sprint.

The Split: one weakness shown as the ad a marketer would run and the plan an operator would execute
One weakness, “rude and dismissive staff,” turned into both the campaign and the work. The marketer and the operator finally reading the same document, possibly for the first time in commercial history.

Normally the marketer and the operator are two people in a meeting describing different realities and calling it alignment. Here they’re both staring at the same finding, in their own dialects, traced to the same human and the same review. The two pages are generated from the one wedge, so they physically cannot drift apart into separate stories. It’s the most functional relationship I have ever engineered, and I say that having engineered several dysfunctional ones for free.

The rest of the workspace, because restraint is for other people

Eleven modules per report, grouped under Overview, Intelligence, Action, and Trust. Every report gets the same eleven no matter the business, because the one place I permit myself consistency is software.

Here is the whole workspace, flipped through like a deposition. This is a real run on a Dave & Buster’s in Dallas, four rivals, twenty-five reviews, and one chain sandwich shop that is about to have a very bad afternoon.

The ryvl overview screen naming the sharpest competitor weakness
1 / 9. Overview. The report opens by saying the quiet part loud: the rival is losing customers on staff and service.
The reputation gap map scoring every business on six dimensions
2 / 9. Reputation gap map. Every rival scored on what customers actually raise. Blank cells where the reviews stayed silent.
Verbatim quote mining with themes backed by exact customer quotes
3 / 9. Quote mining. The receipts. Every quote checked verbatim against a stored review before it ships.
Customer segments showing who each rival wins and loses
4 / 9. Customer segments. Who each rival wins and loses. Subway is not having a good chart.
Price perception index built only from reviews that mention price
5 / 9. Price perception. Four businesses with no price signal stay blank. One gets called pricey, by its own customers.
The marketing campaign built from the rival's weakness
6 / 9. Marketing campaign. The weakness as ad copy you could run today: ‘Nobody here has an attitude. Except the arcade.’
The action plan built from the same weakness
7 / 9. Action plan. The same weakness as a plan for the person who opens the building at 6 a.m.
The operational punch list of prioritized moves
8 / 9. Operational punch list. Six moves, sorted by priority, tagged by effort.
Draft replies to the business's own reviews
9 / 9. Review reply drafts. Copy button, no autopost. Boundaries.

Swipe or scroll sideways to tour all nine screens of a real report.

Reputation gap map. Everyone scored on the dimensions customers actually raise, star on the leader per row. When the reviews never mention a dimension, the cell stays blank. It does not guess. It has that discipline. I did not inherit it from myself.

Reputation gap map: every rival scored 1 to 5 on the dimensions customers raise
The gap map. Cafe Grumpy leads on coffee, atmosphere, and space, and one cell says "n/a" because the reviews stayed silent. A blank cell is the software equivalent of not texting back, and I respect it enormously.

Verbatim quote mining. Themes per rival, each backed by the exact lines people wrote, filterable by rival and tone. "Staff almost throwing the receipt at me" is not a paraphrase. It's court testimony from the republic of Yelp-adjacent grief.

Verbatim quote mining: themes backed by exact quotes from real customers
Real names, real ratings, real damage.

Customer segments. Who each rival wins and loses: families, couples, tourists, and remote workers, a demographic that will forgive anything except an outlet shortage.

Price perception. One to five, overpriced or steal, inferred from how people talk about money, which is to say sideways and while lying. Silent reviews, blank index. No exceptions for vibes.

Campaign creative studio. Where the angle becomes content. For a local business, ryvl composites the campaign copy onto the venue's own real Google photo and hands you ready-to-post creative: Facebook and Instagram images and a 9:16 vertical video for Reels and TikTok. For an app: screenshots, preview video, comparison graphics, fluent in store. You download it and post it yourself. ryvl never posts on your behalf. Boundaries. I paid a lot of money to learn that word and I'm putting it in my software.

Campaign studio: the campaign turned into ready-to-post social creative on the venue's real photo
"Good coffee shouldn't cost you your dignity." I didn't write that. The wedge wrote that. The wedge is a better copywriter than half the agencies I've met.

Operational punch-list. Your gaps, converted into a short prioritized checklist tagged by priority and effort. Free-floating dread, but itemized. If someone did this for my personal life I would marry them at city hall the same afternoon.

Review reply drafts. Warm, specific draft replies to your own notable reviews, with a copy button. Nothing auto-posts. You read it, you edit it, you send it. Consent-based software. A niche position, apparently.

Three doors, one engine, zero chill

I built ryvl for cafe owners. Then I noticed the engine had never once cared that the subject was a cafe. It cares about exactly three things: rivals exist, their customers wrote reviews, the reviews are real. Everything else is costume. So the input became a pluggable adapter and now there are three doors.

Local Business: your Google Maps link, a few rivals from a list ryvl builds, everyone's Google reviews. The original crime scene.

D2C Brand: Amazon. Your ASIN, their ASINs, real review text. The sample reports read like a true-crime anthology for products: a rival water bottle growing mold in the straw, a rival metal wallet shedding its own screws ("NO SCREWS. NO FALLOUT.", all caps his), rival cookware whose lids shatter during normal cooking, a phrase doing incredible work in that sentence.

Mobile Apps: the app stores. Your app, their apps, the most recent App Store reviews, and real fights I did not soften: Notion vs Evernote, ClickUp, and Coda. Hevy vs Strong, Jefit, and Fitbod. ChatGPT vs Gemini, Copilot, and Perplexity. Here the action plan arrives as an actual engineering ticket, because when your product is code, the apology has to compile.

Same eleven modules through every door. Only the voice changes, local, listing, or release notes, and that's a per-vertical config, not three products, because I refuse to build the same thing three times for the same reason I refuse to have the same argument three times: I will lose differently each time.

How ryvl stays honest, written while side-eyeing a language model

The single easiest grift available in 2026 is letting a model write something plausible and selling it as intelligence. Plausible is cheap. Plausible is flattering. Plausible is how smart people end up confidently wrong at scale. I have been on both ends of plausible and I'm not building a third.

So the honesty is machinery, not a values page.

Every quote is verbatim. Checked as an exact substring of a real, stored review. Models retell your quotes the way a frenemy retells your story at a party, slightly wrong and better for them, so when one drifts, ryvl snaps it back to the exact sentence, and anything untraceable gets flagged. Every sample report on the site ships with zero violations. An invented quote dies before you ever see it.

When the reviews are silent, ryvl shuts up. Blank cells. Empty indexes. A schema that rejects any run that conjured a number out of silence. Honest blanks beat fluent fiction. Tattoo it on the industry.

The data numbers are computed, not claimed. Review counts and sources come from the fetched data, never from the model's self-report, because self-reporting is how we got wellness influencers.

The two outputs cannot drift. Campaign and plan come from the one wedge. Two views of one fact, not two essays avoiding eye contact at the same dinner.

The sample reports are real runs. Committed output of the actual pipeline on actual businesses, products, and apps. Nothing was staged for the screenshot. In the year of our lord 2026 this makes me either a craftsman or an idiot, and I've made peace with the ambiguity.

ryvl would rather show you less and have all of it be true. It's in recovery from an industry that isn't.

The ask

ryvl is live at ryvl.info. Twenty-second silent tour of a real report on the homepage, plus a gallery of sample reports across all three verticals. Click through right now. No signup, no email capture, no exit-intent popup begging like a needy ex.

When you're ready, feed it your own rivalry and watch the real pipeline run live: your business and its competitors from the homepage, your app and its rivals at ryvl.info/software. First run's free. Signed in gets you more. You know how this works. Everyone knows how this works.

If you've ever stood in your own doorway watching the line form across the street, wondering what they have that you don't: stop wondering. Doug already told you. He told everyone. He typed it with his thumbs, in the parking lot, for free.

ryvl just reads it back, and hands you the ad and the ticket.

Go: ryvl.info.

// tagged: · ·

Leave a comment

Your email address will not be published. Required fields are marked *