Can I vibecode Senja?

price $25/moyou'd save $300/yrbuild time one sittingcategory testimonialsreplaced by 12 people
YES
MOATexecution polish

A form, an embed widget, and a wall page. $300/yr for what is essentially a guestbook.

In-List Ad$79/30 days
promote your product in the vibecoded list

The Build Prompt

copy it and go build
ready to paste · 2,344 chars
Build a full-stack social proof and testimonial collection platform like Senja / Testimonial.to.

### Product Brief
A SaaS for founders to collect, manage, and display customer testimonials (text/video) with embeddable social proof widgets.

### Tech Stack & Storage
- Framework: Astro (SSR mode on Cloudflare Pages/Workers)
- Database: Cloudflare D1 (SQLite) with Drizzle ORM
- Storage: Cloudflare R2 bucket for photo and video storage
- Video/Export: Browser MediaRecorder API; Canvas/Puppeteer for PNG social cards

### Data Model
- `testimonials`: id, author_name, author_title, author_company, author_photo_url, content, video_url, rating (1-5), source ('form', 'twitter', 'g2', 'product_hunt', 'trustpilot'), tags (json text array), status ('pending', 'approved', 'rejected'), created_at
- `widgets`: id, config (json: layout ['masonry', 'carousel', 'badge'], tag_filter, min_rating, theme_colors, max_items)

### Key Screens & Architecture
1. Public Collection Form (`/c/[slug]`): Customers leave star rating, text or video, avatar upload, name, title, company. Includes live browser video recorder (MediaRecorder API) generating webm/mp4 directly uploaded to R2 with thumbnail extraction.
2. Admin Dashboard (`/admin`): Password-protected (.env auth). Manage submissions (`pending`/`approved`/`rejected`), tag testimonials, and approve/reject. Includes Twitter/X importer (paste URL -> extract text, author, avatar via Twitter API/scraping) and review importers for Product Hunt, G2, Trustpilot.
3. Widget Builder & Preview (`/admin/widgets`): Visual builder for Wall of Love (masonry grid), rotating carousel, or star badge. Configure colors, limits, and tag filters with a live preview and `<script>` embed tag.
4. Embed Engine & Public API (`/api/v1/widget/[id].js`): Embed script injects Web Component or iframe, fetching approved testimonials via public API to render responsive widgets.
5. Social Card Export (`/admin/testimonials/[id]/export`): Generate downloadable branded PNG social cards per testimonial via Canvas/Puppeteer.

### Collection & Approval Workflow
Customer fills form -> photo/video stored in R2 -> status set to `pending` -> admin notified -> admin approves/rejects -> approved items automatically render in widgets.

### Non-Goals
No multi-tenant team workspaces, no payments/subscriptions, no enterprise SSO.
In-List Ad$79/30 days
promote your product in the vibecoded list

What you lose

  • Hosted infrastructure and managed operations from Senja
  • The original service's mature integrations and ecosystem

Why it still works

💅 execution polish

In-List Ad$79/30 days
promote your product in the vibecoded list
Share on X ->Your vote helps rank the vibecoded list.

Questions

5 answers