SaaS Video Sharing & Recording Platform
A recording SaaS where sharing is the hard part
Clipza records your screen and gives you a link. Both halves of that sentence are straightforward; the space between them is where the engineering is. A sharing model has to be understood instantly by the person sending the link and be strict enough that a guessed URL reveals nothing.
- Type
- Full-stack SaaS product
- Role
- Architecture, backend & front-end build
- Core stack
- Next.js 16 · React 19 · MongoDB · Better Auth · Arcjet
- Focus
- Access control, upload path, abuse resistance

The problem
Screen recording tools live or die on the seconds after you stop recording. If the upload is slow, or the link takes a beat to work, or you have to think about who can see it, the tool loses to just describing the thing in a message. The product target is a link in the clipboard fast enough that sharing is the path of least resistance.
Access control is where this gets genuinely difficult. Users want a link that simply works for whoever they send it to — no account, no friction. Security wants unguessable URLs, revocable access, and no way to enumerate other people’s recordings. Those two goals pull in opposite directions, and most tools resolve the tension by quietly making everything public.
The third problem is one every media SaaS meets on the day it gets attention: unauthenticated upload endpoints and public media routes are exactly what abuse and scraping look for, and storage costs make that abuse expensive rather than merely annoying.
What I built
A Next.js 16 and React 19 application with MongoDB behind it, Better Auth handling identity and Arcjet sitting in front of anything that costs money.
Instant screen recording — capture in the browser, with the upload starting before the user has decided what to do next.
Cloud storage uploads — media uploaded directly to storage rather than proxied through the application server.
An organised video library — recordings that stay findable past the first week, which is what separates a tool from a scratchpad.
Explicit sharing permissions — every recording has an owner and a stated visibility, defaulting to private.
Global delivery — playback served from the edge so a link works the same for a viewer on another continent.
The technical decisions, and why
Better Auth over a hosted identity provider
Session handling, and the database that backs it, stays inside the application rather than behind a third-party dashboard. That keeps the user record and the video record in the same store — so an ownership check is a query rather than a cross-service call — and it removes a per-user cost that scales with exactly the growth the product is trying to achieve. The trade is that session correctness is now mine to get right, which for a product whose entire access model is session-derived is the right place to hold the responsibility.
Unguessable identifiers plus a real ownership check
Sharing links are unguessable, which handles enumeration. It does not handle authorisation, and treating it as though it does is the standard flaw in this product category. Every request for a recording is checked against its stored visibility and owner, so an unguessable URL is a convenience for the sender rather than the mechanism keeping the file private. Security through obscurity is a fine addition and a poor foundation.
Arcjet in front of the endpoints that cost money
Upload and share routes are where abuse becomes a storage bill. Rate limiting and bot detection sit at the application edge, before the request reaches business logic, so the protection applies to every caller rather than to the paths someone remembered to guard. Putting this in from the start rather than after the first incident is the difference between a control and a cleanup.
Direct-to-storage uploads
Routing video bytes through the application server would make the server a bandwidth bottleneck and tie request duration to file size — the two things that make a recording tool feel slow under load. Uploading straight to storage keeps the application handling metadata and permissions, which is work it is actually suited to.
MongoDB for a document-shaped domain
A recording is a document: metadata, a variable set of sharing rules, and viewing state that grew over time. That shape fits a document store without an object-relational layer in between, and the access patterns are overwhelmingly reads by id and by owner — exactly what indexes well here.
Where it landed
The result is a recording tool where the fast path is genuinely fast — capture, direct upload, an edge-served link — without the sharing model being loose underneath.
The decisions that matter most are the unglamorous ones: an ownership check behind every unguessable URL, and rate limiting in front of every endpoint that consumes storage. Both are far cheaper to build in at the start than to retrofit after the first bill or the first leaked recording.