👏 Bravowall
Collect testimonials, moderate them, embed a Wall of Love anywhere — self-hosted.
Bravowall at a glance
| Price | $79, once — no renewal |
| Replaces | Senja at $19/mo — roughly $228 a year, every year |
| Type | Web app — self-hosted |
| Platforms | Windows, macOS, Linux |
| Category | Marketing & SEO |
Bravowall features
📝 Collection forms
A hosted page per product at /collect/your-slug: name, company, photo upload, 1–5 stars, testimonial text, optional YouTube/Loom/Vimeo link, consent checkbox.
🛡️ Moderation queue
Everything lands as pending. Approve, reject, feature, or fix typos before publishing — the original text is always kept.
🧱 Wall of Love embed
One script tag renders a masonry wall inside shadow DOM: your site's CSS can't break it, its styles never leak out. Theme, accent, max items via data attributes.
🖼️ PNG card export
Turn any testimonial into a polished 1080×1080 or 1600×900 image card, rendered server-side with sharp — quote auto-sizing, stars, avatar, your accent color.
📥 CSV import
Migrate from Senja or Testimonial.to exports in one upload, with per-row error reporting.
🔢 Snippets & counters
Copy-paste standalone HTML per testimonial, plus a count API for "loved by N customers" badges.
🚫 Spam protection
Honeypot field plus a 10-submissions-per-hour-per-IP rate limit on the public form.
🔒 100% yours
SQLite on disk, avatars on disk, no telemetry, no external services. Desktop app or $5 VPS via Docker.
$79 once — that's the whole pricing page
Senja charges $19/mo — roughly $228 a year, every year. Bravowall is a single payment, and it keeps working whether or not we ever sell another copy.
Or get Bravowall inside the full suite — every app in the catalog, currently $97 for the bundle. See the bundle →
Bravowall guides & pages
Honest answers
Is it really free on GitHub?
Yes — the full source is MIT at github.com/bensblueprints/bravowall-mvp and always will be. The $79 buys the packaged installer, 1-click setup and updates instead of a terminal session.
Can visitors record video testimonials?
No — that's a deliberate non-goal, and it's Senja's genuine edge. Bravowall embeds video links (YouTube, Loom, Vimeo) instead of recording and hosting video itself. If in-form video recording is essential, Senja earns its fee there.
Will the embed break my site's styling?
It can't. The wall renders inside shadow DOM, so your CSS can't reach in and its styles can't leak out. Masonry layout is pure CSS columns — no layout JavaScript.