Recording the screen in a browser, hosting the file and showing who watched how much is a weekend project with MediaRecorder, ffmpeg and a small player page. The gaps are what a sales team pays for: CRM and marketing-automation sync, thumbnails that survive email clients, hosting that streams well to viewers anywhere, and the AI avatar and Video Agent features, which rest on other companies' models and can't be copied by a prompt.
Before you buildVidyard Free covers 5 recordings a month of up to 30 minutes with sharing. If that's your volume, you may not need Starter.
Build me a self-hosted video messaging tool to replace Vidyard. Requirements: - Node.js 22 + TypeScript: a Fastify server and a React UI built with Vite. `npm start` serves http://localhost:4700, with share pages at /v/<id> and the admin at /admin. - Recorder: in the browser with `getDisplayMedia`, `getUserMedia` and `MediaRecorder` (screen, camera, or screen with a camera bubble), a 3-second countdown, pause, and a trim step before upload. Chunks upload while recording, so a closed tab doesn't lose the video. - Processing: ffmpeg turns each upload into an H.264 MP4 and an HLS ladder (720p and 360p), makes a poster frame and an animated GIF preview for email, and `whisper.cpp` (local) writes a .vtt captions file. Files live in ./data/videos/<id>/. - Storage: better-sqlite3 in ./data/videos.db: videos (title, duration, created), share settings (public, password, expiry date, allow download) and view events. - Share page: an hls.js player with captions, an optional call-to-action button (URL and label) shown at a chosen second, Open Graph tags using the poster, and a copy-link button. - Analytics: per video, loads, plays, unique viewers (salted hash, no cookies), percent watched per viewer and a retention chart by second; an optional "enter your email to watch" gate that stores the address. - Admin: one password in .env; a library with search, delete and replace-thumbnail; CSV export of views. - Single user. No accounts, no telemetry, local-first. No outbound calls at runtime. - Out of scope: AI avatars and generated videos, CRM sync, teams and permissions, mobile apps, a browser extension. - README: installing ffmpeg and the whisper.cpp model, exposing the share pages through a tunnel or a VPS, and measured disk use per hour of recorded video.
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 Vidyard.
Add a Chrome extension to the video messaging tool in this folder. Requirements: - A Manifest V3 extension with a toolbar button that opens a small recorder popup: screen, tab or camera, microphone toggle, and a Start button. - It uses `chrome.tabCapture` or `getDisplayMedia`, uploads chunks to the local server's existing endpoints with a token from .env stored in the extension options, and opens the share link when done. - Copy the share link to the clipboard and offer to copy an HTML snippet with the GIF preview. - Update the README with how to load the unpacked extension.
Add an email snippet generator to the video messaging tool in this folder. Requirements: - On each video's admin page, "Copy for email" puts an HTML snippet on the clipboard: the GIF preview linked to the share page, a plain-text fallback line and alt text. - The snippet uses table markup and inline styles only, no JavaScript and no CSS classes, and the GIF stays under a size set in .env (default 1 MB) by lowering the frame rate or width. - Add a "Send test" button that mails the snippet to an address from .env through SMTP. - Update the README.
Add a HubSpot sync to the video messaging tool in this folder. Requirements: - A private-app token in .env. When a viewer enters their email at the gate, find or create the HubSpot contact and add a note with the video title, percent watched and the share link. - Batch the sync every 10 minutes; on rate-limit errors back off and retry, and record failures in SQLite. - Never send the viewer's IP hash or any data except what the viewer typed in the gate. - Update the README with the scopes the token needs.
Sales and marketing teams use video to get replies, and they want to know which prospect watched what, with the data landing in their CRM. Vidyard sells that loop as one product with hosting, analytics and integrations, so reps record and send without anyone maintaining a pipeline.
Estimate · Free on a machine you already run; a VPS with enough disk and bandwidth costs more as videos and viewers grow, so the high end is a rough guess. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 5 recordings a month, up to 30 minutes each, 15 AI videos, 3 custom AI avatars, video editing tools, up to 5 embedded videos; no downloads, captions, password protection or call-to-action buttons. |
| Starter | $89 | $59 | Unlimited recording and videos, full video analytics, team performance analytics, branded sharing page, CTA templates, password-protected videos, folders, custom backgrounds, downloads and captions. |
| Video Agent add-on | $29 | $24 | Unlimited AI videos and unlimited automated video creation and delivery, triggered by buyer actions; integrates with Salesloft, Salesforce, HubSpot, Marketo and Zapier. |
| Teams | custom | — | Pitched at teams of 5 or more: CRM and marketing automation integrations, advanced team analytics, fully customizable CTAs, advanced branded sharing page, video captions, guided onboarding. |
| Enterprise | custom | — | Adds unlimited integrations, SSO user management and secure playback, an API, custom permissions and security options. |
Free allows 5 recorded videos a month of up to 30 minutes, 15 AI videos and 3 custom AI avatars, with limited sharing options and integrations.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: CRM and marketing-automation integrations, including Salesforce and HubSpot sync of viewer data, AI avatars, scripted AI videos and the Video Agent that sends personalised videos on buyer actions.
About $89 a month on the Starter plan per seat, $1,068 a year (checked 2026-10-19).
CRM and marketing-automation integrations, including Salesforce and HubSpot sync of viewer data; AI avatars, scripted AI videos and the Video Agent that sends personalised videos on buyer actions; Hosting and playback on a CDN that holds up for viewers worldwide; Team analytics, folders and permissions across a sales team; Mobile recording apps and a browser extension for recording from any tab. If any of those matter to you, keep paying.
Yes: Cap (open source), Screenity (open source), PeerTube (open source).