A satirical microsite, a buzzword bingo card, a quiz where every answer is the same vendor, and a name generator with 1,440 combinations — built in a weekend with v0, Cursor, Claude, and Vercel.
Photo by Ales Nesetril on Unsplash.
Last week we shipped somesecurityvendor.com.
It's a fake security vendor landing page. AI-native. Shift-left. Developer-first. Built by practitioners. SOC 2 Type II. Everything you'd expect — because it's all been trained out of the same playbook.
This is how we built it, what we used, and what the reactions revealed.
The premise came from a real frustration buyers keep voicing: by the third demo of the week, they had stopped reading landing pages. The category had become a filter, not a signal.
We wanted to make that feeling visceral. Not an essay about it — a thing you click through and feel.
Build a perfect generic security vendor. Name, tagline, buzzword bingo, the full deck. Then reveal that you just described 200 real companies, not one fictional one.
The site runs four stages, each doing different work:
The name generator is PREFIXES × SUFFIXES × MODIFIERS: twelve prefixes, twelve suffixes, ten modifiers. The market has filled most of the combinations.
Built in one weekend. Stack: Next.js App Router, Tailwind, Framer Motion, Vercel Analytics. The process:
v0 for the first hour. Started in v0.dev to rough out the hero section and quiz card component. Fast for getting from zero to clickable — the output needs work, but the blank canvas problem is gone in under an hour. That's the right use: eliminate the blank page, not write production code.
Cursor for everything after. Once the structure existed, I moved into Cursor and didn't leave. The entire four-stage funnel logic, animated transitions with Framer Motion, live counter, buzzword leaderboard — all written and refined there. Project-wide context is the unlock: it understands what you already built, so you're always moving forward instead of re-explaining.
Claude for the mechanics that aren't code. The quiz needed every answer to describe the same vendor without feeling like a trick. That's a framing problem before it's a code problem. Solving it in conversation is faster than solving it alone. Claude also helped pressure-test the copy — "does this land as observation or gotcha?" is not a question a linter answers.
Vercel for deployment and analytics. Stage-aware funnel events wired from day one: stage_view, primary_cta_click, outbound_click, each tagged with stage and destination. The KPIs we care about — reveal → Beyond Features CTR, result → newsletter CTR — are visible without additional infrastructure.
The responses split into two camps almost immediately.
People in security and devtools GTM got quiet. Not "haha funny" — more like recognition. I wrote this deck. Some sent DMs. A few asked for the teardown.
Everyone else thought it was a real company.
That gap is the finding. When a satirical vendor page is indistinguishable from the real thing, the problem isn't the joke. It's that the category has trained buyers to expect one soundtrack — and the copy has obliged.
The quiz questions could be sharper. Five questions do the same job; one well-crafted question that collapses in the reveal would be cleaner.
And v0 is better used earlier — at the wireframe stage, not the component stage. I built too much before moving to Cursor, which meant more refactoring. The handoff point is roughly: I understand the shape of this. Not: this is mostly written.
The site points to two resources: the Anti-Platform Positioning playbook and the SSV teardown with before/after examples.
The satire is the hook. The real argument is in those resources: sameness is structural, not a creative failure. Category pressure, approval chains, and timelines push companies toward the same words. The fix isn't a new adjective. It's specificity, proof, and being honest about who you're not for.
The implication for anyone in devtools or security GTM: if a solo builder with AI assistance can clone your category's messaging in a weekend, sameness isn't a brand problem. It's a moat problem.