Vibecode ShowTrust

track this build5 phases, 15 steps, beginner friendly
YES · one-shottable
price $4.99/moyou'd save $59.88/yrbuild time one sittingcategory 💬 testimonialsreplaced by 0 people

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.

the project pack5 files · written for this build, step by step
README.md
# ShowTrust · indie build

Build a consent-based testimonial collector with approval and an embeddable wall.

Estimated effort: **multi-day**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | Python 3.12+ and Flask | A small local HTTP application with readable server-side handlers and no JavaScript build pipeline. |
| Storage | SQLite through Python sqlite3 | Local ownership with explicit transactions and a portable backup path. |
| Interface | Jinja HTML templates, CSS and vanilla JavaScript | Implement the specified screens directly with labelled controls and progressive enhancement. |
| Verification | Python unittest and browser acceptance fixtures | Check invariants and the actual user workflow before the next phase. |
| Focused libraries | Pillow | Use these only for the specific file, parsing or provider operations named in the phases; freeze tested versions. |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Python 3.12 or newer and a terminal** · Python is free; this local prototype requires no hosting subscription.
  - Why: The local backend, tests and storage use Python.
  - Get it: Install Python from python.org. Open a terminal in a new empty project folder. On Windows, use py -3 where this guide says python if python is not on PATH; on macOS/Linux use python3 if needed. Create .venv and activate it before installing packages.
  - Verify: python --version reports 3.12+ and python -c "import sqlite3" succeeds.
- [ ] **A current desktop browser and text editor** · No paid service required for this local step.
  - Why: You need to view the local interface and edit generated project files.
  - Get it: Use an installed Chrome, Firefox or Edge browser. Open the empty project folder in your editor; open the terminal there, not in this catalog repository.
  - Verify: You can create a text file in the project folder and open browser developer tools.
- [ ] **ShowTrust acceptance sample** · No paid service required for this local step.
  - Why: This fixture makes the first end-to-end check reproducible.
  - Get it: Create synthetic sample data before implementation: One approved quote, one pending quote containing HTML and one withdrawn submission. Save it under fixtures/ with the expected results in fixtures/README.md; use no real credentials or customer records.
  - Verify: The fixture files and expected outcomes exist and can be inspected without a vendor account.
- [ ] **Confirm the bounded replacement** · No paid service required for this local step.
  - Why: The full commercial product is larger than this guide.
  - Get it: The deliverable is a consent-based testimonial collector with approval and an embeddable wall. Read every exclusion below. Indie mode runs locally; any public or shared use requires the product access and deployment gates first.
  - Verify: You can name the primary workflow and the vendor features this version deliberately leaves out.

## Quick start

```sh
python -m venv .venv
python -m pip install Flask Flask-WTF python-dotenv waitress tzdata Pillow
python -m pip freeze > requirements.txt
python -m flask --app app run --host 127.0.0.1
```

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- This is a consent-based testimonial collector with approval and an embeddable wall; full ShowTrust feature parity, vendor hosting and support are not included.
- 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 one of those is essential to you, that is the reason to keep paying for ShowTrust, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

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.

what you lose

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

share on X ↗"I just replaced ShowTrust ($4.99/mo) with one prompt"
the escape hatch

Don't feel like building it? These folks already made it free.

Real TestimonialsAnother WordPress route: forms, moderation, grids and sliders are free; video and the clever automation live upstairs.$0free↗ShosayUnlimited text, video and audio proof, imports, walls and 25-plus widgets; the bill is zero, the tiny Powered by pill is not.$0free↗Strong TestimonialsA WordPress-only form, moderation queue, grid, slider and widget; simple enough once you already own the WordPress problem.$0free↗

all 3 free alternatives to ShowTrust →· no votes, no pay-to-list · just what's real

the numbers

ShowTrust pricing

planmonthlyannual (per mo)what you get
free$0/workspace$0/workspaceUnlimited testimonials; 1 project; no visitor/page-view cap; no watermark.
pro$4.99/workspace$4.17/workspaceUnlimited testimonials and usage; paid project/features bundle.

free tierUnlimited testimonials; 1 project; no visitor/page-view cap; no watermark.

billingMonthly + annual; annual total is $49.99.

verified 2026-08-12 · source ↗

questions
Vibecode 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?

Yes: Real Testimonials (Another WordPress route: forms, moderation, grids and sliders are free; video and the clever automation live upstairs.) Shosay (Unlimited text, video and audio proof, imports, walls and 25-plus widgets; the bill is zero, the tiny Powered by pill is not.) Strong Testimonials (A WordPress-only form, moderation queue, grid, slider and widget; simple enough once you already own the WordPress problem.) All 3 curated free alternatives are at vibecodeit.com/showtrust/alternatives. The prompt is for when you want it exactly your way.