← All case studies
AI Agents & AutomationBackend APIs & Payments

Personalised Consultation Videos from Psychometric Test Results

A job service that turns a test-result PDF into a NotebookLM video explainer, delivered through n8n.

  • Request
  • Payment
  • Deploy
  • Event
  • AI

Context

Satu Persen sells psychometric tests; customers receive a PDF report that is dense to read on their own.

Problem

Explaining each report personally took staff time. NotebookLM produces a good video overview from a PDF, but it has no official API, so it could not be plugged into an automated flow as is.

What I did

  • Built a FastAPI service with a PostgreSQL job store: POST /generate returns a job ID immediately, and a background task downloads the PDF from Google Drive, generates the video in NotebookLM, and uploads the MP4 back to Drive.
  • Exposed progress stages (downloading, generating, uploading) on a status endpoint that the n8n workflow polls before emailing the customer the video link.
  • Made it resilient: a retry endpoint for failed jobs, stuck jobs reset on startup, a 30-minute generation timeout, temp files always cleaned up, and rate limiting.
  • Kept the unofficial NotebookLM session alive by re-minting cookies from a stored token, with a Lark alert to the team when the session expires.
  • Added API-key and JWT auth plus a Nuxt 3 admin dashboard for job stats, failed-job retries, users, and session upload; deployed to k3s through the shared pipeline.

Next case study

Real-Time Session Tracker (Chrome Extension + CMS)