01
What it is
The idea is simple: a person follows a dozen creators so they do not miss anything important. Forpost does that instead. The system sees a new video, pulls the audio, transcribes it with Whisper large-v3 on GPU, compresses it into a news item with a local LLM, picks key frames — and delivers the finished text where it will be read: a Telegram channel or a website.
What started as one bot for internal use grew into a multi-tenant SaaS: every client has their own channels, their own tone and censorship settings, and data isolation enforced at the database level.
The system rents its own transcription GPUs — on Clore.ai with RunPod as fallback — because owning a card around the clock costs more than renting one by the hour under load.
02
capabilities
What it does
01
Channel monitoring
YouTube over RSS, TikTok over yt-dlp with bot-wall bypass. Polling every N seconds, a job queue and S3 checkpoints — an interrupted run does not start over.
02
GPU transcription
faster-whisper large-v3 on CUDA float16. Long videos are chunked and a four-hour per-run cap stops one stream from blocking the queue.
03
Transcript-based topic gate
A video lands in the right section based on what was actually said, not on the channel name. This removed most mis-filed publications.
04
Per-chat personalisation
Translation, tone, length and censorship configured per recipient. The same story reads differently for traders and for a general audience.
05
WordPress publishing
A dedicated publishing module with multilingual output and cover images. Crypto news ships daily in Ukrainian and English to the client’s blog.
06
GPU rented on demand
Our own orchestrator over Clore.ai: spin a node, warm the model, hand it work, shut it down. RunPod Serverless is the fallback path.
03
architecture
How it works
01
YouTube / TikTok monitoring
02
Download and GPU transcription
03
Summarisation into a story
04
Per-chat personalisation
05
Publishing to Telegram / WP
Under the hood
- A FastAPI orchestrator on async SQLAlchemy with a Procrastinate queue living inside PostgreSQL — no separate broker.
- PostgreSQL 16 with TimescaleDB and pgvector; tenant isolation through RLS and PgBouncer in transaction mode.
- The worker ships as its own CUDA image with pre-baked models, so a node is productive the moment it boots.
- MinIO for checkpoints and media, Caddy at the edge with automatic TLS.
- A full observability stack: OpenTelemetry → Tempo, Prometheus, Loki, Grafana.
- Whisper and the LLM run locally — client transcripts never leave for a third-party API.
04
scale
Numbers
large-v3
transcription model
4 h
cap per single run
2
GPU providers
17
containers in production