← Blog

Case study: our own AI video library instead of a $79,200-a-year SaaS

Case study: our own AI video library instead of a $79,200-a-year SaaS

Case study

One of our customers, a UK creative agency, was paying $6,600 a month to search its own video footage: $79,200 a year. That bought a SaaS subscription the agency never owned. The data lived on the provider’s servers, and the provider decided what to build next.

We built an in-house replacement. Here is how we did it and what the team gained.

22
brands tagged by AI
6 200+
searchable clips
79 200 $
annual SaaS fee replaced
10+
editors trained

The agency produces short-form videos for 22 brands. For each brand, content creators upload hundreds of raw video clips to Google Drive with cryptic filenames, inconsistent folders, and no way to search. Editors spent hours looking for a single usable shot.

The obvious solution was an off-the-shelf SaaS tool. It cost $300 per brand per month. Across 22 brands, that came to $6,600 a month or $79,200 a year, forever. And the agency would still own nothing in the end: the provider kept the data and controlled the features.

What we built instead

A custom web application built on Next.js and Supabase, with AI tagging powered by Gemini 3 Flash. One build. The agency owns the code, the database, and the processing pipeline. Adding a new brand costs nothing extra. The infrastructure is cheap to run: Vercel and Supabase cost $20–30 a month, and the token costs for AI analysis are minimal. A fraction of what the SaaS would have cost.

The point was not just to make it cheaper. It belongs to the agency, increases the value of the business, and works exactly the way the team does.

Five features that replace the SaaS

Gemini 3 Flash analyzes every clip and creates a description, transcript, mood, location, and tags. Search combines these AI-generated fields with full-text and vector (pgvector) results. A query such as “founder smiling and holding the product up to the camera” can find the right clips even if those words never appeared in a filename. It searches almost ten thousand clips in seconds.

2. Structured, automatic tagging

We designed a tagging system with the customer: 8 placement tags (hook, problem, product demo, testimonial, social proof, CTA, b-roll, transition) and 10 content tags. AI is restricted to these lists, so there is no free-text drift and no taxonomy falling apart. Editors can override any tag, and new brands inherit the system automatically.

3. Preview without downloading

We generate an 8-frame preview for every clip with ffmpeg. An editor hovers over the card and moves the cursor horizontally to scrub through the clip in the preview. They can judge a shot in one second, without downloading or jumping back and forth to Drive. The system also reads the footage’s rotation metadata, so phone videos never appear sideways.

4. Brand-level permissions for each editor

The agency works with trial and freelance editors too. A freelancer should not see the entire library, only the brand they are working on. In the admin interface, that takes two clicks: select the editor, then select the brands. Postgres row-level security (RLS), the search API, and the interface enforce the permissions together. Even AI search cannot let a restricted editor bypass them.

5. A self-service system

A built-in admin interface provides every operation the agency will ever need: add a new brand, create an editor account, rerun a failed clip, or start the processing pipeline manually. The platform belongs to them. It is not a black box they have to pay us to maintain. In any case, processing runs automatically every hour.

What the editors gained

Before
5–10 minutes
per clip, per editor, per project
Now
a few seconds
search, preview, click

Before, an editor opened Drive, guessed which brand folder and then which creator subfolder might contain the clip, and scrolled through a pile of files named IMG_3842.MOV. Now they type what they need.

The numbers

A direct comparison, with no fine print.

CategorySaaSCustom system
Monthly cost~$6 600~$20–40
OwnershipRented: cancel and it is goneTheirs forever
CustomizationFixed features, provider’s roadmapTailored to the agency’s needs
DataOn the provider’s serverIn their own Supabase database

You pay for the build once. You pay for SaaS again every month. Every year the agency uses its own system is money it does not have to pay for software.

The technology behind it

Nothing exotic. Everything on the list is something a software developer would recognize on day one.

frontend Next.js 16 · React 19 · Tailwind v4 auth + db Supabase · Postgres · pgvector AI Gemini 3 Flash · Gemini embeddings pipeline Python 3.14 · ffmpeg 8 · Modal hosting Vercel · Supabase eu-west-2 search Supabase Edge Functions (Deno) storage Supabase Storage · Google Drive API

The processing pipeline collects clips from Drive, downsizes them and sends them to Gemini for analysis, generates the preview frames, then stores the metadata and vector embedding in Supabase. From there, the Next.js interface serves search results with row-level permissions.

What comes next?

Many companies have a bill like this. A SaaS subscription that takes a payment every month and gives you something you will never own. Sometimes it genuinely is the best choice. But in many cases, a one-off custom build is cheaper, more flexible, and remains yours.

At Andronia, we build exactly these kinds of systems: custom AI software and internal workflow automations that replace recurring SaaS fees with your own infrastructure. If your company has a suspicious subscription too, let us look at it together and see whether building your own would make sense. You can read about our services here.

This article was published on the Andronia blog. Andronia helps Hungarian and international businesses grow with AI solutions: custom software, automation, and AI compliance. Read about our services here.

↑ top