A testimonial wall for your own site is a hosted form, an approval queue and a script tag that draws cards, and an agent builds it in one sitting on SQLite with the videos on your disk. ShowTrust's own pitch is that an agent can install it for you, and it costs $4.99, so the honest question is why build at all: at that price a build saves nothing. Build only if you want the data on your own server or no third-party script on the page. What you give up is hosting and polish: browser video recording that works on any phone, imports from X, the App Store and pasted reviews, and a widget that behaves inside page builders.
Before you buildShowTrust Free already has unlimited testimonials and five layouts, and Pro is $4.99. Try it first: a build mainly buys control over where the data lives.
Build me a testimonial collector and wall of love to replace ShowTrust. Requirements: - Node.js 22 + TypeScript: a Hono server (`@hono/node-server`) with server-rendered pages (`hono/jsx`). `npm start` serves http://localhost:4710: dashboard at /admin, collection page at /c/<slug>, JSON at /api/walls/<slug>.json. - Storage: better-sqlite3 in ./data/wall.db (projects, testimonials with status pending, approved or pinned, tags, source). Uploads go to ./data/uploads/ under random file names. Escape every submitted string wherever it is rendered. - Collection page: name, role, 1-5 stars, text, an optional photo (JPEG or PNG, 2 MB) and an optional video, either recorded in the browser (`MediaRecorder`, 5-second countdown, retake, 3-minute cap, WebM or MP4 whatever the browser makes) or uploaded (MP4, WebM or MOV, 100 MB). Add a consent checkbox, a honeypot field and `hono-rate-limiter` at 5 submissions per IP per hour. - Dashboard: one password in .env (signed cookie) to approve, pin, reject, edit and tag; CSV import with column mapping (name, text, rating, date) and a CSV export of the current filter. - Widget: /widget.js reads data-project, data-layout (grid, masonry, marquee, single or list) and data-max from its own script tag, fetches the JSON and draws the cards inside a Shadow DOM. Keep the built file under 8 KB gzipped and print its size from `npm run build`. The JSON endpoint answers only origins listed in ALLOWED_ORIGINS (.env). - Tests (Vitest): a CSV round trip keeps quotes and commas, a pending testimonial never appears in the JSON, and an upload with the wrong type is refused. - Single owner. No accounts, no telemetry, local-first. Outbound calls: none. - Out of scope: imports from X, App Store or review sites, AI tagging, payments, several projects with billing. - README: exposing the server through a tunnel or a VPS with HTTPS (browser recording needs HTTPS or localhost), the script tag to paste, where ./data lives for backups, and a warning that phone videos run tens of MB each.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own ShowTrust.
Add a ShowTrust importer to the testimonial wall in this folder. Requirements: - A command `npm run import-showtrust -- export.csv` that reads a ShowTrust CSV export (columns: author, email, text, rating, status, video and photo links, tags, source, permission). - Map status to pending, approved or pinned, and keep tags and the permission flag; print a summary of new, duplicate and skipped rows before writing anything. - Download video and photo links into ./data/uploads/ under random names, with a size cap and a 30-second timeout per file; list the ones that failed. - Running it twice must not create duplicates (match on author plus text). - Update the README with the export steps from the ShowTrust dashboard.
Add video processing to the testimonial wall in this folder. Requirements: - After a video upload, run ffmpeg in a queue to make a JPEG poster at 1 second and an H.264 MP4 capped at 720p; keep the original until the new file passes an ffprobe check. - Show processing status in the dashboard and use the poster in the widget until the video is clicked. - Delete originals older than 7 days only when the dashboard setting allows it. - Fail safely if ffmpeg is missing and say so in the dashboard. - Update the README.
Add invitations to the testimonial wall in this folder. Requirements: - Paste up to 100 names and emails, or upload a CSV; each person gets a unique link /c/<slug>?i=<token> with a random 32-byte token stored hashed. - Send mail through nodemailer SMTP (settings in .env), 20 a minute at most, with one reminder after 5 days to people who have not answered. - A submitted form marks the invitation as used and prefills the name and email, locked. - Unsubscribe link in every mail; never mail the same address twice about the same project. - Update the README.
At $4.99 the plan is a rounding error next to an afternoon of building, and the free tier already has no testimonial cap. Founders pay for the parts that are dull to own: video recording that survives phone browsers, a widget that stays small, and a place to collect quotes without hosting anything. The product is new and run by one person on the side, so the risk people take on is continuity, not price.
Estimate · Runs on a free tunnel or a $5 VPS, which already costs about what Pro does; video uploads are what grow. The build is token usage on your agent plan.
Checked 2026-10-19 against ShowTrust's docs: 1, 2, 3, 4, 5, 6
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | One project, unlimited testimonials, grid, masonry, marquee, single and list layouts, a hosted collection page, CSV import and export. |
| Pro | $4.99 | $4.17 | Video testimonials with no cap on their number, recorded in the browser or uploaded, up to 5 minutes each; removes the ShowTrust credit; adds one more project per slot. |
Free covers one project, unlimited testimonials and all five layouts; the docs mention a small ShowTrust credit under the wall that Pro removes.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $4.99 a month on the Pro plan, $59.88 a year (checked 2026-10-19).
Hosted video storage and a recorder that works in any phone browser; Imports from X posts, App Store reviews and pasted review text; Five ready-made layouts and a lazy-loaded widget script of about 5 KB; A hosted collection page at showtrust.to/your-name that you do not have to run; The REST API and the agent skill that installs the widget for you. If any of those matter to you, keep paying.
Yes: Famewall (free), Senja (free), testimonials (Rails engine) (open source).