Claude Code
Handles the tricky MediaRecorder, chunked upload and video API webhook code with tests.
Video · updated 2026-11-03
Hard: Only a slice You can build a basic record-and-share tool for your team, but smooth recording, transcoding and video delivery are where the real work and cost sit.
The browser's MediaRecorder API makes a first screen recording surprisingly easy, and a share page with a video player is simple. The hard parts are the ones you only notice later: uploading long recordings reliably while they record, transcoding WebM into formats every device plays, delivering video cheaply, and handling camera bubbles, trimming and transcripts. A managed video API turns this into a medium project, at a per-minute cost.
Loom is records your screen and camera in the browser and shares an instant video link with comments and analytics. This page is about building your own version for personal or internal use, or to learn how this kind of product works, not about copying Loom to compete with it. How we grade.
Difficulty is for a solo builder using an AI coding tool. Skip means not worth building yourself.
| Feature | Difficulty | Why |
|---|---|---|
| Browser screen and mic recording | Easy | getDisplayMedia plus MediaRecorder; test in Chrome, Safari and Firefox. |
| Upload and share link | Medium | Direct-to-storage uploads with signed URLs; chunked upload for long videos. |
| Playback on all devices | Medium | Use a video API (Mux, Bunny Stream, Cloudflare Stream) to transcode to HLS. |
| Camera bubble overlay | Medium | Composite camera and screen on a canvas before recording, or record two tracks. |
| Comments and reactions | Easy | Timestamped comments stored per video. |
| Automatic transcripts and captions | Medium | Speech-to-text API per minute of audio; store as WebVTT. |
| Viewer analytics | Easy | Record views and watch progress events; respect privacy. |
| In-browser trimming and editing | Hard | Server-side re-encode or clip ranges via the video API. |
| Native desktop recorder | Skip | Use an existing screen recorder and upload the file instead. |
Your own version vs Loom, at personal or small-team scale.
Business: $15/mo/seat billed annually
Business is $18 per user per month on monthly billing, about $15 billed yearly (the page says annual saves up to 17 percent); Business + AI is $24 monthly. Free Starter allows 25 videos of up to 5 minutes.
Source: loom.com/pricing. Prices change; check before deciding.
| Running cost | Per month | Notes |
|---|---|---|
| Video hosting and delivery (Bunny Stream) | $1–$10 | From $0.01 per GB stored and $0.005 per GB delivered with a $1 monthly minimum and no encoding fee. |
| Web hosting and database | $0–$25 | Vercel or Netlify free tier plus Supabase free or Pro. |
| Transcription API | $0–$10 | Optional; priced per audio minute by speech-to-text providers. |
| Total | $1–$45/mo | Saves up to $168 a year vs Loom Business per seat; at the top of the range it costs $360 a year more. |
Handles the tricky MediaRecorder, chunked upload and video API webhook code with tests.
Useful for debugging browser recording quirks in an existing Next.js app.
Fast for the library grid, share page and comment UI.
Paste it into your tool, then ask for a plan before any code. Edit the specifics to match what you need.
Build an internal async video tool for my small team (under 10 people). Not a public product. Stack: Next.js, Supabase (auth, Postgres), and Bunny Stream or Mux for upload, transcoding and HLS playback. Data model: videos (id, owner_id, title, provider_video_id, status, duration_s, visibility: team | unlisted, password_hash, created_at), comments (video_id, user_id, at_seconds, body), views (video_id, viewer_id nullable, watched_seconds, created_at). Requirements: - Record screen plus microphone in the browser with getDisplayMedia and MediaRecorder, with an optional camera bubble composited on a canvas. - Upload in chunks during recording directly to the video provider using a short-lived signed upload URL created by my server. - Handle the provider's webhook to mark videos ready. - Share page with HLS player, timestamped comments and a copy-link button. - Library page with search and folders. Security: - Never expose provider API keys to the browser; only issue one-time upload URLs. - Use signed, expiring playback URLs for team-only videos. - Verify the provider webhook signature. - Row Level Security so users only list videos they own or that are shared with the team. - Remind users that screen recordings can capture secrets; offer delete that removes the provider asset too.
AI tools often get these wrong by default. Check each one before anyone else uses the app.
They went far past the prototype: support, payments, reliability and years of iteration. Their profiles show what that took.
Brian Casel built Clarityflow (formerly ZipMessage)
Async video, audio and text conversations for coaches, built by a solo founder.
Adam Pietrasiak built Screen Studio
Mac screen recorder with automatic zooms, reported around $30K per month in 2024.
Sergey Nazarov built Screen Charm
Mac screen recorder with auto zoom and captions, $54K+ lifetime.
If you need Loom's job done rather than a project, these are built and supported by independent makers.
clarityflow.com
Coaching platform built around async video, audio and text conversations.
screen.studio
Mac screen recorder that automatically adds zooms, smooth cursor movement and styled backgrounds to recordings.
screencharm.com
Mac screen recorder with automatic zoom, cursor tracking, webcam overlay, captions and a built-in editor, sold as a one-time purchase.
You learn browser media APIs, direct-to-storage uploads, video transcoding pipelines and how bandwidth drives cost.
Hard. You can build a basic record-and-share tool for your team, but smooth recording, transcoding and video delivery are where the real work and cost sit.
A working personal or internal MVP takes about 8 h–3 days with a tool like Claude Code. A polished version you would rely on every day takes about 8–20 days, mostly spent on uploading while recording so long videos are not lost if the tab crashes.
Expect $1–$45/mo at personal or small-team scale (video hosting and delivery (bunny stream), web hosting and database, transcription api). Loom Business costs $15/mo/seat (checked 2026-11-03), so the most you would save is $168 a year, before counting your time.
Yes, the MediaRecorder and getDisplayMedia APIs let a web app record screen, camera and microphone. The harder parts are reliable uploads, transcoding for every device and the cost of storing and streaming video.
For a small team, a video API like Bunny Stream costs a few dollars a month because storage and delivery are priced per GB. Costs grow with views and with long or high-resolution recordings.
For a team of several people, often yes in cash terms, but you trade it for build and maintenance time. A one-time-purchase desktop recorder plus shared links is the cheapest middle ground.
Building your own tool that solves the same problem is common and generally fine. Copying Loom's code, design assets, brand name or content is not. Use your own name and design, respect their terms of service, and get proper advice if you plan to sell it. This page is not legal advice.