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.
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 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.
- 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.
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.
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.
Their version of this page: vibecode this site ↗ · ours is just the same idea with more anxiety. about →