[verdict][curated prompt][source: showtrust.to]
Can I vibecode ShowTrust?
// one session, and a personal version you can actually use
A submission form, an approval queue, and a grid of cards you can embed elsewhere. There is no algorithm here and no network effect · an agent will produce a working version in one sitting, same as it will for the $25 and $29 tools in this category. The catch is the same one Eloqra has: the hosted version is free for a single site, with no cap on testimonials, so you'd be spending a weekend and a hosting bill to replace zero dollars. Worth building if you want the data on your own box or you enjoy the exercise. Not worth building to save money, because there isn't any to save.
confidence: medium
what it is: A shareable link that collects testimonials, and a widget an agent can install for you
Buildability index · an editorial game
- Price 4.99 $/month weight: zero
- Time one sitting weight: plus 3
- Category testimonials no weight
- Moat execution quality weight: minus 1
- Confidence medium weight: zero
- What you lose 5 items weight: minus 2
- Site showtrust.to (si apre in una nuova scheda) no weight
They cancel out. This is where it comes down to how much the subscription annoys you.
Gioco editoriale: il verdetto dice se un agente può, l’indice se conviene.
What you build
A public page collects a name, photo, star rating and quote; you approve them; approved ones render as an embeddable wall on your site.
what you need
- a small always-on host
- somewhere to put uploaded avatars (local disk is fine)
Free and uncapped for one site, so the build is a hobby rather than a saving · the badge on the collection page is the one real reason to self-host.
The prompt
One session with a coding agent and your version runs.
Build me a testimonial collection and display tool. Requirements:
- Stack: one Node + TypeScript service (Fastify) with SQLite via better-sqlite3 and local disk
for uploads. No Docker, no separate frontend build, no customer accounts.
- A public collection page at /c/:slug · name, role, company, avatar upload, 1-5 star rating,
and the quote. Each field individually toggleable per project from a config row. Submissions
land as pending. Show a thank-you state after submit.
- An /admin page behind basic auth from .env: pending queue with approve/reject, plus pin and
delete on approved ones. Nothing is public until approved.
- An embeddable wall: GET /widget.js injects the approved testimonials into any page via one
script tag plus a div, rendered into a shadow DOM so the host page's CSS can't leak in.
No iframe.
- Offer three layouts (masonry, single-column list, horizontal carousel) and read layout,
accent colour, light/dark theme and card corner radius from data- attributes on the tag.
- Server-render the widget HTML and have the script fetch it, so the testimonials are in the
response rather than assembled client-side. Cache it with a short max-age plus
stale-while-revalidate.
- Render every approved card in that response and hide the ones past a configurable initial
count, then have Load More just unhide them · no second request, one paint, and the full set
is in the HTML for crawlers.
- Drive all sizing from CSS custom properties on the container rather than per-element inline
styles, so one stylesheet covers every layout and card style.
- Avatars resized server-side to 128px squares on upload with sharp; reject files over 5MB.
- Count impressions and click-throughs in SQLite · fire an impression only after the wall has
been intersecting for one second, latch it so it can't fire twice per page load, and filter
obvious bot user agents server-side.
- Rate-limit submissions per IP and add a honeypot field, because a public form will get spam.
- Ship a README with the paste-in snippet and VPS deploy steps behind TLS.
- Deliberately out of scope: video testimonials, importing from other platforms, team seats,
and email notifications. Curated prompt: written and reviewed by hand for this app. In English on purpose — it is the language coding agents work best in.
What you lose
- a free tier · one site with uncapped testimonials costs nothing hosted, so the DIY build starts out behind on price
- the install itself · an agent can provision the account from your email alone, get working credentials in the same response, create the project and paste the snippet into your framework, with the human only clicking a claim link afterwards · your own build is something you have to go and deploy
- the design surface you'd otherwise hand-build · multiple layouts, eight card styles, colour palettes, and sliders for width, spacing and radius, all previewable instead of CSS-tweaked by hand
- did-it-work data · impression and CTA-click tracking with click-through rate and which domains your wall is actually being viewed on
- X-verified testimonials · an OAuth flow that reads X's own verified state, so the quote is provably tied to a real handle and avatar
Why people still pay
For one site, they don't · it's free, uncapped, and nothing is feature-gated, so the paid tier only exists to add a second project. What you actually trade away by self-hosting is smaller and more boring than money: the layout and styling controls are a real chunk of fiddly frontend work, and the impression tracking tells you whether the wall is doing anything at all, which a hand-rolled version silently won't. One honest mark against the hosted option · the collection page carries a 'Powered by ShowTrustTo' line on every tier, paid included, and there's no switch to remove it. If that badge on a page you send to customers bothers you, that alone is a legitimate reason to build your own.
moat: Execution quality what a moat is
free tier/polish
Free alternatives
Not in the mood to build it? These already exist, they are free or open source, and we checked them one by one.
Rejected (2) — and why
- Reviewskits (si apre in una nuova scheda) — A young headless stack with 52 stars, no releases, and an SDK-shaped hole where the no-code widget should be.
- Senja (si apre in una nuova scheda) — Polished and genuinely free, right up to testimonial number sixteen; the core collection job then becomes paid.
Do you agree?
The vote balance
Ancora nessun voto: il tuo è il primo.
Nessun voto ancora — il primo pesa.