shouldivibecodeit

Should we have vibe coded this?

It would be a bit rich to rate 149 other people's ideas and not our own. So: the same six dimensions, the same scoring model, the same honesty.

can you?YES
should you?SHIP IT
regret score
19/100

A static site with no accounts, no payments and no personal data is about as harmless as software gets. The only thing at risk is our weekend.

the score, honestly
blast radius2/10
data sensitivity1/10
security surface2/10
regulatory exposure0/10
irreversibility2/10
maintenance tax6/10

The one number that is not near zero is maintenance. 149 entries are 149 opinions that go stale — prices change, tools shut down, and the risk calculus around AI-generated code is moving quickly. A directory is not a project you finish, it is one you keep. That is the honest cost here, and it is the same cost we warn about on half the pages on this site.

what we deliberately did not build
  • Accounts. There is nothing to log in to and nothing to steal.
  • Payments. No sponsorships, no affiliate links, no “featured” slots.
  • Comments. Disagreement goes through pull requests, where it has to be specific.
  • Third-party analytics. No cookies either. We count views and daily uniques ourselves, with a hash that is re-salted every midnight and stores neither your IP nor your user agent — the numbers are on /stats, since publishing them is the only way that claim is checkable.
  • Build prompts. canivibecodeit’s half of the split; every entry here links to theirs.
the rebuild prompt

Yes, you can vibe code this site. Here is roughly what it took — though the hard part was never the code, it was writing 149verdicts and being willing to defend them.

the guardrail prompt
Build me a static directory site that answers one question per
entry. Requirements:

- Next.js App Router, TypeScript, no UI framework and no CSS framework. Write the
  reset by hand. Plain CSS custom properties for all tokens.
- Content is one JSON file per entry in data/entries/, read at build time with
  readdirSync. The filename must equal the entry's slug and a validator enforces
  that. No CMS, no database.
- Every entry carries a verdict from a fixed four-value enum plus six 0-10 risk
  dimensions. A weighted sum of those six produces a 0-100 score, computed at
  read time and never stored, so the weights can change without touching the
  data.
- The authored verdict may override the computed band, but a validation script
  fails the build if it is more than one band away. Run that script in CI.
- Generate: an index with client-side search and filters, a detail page per
  entry via generateStaticParams, plus taxonomy pages for category, verdict and
  risk tag.
- Per-entry OG images with next/og ImageResponse, showing the verdict badge and
  the score. This is the single highest-leverage thing for sharing.
- Dark only. No theme toggle. Mono for structure, sans for prose.
- Vote counters, an email list and aggregate page views via route handlers talking
  straight to MongoDB — no separate API server. If the connection string is absent
  the UI must degrade to "coming soon" rather than crash.
- First-party counts only, all aggregate: page views by path, and daily uniques from
  a hash of IP + user agent salted with a secret that rotates at midnight UTC. Store
  the hash, never the inputs. No cookie, no id that outlives a day. No accounts.

Out of scope, and say so rather than faking it: a CMS, user accounts, and any
kind of comment system.
paste this before you build — not after something breaks29 lines · 1773 chars

Their version of this page: vibecode this site ↗ · ours is just the same idea with more anxiety. about →