Can AI replace ShowTrust?
YES · one-shottableA 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.
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.
$ open in your agent (prompt prefilled, you press enter) or copy it raw
prompt copied. want to know what dies next week?
new verdicts + top votes, weekly. free. one-click out.
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.
xa free tier · one site with uncapped testimonials costs nothing hosted, so the DIY build starts out behind on price
xthe 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
xthe 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
xdid-it-work data · impression and CTA-click tracking with click-through rate and which domains your wall is actually being viewed on
xX-verified testimonials · an OAuth flow that reads X's own verified state, so the quote is provably tied to a real handle and avatar
Nothing worth pointing at — that's why the prompt exists.
Can AI replace ShowTrust?
Yes. A competent AI coding agent (Claude Code, Codex, Cursor) can build a usable personal ShowTrust replacement in one session with the prompt on this page. It runs on your own machine or server with no subscription.
How much does ShowTrust cost?
ShowTrust costs about $4.99/month (Pro, checked 2026-07-31), which is $59.88 per year. That's what you save by replacing it with one prompt.
What do I lose by replacing ShowTrust?
Honestly: 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. If any of those are load-bearing for you, keep paying.
Is there an open-source alternative to ShowTrust?
No mature open-source alternative worth pointing at — which is exactly why the one-shot prompt on this page exists.