SaaS-casestudy

Trends op de bovenste verdieping

Een full-stackplatform dat één lange video omzet in een week aan korte posts, deze inplant op alle netwerken waarop de maker publiceert, en tegelijkertijd de bijbehorende betaalde campagne opzet — zonder dat je het dashboard hoeft te verlaten.

  • IndustrieCreator and marketing SaaS
  • GebruikersCreators, marketers and agencies
  • AutomatiseringQueue processed every 15 minutes
  • DienstenProduct Design, Development, AI
TopFloor-trends: automatisering van content met AI

Overzicht

TopFloor Trends is een platform voor contentbeheer, bedoeld voor contentmakers en marketeers. Op één plek kun je een lange video in korte fragmenten knippen, de thumbnails ontwerpen, berichten voor alle platforms in de wachtrij plaatsen en betaalde campagnes uitvoeren naast de organische.

Het project bestrijkt de volledige stack: een AI-pijplijn die een bronvideo bekijkt en segmenten voorstelt die het knippen waard zijn, een wachtrij die elke vijftien minuten door een cron-taak wordt aangestuurd, een thumbnail-studio op basis van prompts en sjablonen, en een Google Ads-wizard die op basis van een briefing binnen een minuut een live campagne oplevert.

Elk van die integraties heeft zijn eigen limiet voor het aantal verzoeken, zijn eigen authenticatiemodel en zijn eigen uploadprotocol — en daar is het grootste deel van het technische werk in gestoken, en daar gaat het gedeelte onderaan deze pagina over.

  • Next.js 15
  • React 19
  • Tailwind CSS
  • Firebase
  • NextAuth
  • OpenAI API
  • Google Ads API
  • YouTube API
  • TikTok API
  • Spotify API
  • Stripe Payments
  • Vercel Cron

Projectvideo

trends op de bovenste verdiepingEén video geplaatst. Een week aan berichten gepubliceerd.

Een stappenplan voor TopFloor Trends, van een ingevoegde YouTube-URL tot een weekprogramma met filmpjes en een live Google Ads-campagne.

Belangrijkste functies

  • Het genereren van AI-clips

    Plak een YouTube-URL en het model analyseert de video, waarna het de segmenten weergeeft die het waard zijn om te knippen, samen met onderwerpen en tijdstempels om de selectie te verfijnen.

  • Planning voor meerdere platforms

    Eén wachtrij waarmee je berichten kunt publiceren op TikTok, YouTube Shorts en Instagram Reels, waarbij de volledige contentkalender in één oogopslag zichtbaar is.

  • AI-miniatuurstudio

    Miniatuurafbeeldingen op basis van een opdracht en een optionele referentieafbeelding, in liggend, staand of vierkant formaat, op basis van sjablonen die de huisstijl consistent houden.

  • Google Ads-wizard

    Een gestructureerd overzicht waarin de campagne wordt samengesteld — advertentiemateriaal, advertentiegroepen, budget, tijdschema — in plaats van een platform dat is ontworpen voor fulltime media-inkopers.

  • Eén dashboard

    Organische resultaten en betaalde campagnes worden op één plek bijgehouden, over dezelfde periode en aan de hand van dezelfde cijfers.

De uitdaging

Knip het bij, geef het een titel, maak een miniatuurafbeelding, plan het in — en open vervolgens een andere tool om het allemaal nog eens over te doen voor het volgende platform.

Makers en marketeers verloren hun tijd aan de mechanische kant van het publiceren. De tools bestonden wel, maar elk was slechts op één stap gericht: een editor waarmee je een fragment kon knippen maar niet kon posten, een planningsprogramma dat niets wist van de advertenties die naast de content werden getoond, een advertentieconsole die was geschreven voor mensen die voor hun werk media inkopen, in plaats van voor degene die de video had gemaakt. Elke overdracht tussen deze tools kwam neer op het kopiëren van iets uit het ene tabblad naar het andere.

  • Met de hand herhalen

    Het bijsnijden, het maken van miniatuurafbeeldingen en het inplannen gebeurt telkens één voor één, per bericht, per platform.

  • Afzonderlijke tools

    Redacteuren, planners en advertentiedashboards die niet met elkaar communiceerden, waardoor de workflow op kopiëren en plakken draaide.

  • Geen eenduidige visie

    Er was geen overzicht te zien waarin de prestaties van organische content en betaalde campagnes naast elkaar werden weergegeven.

Onze oplossing

Eén proces, van ruwe videobeelden tot live-campagne.

We hebben het hele proces op één plek opgezet. De AI analyseert de bronvideo en stelt de fragmenten voor, zodat de editor alleen nog maar een grens hoeft aan te passen in plaats van ernaar te moeten zoeken. De thumbnailstudio en de planningswachtrij maken deel uit van dezelfde bibliotheek, zodat een fragment van gegenereerd naar gepubliceerd gaat zonder ooit te worden geëxporteerd. En Google Ads is toegankelijk via een wizard die om een korte opdracht vraagt en de campagne samenstelt, in plaats van via een console die ervan uitgaat dat degene die deze invult dit dagelijks doet.

AI-inhoudsanalyse

De selectie van fragmenten en het maken van miniatuurafbeeldingen worden door het model aangestuurd, zodat het vervelende deel van het werk al wordt voorgesteld in plaats van dat erop moet worden gewacht tot het wordt uitgevoerd.

Geïntegreerde platforms

YouTube, TikTok en Google Ads in één dashboard, voor het beheren en verspreiden van de content.

Een wizard, geen console

Een vereenvoudigd Google Ads-proces dat materiaalvoorstellen doet en het opzetten van een campagne terugbrengt van een middag naar minder dan een minuut.

Hoe het werkt

Hergebruik van AI-content

Users paste a YouTube URL to start an AI analysis that suggests the short-form clips worth cutting. The editor beside it is for fine-tuning start and end points and picking a platform-specific aspect ratio before anything is processed.

Het scherm ‘Inhoud hergebruiken’, met een YouTube-URL in het uploadveld en daaronder een lijst met negen gegenereerde fragmenten, waarbij voor elk fragment de opties ‘Voorbeeld bekijken’, ‘Inplannen’, ‘Posten’, ‘TikTok’ en ‘Downloaden’ beschikbaar zijn.

Gecentraliseerde planning en bibliotheek

A central library holds every generated clip with filtering and search over it. The scheduler queues posts across multiple platforms from the same list, so the whole content calendar reads at a glance rather than one platform at a time.

De planningswachtrij, met daarin de aantallen voor verwerking, gepland, aan het uploaden, gepubliceerd en mislukt, boven een doorzoekbare tabel met negen clips in de wachtrij, inclusief hun bronvideo en status.

AI-miniatuurstudio

The studio generates thumbnails from a plain prompt and an optional reference image, with templates for landscape, portrait and square. It is the piece that keeps a channel visually consistent without booking a designer for every upload.

De Thumbnail Studio, met links een invoerveld, de mogelijkheid om referentieafbeeldingen te uploaden en een sjabloonkiezer, en rechts een live-voorbeeld met opties voor afmetingen en kwaliteit.

Impact & resultaten

Een geautomatiseerde pijplijn en een wachtrij die de gegevens vasthoudt.

Het platform werd geleverd met een end-to-end-oplossing voor het hergebruiken van content, een planningssysteem dat ook via een cron-taak kan worden aangestuurd, en een advertentiestroom die zo eenvoudig is dat de maker van de video deze zelf kan beheren.

Een Google Ads-campagne opzetten
Succesvolle geplande berichten
Voorbereidingstijd per video
Foutpercentage van cron-taken

Systeemontwerp

Architectuur op hoog niveau

Architectuurdiagram op hoog niveau. De browser van de gebruiker maakt verbinding met een Next.js 15 App Router-frontend, die via de client-SDK communiceert met Firebase, met NextAuth voor het inloggen bij Google, Spotify en TikTok, en via REST met Next API-routes. Die API-routes roepen de API’s van Stripe, OpenAI, Spotify, TikTok, YouTube en Google Ads op, evenals de Firebase Admin SDK. Een afzonderlijke Vercel-cron-taak wordt elke vijftien minuten uitgevoerd op de route ‘process-youtube-queue’.
Alle inloggegevens van derden worden achter de API-routes bewaard, nooit in de browser — en de publicatiewachtrij wordt via een eigen proces door cron aangestuurd, in plaats van door een verzoek.

Entiteit-relatiediagram

Entiteit-relatiediagram van de Firestore-collecties. Een gebruikersdocument is gekoppeld aan advertentieaccounts, YouTube-koppelingen, TikTok-koppelingen, sessies in de advertentiewizard en YouTube-hergebruikstaken; advertentieaccounts verwijzen naar een document met MCC-instellingen voor Google Ads en Stripe-betalingen zijn gekoppeld aan de gebruiker.
Een gebruiker is eigenaar van zijn platformverbindingen, zijn hergebruikstaken en zijn sessies in de advertentiewizard — en dat maakt quota per gebruiker en het vernieuwen van tokens goed beheersbaar.

Wat er op te lossen viel

Vertraging bij het hergebruiken van video’s

Solution: Een asynchrone takenwachtrij met parallelle clipgeneratie en incrementele levering, zodat resultaten binnenkomen zodra ze klaar zijn, in plaats van pas nadat de traagste taak is voltooid. Een alternatief FFmpeg-pad biedt uitkomst in gevallen waarin dat nog steeds niet snel genoeg is.

API-quota’s en time-outs

Solution: De time-outs voor het uploaden zijn per platform afgestemd, en elke uitgaande aanvraag wordt omgeven door een adaptieve backoff die de verzoekfrequentie dynamisch regelt, in plaats van dat de dagelijkse quota al in de middag wordt opgebruikt.

Veiligheid bij gelijktijdige cron-taken

Solution: Transactievergrendeling in de database. Een worker claimt een taak op atomische wijze voordat hij deze verwerkt, zodat twee overlappende cron-uitvoeringen niet beide hetzelfde item kunnen verwerken.

Twee authenticatiemodellen voor Google Ads

Solution: Een dual-mode-architectuur waarbij tokens op verschillende manieren worden verkregen, afhankelijk van of het account op organisatieniveau (MCC) is of van de gebruiker zelf (BYO), waarbij dit tijdens de uitvoering wordt bepaald in plaats van tijdens de configuratie.

Dubbele campagnenamen

Solution: Vóór het aanmaken wordt via GAQL gecontroleerd of er al een identiek item bestaat. Bij een conflict voegt het systeem een uniek achtervoegsel toe en probeert het opnieuw, in plaats van een API-foutmelding weer te geven waarop de gebruiker geen actie kan ondernemen.

Verschillende manieren om video's op TikTok te uploaden

Solution: Een uploadmodule die zowel het ‘chunked’-protocol als het ‘pull-from-URL’-protocol ondersteunt, met backoff-polling, het annuleren van taken en het hervatten van mislukte uploads.

Vragen

Het belangrijkste doel was om één SaaS-platform te ontwikkelen waarmee de tijd en complexiteit voor contentmakers en marketeers drastisch konden worden verminderd. We wilden het hergebruiken van content automatiseren, de planning voor meerdere platforms stroomlijnen en het opzetten van advertentiecampagnes vereenvoudigen met behulp van AI.

Klaar om het vervelende deel te automatiseren?

Laten we samen je contentplatform opzetten.