Collect testimonials, moderate them, embed a Wall of Love anywhere — self-hosted.
Senja charges $19/month — $228 a year, forever — to display quotes your customers wrote for free. Bravowall covers the whole loop: hosted collection forms, a moderation queue, a wall-of-love embed that can't break your site, and PNG card exports for social. One-time $79, on your own box.
Bravowall in 60 seconds
Everything in the box
Hosted collection forms, moderation queue, shadow-DOM wall embed & PNG cards. No subscription.
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.
Bravowall vs Senja
Senja charges $19/mo. Here's what actually differs.
| Bravowall | Senja | |
|---|---|---|
| Price | $79 once | $19/mo Starter, $39/mo Pro ($228–468/yr) |
| Your data | SQLite file you own | Their cloud |
| Testimonials & spaces | Unlimited | Limited by plan |
| Wall embed | Shadow-DOM script tag | Script tag |
| Image cards | Server-side PNG export | Yes |
| CSV import | Yes — from Senja exports | No |
| Works offline / air-gapped | Yes (desktop mode) | No |
| Source code | MIT, on GitHub | Closed |
Senja Starter is $228/year. Bravowall pays for itself in about 4 months — then it's free, forever.
Pick how you pay
Subscriptions if you want them — but the whole point is the lifetime tier.
Up and running in three steps
Buy once on Whop
One-time $79 for the packaged Windows installer plus priority support — no subscription, ever.
Run it your way
Desktop app for zero-server use, or docker compose up on a $5 VPS when the collection form needs to be public.
Collect, approve, embed
Share your /collect link, approve the good ones, and paste one script tag anywhere you want the wall.
Fair questions
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.
Can I migrate from Senja or Testimonial.to?
Yes. CSV import handles their export files in one upload, with per-row error reporting so nothing silently disappears.
Does it import posts from X or LinkedIn?
No — scraping social platforms violates their Terms of Service, so we skipped it on purpose. Paste-in and CSV import cover the same ground legitimately.
Related tools
More pay-once apps from the OneTimeSuite catalog.
Watch any product page for price or stock changes. Unlimited watchers, your server.
Self-hosted email campaigns over your own SMTP. Stop renting your audience back.
Self-hosted license server: signed keys, seat limits, secure downloads — no platform cut.
Host your own podcast: Apple/Spotify-valid RSS, player, stats — on your $5 VPS.
More about Bravowall
Every page we publish about this app — comparisons, personas, platforms and the problems it solves.
For you
Stop renting. Own Bravowall.
Hosted collection forms, moderation queue, shadow-DOM wall embed & PNG cards. No subscription.
Get Bravowall — $79 forever
OneTime