One site's worth of testimonials needs a public form that takes text or a recorded clip, a queue where you approve entries, and an embed that draws them as cards. An agent writes that in one sitting with the clips stored on your own disk. Feedspace adds the parts that are dull to rebuild: scheduled imports from 100+ review platforms, hosted video that plays on every device, many ready-made widget styles and embeds for WordPress, Shopify, Wix and Webflow. The fragile piece is the in-browser recorder, because Chrome records webm and Safari records mp4.
Before you buildFeedspace Starter is free forever with 20 text and 20 video reviews. If you collect a handful of quotes a year, you may not need to pay or build anything.
Build me a testimonial collector and wall to replace Feedspace. Requirements: - Node.js 22 + TypeScript: a Hono server (`@hono/node-server`) with server-rendered Hono JSX pages and plain browser JS. `npm start` serves http://localhost:4860: the form at /r/<form-slug>, admin at /admin, the public wall at /wall/<wall-slug>. - Storage: better-sqlite3 in ./data/proof.db for forms, reviews (name, role, company, star rating, text, source, status pending/approved/hidden, created date) and walls; media files in ./data/media/. - Collection form: per form a title, intro text and required fields. The visitor types text, picks a rating, records video or audio in the browser with MediaRecorder (3 minutes max) or uploads a file. Use whatever container the browser supports (webm or mp4) and store the real MIME type. - Moderation: new reviews start as pending. Admin list with filters, approve, hide, delete, inline text edit and a download button for the media file. - Wall and widget: a public masonry-grid page, plus `/embed.js`, one script tag that draws a carousel or grid in a shadow-DOM container from /api/walls/<slug>.json. Approved reviews only; video plays on click. - CSV import (name, text, rating, date, source URL) for reviews you already collected elsewhere. - Admin: one password in .env (signed cookie). Public posts are rate-limited per IP, uploads capped at 200 MB and limited to video/* and audio/* types. - Single user. No accounts, no telemetry, local-first. Outbound calls: none. - Out of scope: automatic imports from review sites, team seats, AI features, custom domains. - README: exposing the form and wall through a tunnel or a small VPS (visitors must reach them), the webm (Chrome) versus mp4 (Safari) recording difference, and how to back up ./data.
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 Feedspace.
Add a Feedspace importer to the testimonial wall in this folder. Requirements: - A command `proof import-feedspace <file.xlsx> [media-dir]` that reads the Excel file from Feedbox > Export (columns Source, Source URL, Review Date, Rating, Reviewer Name, Review Text, Entry Date, Review URL) with `exceljs`. - Print a summary of new, duplicate and skipped rows before writing; match duplicates on name + text. - The export holds no media. If a media-dir is given, attach files whose name starts with the reviewer's name (case-insensitive) and mark those reviews as video or audio. - Imported reviews arrive as approved, with their original date and source kept. - Update the README with the Feedbox export and per-review Download steps.
Add submission alerts to the testimonial wall in this folder. Requirements: - After each public submission, send an email through nodemailer SMTP from .env with the reviewer's name, rating, the first 300 characters of text and a link to the admin queue. - Include one-click approve and hide links signed with an HMAC token that expires after 7 days. - Never put the media file in the email; link to it instead. - If SMTP is not configured, skip alerts silently and log one line at startup. - Update the README with the SMTP variables.
Normalize recordings in the testimonial wall in this folder. Requirements: - After upload, run ffmpeg (`fluent-ffmpeg`) in a background queue to make an H.264/AAC MP4 with `+faststart`, capped at 720p, and a JPEG poster frame at one second. - Keep the original until the MP4 succeeds; on failure keep the original and show a warning badge in admin. - The wall and widget use the MP4 and the poster; audio-only files get a waveform-free audio player. - A command `proof reconvert` that processes existing files. - Update the README with the ffmpeg install step.
Collecting a quote is the easy half. Pulling reviews from other sites onto one wall, keeping them in sync and getting a widget onto a site builder without code is the work people avoid. Reviewers on G2 and Capterra mostly mention how easy it was to learn, and the free plan is the usual way in.
Estimate · Runs on a free tunnel or a $5 VPS with enough disk for the clips; there are no other running costs. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Starter | $0/workspace | $0/workspace | 1 workspace, 1 review form, 20 text and 20 video reviews, 1-minute videos, 1 GB storage, 10 reviews shown on widgets, unlimited Wall of Love pages and widgets, 1 team member. |
| Professional | $29/workspace | $24/workspace | Unlimited forms, text and video reviews, 3-minute videos, 50 GB storage, 5 team members, auto-import from 100+ platforms with 5 schedulers. |
| Business | $249/workspace | $207/workspace | Unlimited workspaces, HD video up to 5 minutes, 250 GB storage, unlimited team members, imports and schedulers, 10 custom-edited reels a month, priority support. |
Starter is free forever: one form, 20 text and 20 video reviews, one-minute videos and 1 GB of storage.
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 $29 a month on the Professional plan, $348 a year (checked 2026-10-19).
Scheduled imports from 100+ review platforms; Hosted video storage and playback that works on every device; 15+ widget styles and no-code embeds for WordPress, Shopify, Wix, Webflow and Squarespace; Zapier, Slack, Notion, Google Drive and Discord connections, plus an API; Creative Space, which turns reviews into branded social graphics, and the Chrome extension for collecting reviews while you browse. If any of those matter to you, keep paying.
Yes: Reviewskits (open source), Strong Testimonials (open source), Senja Free (free).