Wydanie · sobota 9 maja 2026 Live · 217 kanałów monitorowanych Vol. I · Nº 47
← Blog
20 April 2026 · Engineering

Jak technicznie czytamy 200 podcastów tygodniowo (i dlaczego klienci to lubią)

Pipeline BizMaven od RSS feed po brief w skrzynce. AssemblyAI, Voyage embeddings, Sonnet 4.6, Postgres + pgvector. Przejrzysty stack dla ciekawych.

Otwartość techniczna jest naszą zasadą. Jeśli wiesz jak działa BizMaven, łatwiej Ci nam zaufać. Ten post opisuje pipeline od momentu publikacji nowego odcinka po brief w Twojej skrzynce.

Etap 1: Detection (co 30 minut)

Każdy z 217 monitorowanych kanałów ma swój RSS feed. Worker w Pythonie (PgQueuer) pollu te RSS-y co 30 minut. Nowy <item> z pubDate w ostatniej godzinie trafia do tabeli episodes ze statusem pending.

# pseudo
for channel in active_channels:
    feed = parse_rss(channel.rss_url)
    for item in feed.entries:
        if item.published > channel.last_seen_at:
            await db.episodes.insert(...)
            channel.last_seen_at = item.published

Etap 2: Download + transcribe (~10 min)

Worker pobiera plik audio (mp3, ogg, m4a) i wysyła do AssemblyAI w trybie nano z diaryzacją (oddziela mówców) + język wykrywany automatycznie. AssemblyAI zwraca JSON z words[] (każde słowo + timestamp) + utterances[] (segmenty na mówcę).

Koszt: ~$0.30 za godzinę audio. Średnio 90 min / kanał / odcinek.

Etap 3: Speaker fingerprinting (~30s)

Bierzemy pierwsze 10s każdego mówcy i puszczamy przez resemblyzer (open source, 256-dim embedding). Porównujemy z bazą znanych głosów (Lenny, Patrick, Aleksandra). Jeśli cosine similarity > 0.85, mówca jest oznaczony imieniem. Inaczej zostaje generic „Speaker 1".

To kluczowe — cytat bez imienia ma dla klienta zerową wartość.

Etap 4: Chunking + embedding (~2 min)

Tekst transkryptu dzielimy na chunki ~300 słów (z overlapem 50 słów dla ciągłości). Każdy chunk → Voyage AI voyage-3-large (1024-dim embedding). Zapisujemy do Postgres + pgvector z HNSW index.

Koszt: ~$0.05 za odcinek.

Etap 5: User-specific scoring (codziennie)

Każdy user ma goals_embedding (Voyage embedding ich celów + profilu). Dla każdego user × nowy chunk: cosine_similarity(user.goals_embedding, chunk.embedding). Top 50 chunków na usera trafia do shortlistu kandydatów na brief.

Etap 6: Brief generation (wt + pt 06:00)

Sonnet 4.6 (przez konspo-ai-proxy na Tailscale) dostaje:

  • Top 50 chunków (każdy z autorem, kanałem, timestampem)
  • Profil usera (cele, branża, projekty, ostatnie reply)
  • Instrukcje: wybierz 7 cytatów, dodaj „Dlaczego to dla Ciebie" w 1 zdaniu, ułóż w narracji

Sonnet zwraca markdown brief. Walidator sprawdza że każdy cytat ma autora + timestamp. Jeśli cokolwiek halucynuje — fallback do GPT-4 z innego providera.

Koszt: ~$0.20 za brief.

Etap 7: Email send (06:30)

Brief renderowany do HTML (template MJML → Resend). Każdy cytat ma 4 akcje:

  • 📌 Zapisz (link z tokenem → API → save)
  • 🔗 Skopiuj cytat (link → API → JSON → JS w przeglądarce kopiuje)
  • ✕ Nie istotne (link → API → mark dismissed)

I jedna globalna sekcja na końcu: „Odpisz na ten mail z uwagami — koryguje moje przyszłe briefy."

Etap 8: Reply parser (background)

Resend webhook → POST do worker’a z inbound email. Sonnet ekstraktuje uwagi w struktorze:

  • goal_changes: lista zmian celów
  • channel_preferences: lubię/nie lubię
  • topic_preferences: więcej/mniej
  • format_feedback: za długo / za krótko

Update do user_memory table. Następny brief używa zaktualizowanego embedding.


Dlaczego to działa lepiej niż newsletter Substack

  1. Personalizacja: każdy użytkownik dostaje inne cytaty. Substack jest one-to-many.
  2. Source-grounded: cytat ma timestamp + link do oryginału. Newsletter to interpretacja autora.
  3. Reply-as-control: korekta przez email, nie przez panel admin. Mniej tarcia.
  4. Skala: 200+ kanałów monitorowanych. Człowiek nie da rady tego śledzić.

Co jest open source

  • resemblyzer (speaker fingerprinting)
  • PgQueuer (job queue na Postgresie)
  • pgvector (embedding storage)

Co jest zamknięte:

  • AssemblyAI (transkrypcja)
  • Voyage AI (embedding)
  • Anthropic Sonnet (brief generation)

Łączny koszt na user: ~$3/miesiąc przy 4 briefach. Marża pozwala na cenę 149 zł / 35 EUR / 49 USD przy comfortable margin.


Pytania techniczne?

Pisz na hello@bizmaven.eu — odpowiadamy chętnie i szczerze.

— Tagi
pipeline ai transkrypcja embedding
— Spodobało się?

Brief 2× w tygodniu, tylko Twoje cytaty.

Zacznij 14-dniowy okres próbny →