DEV Community

Craig
Craig

Posted on

We built an ad creative workflow tool for marketers — here's our tech stack

I spent the last few months building Hooksy with my team — a creative workflow platform that helps marketers collect, organize, and break down winning ad creatives across Meta, TikTok, YouTube, and LinkedIn.

Here's the tech stack we chose and why.

The Problem

Every marketer we talked to had the same workflow: screenshot ads into Google Drive, dump links in Slack threads, copy scripts into spreadsheets. Inspiration scattered everywhere, impossible to find when you actually need it.

We wanted to build a single workspace where you can save any ad in one click, auto-extract the script, and organize everything into collections — so when it's time to brief your creative team, everything is right there.

Tech Stack

Frontend

  • Next.js 15 with TypeScript — fast iteration with SSR out of the box
  • Tailwind CSS — rapid UI development without context-switching
  • Radix UI — accessible, unstyled components we can fully customize
  • React Query — clean server state management

Backend

  • FastAPI (Python) — async and perfect for AI/video workloads
  • Supabase (PostgreSQL) — auth, database, and storage in one
  • Stripe — payments that just work

AI & Media Processing

  • OpenAI Whisper — auto-extracts scripts from video ads
  • Vision AI models — analyzes ad creatives, detects hooks and key frames
  • FFmpeg + OpenCV — video processing for thumbnails and previews
  • yt-dlp — reliable media downloading across platforms

Chrome Extension (Manifest V3)

One-click saving from any ad library — Meta, TikTok Creative Center, etc. Captures 50+ data fields automatically so marketers don't have to copy-paste anything.

Why These Choices

FastAPI over Node?
The backend is mostly video processing and AI inference. Python's ML ecosystem is unmatched here.

Supabase over custom auth?
We wanted to focus engineering time on core product features, not boilerplate. Auth + row-level security + real-time out of the box.

Chrome Extension as core UX?
Marketers browse ad libraries daily. Instead of making them switch tools, we brought the tool to where they already work.

Lessons Learned

  1. Build around the existing workflow. Marketers already browse ad libraries — the Chrome extension just adds a save button to what they're already doing.
  2. AI should be invisible. Script extraction happens automatically after saving. Users don't think about AI, they just get the transcript.
  3. Keep the stack simple. We started with a microservices setup and consolidated into a Next.js + FastAPI monorepo. Shipping speed went way up.

What's Next

Building out smarter collections and creative briefing features — the goal is to make the jump from "I saved this great ad" to "here's the brief for our next creative" as seamless as possible.

If you work in performance marketing or creative strategy, we'd love your feedback — hooksy.ai.


What tools do you use to organize creative inspiration? Curious how other builders approach this.

Top comments (0)