Back to Portfolio

AYG Bozo Buddy

Fan-made media library & archive tracker for the Are You Garbage? comedy podcast

Live — independent fan app in production
Visit bozobuddy.com
bozobuddy.com
AYG Bozo Buddy homepage — episode grid and Next up for you card

Overview

AYG Bozo Buddy is an independent, fan-made media library and archive tracker for the Are You Garbage? comedy podcast. It unifies the show's entire YouTube and Patreon back-catalog into a single browsable directory — grouping audio, video, preview, and re-release variants under one canonical episode record — so fans can track what they've watched, discover what they're missing, and find a path into the Patreon archive.

The app is a content directory, not a media player: every episode, ticket, store link, and article opens on its official external platform. The Patreon discovery funnel keeps locked episodes visible with public metadata and dismissible membership CTAs, letting fans see exactly what they'd unlock before committing. Members paste their own private Patreon RSS link (encrypted at rest, never logged) to unlock their entitled destinations.

Live
Shipped App
1,648
Episodes
2,267
Variants
PWA
Installable

Not affiliated with, endorsed by, or operated by Are You Garbage?, Patreon, YouTube, Shopify, or any ticketing provider. Built by Howarth Tech Solutions.

Tech Stack

A lean Next.js full-stack build — data pipeline, server-side proxy, and PWA shell all in one containerized deployment.

Next.js 15
App Router, standalone output
TypeScript
End-to-end type safety
SQLite + Prisma
Episode / variant data store
Docker + Caddy
CI/CD via GitHub Actions → GHCR
Architecture Highlight

Patreon episodes surface a real thumbnail in the episode grid without ever exposing the unlisted YouTube video ID to the browser. A server-side proxy route (/api/episode-thumb/[id]) resolves the episode to its YouTube thumbnail server-side and streams only image bytes — no video IDs, no Patreon tokens, no paywall bypass. The locked content stays locked while the browse experience stays visually complete.

Key Features

Everything a fan needs to track, discover, and navigate 1,648 episodes across YouTube and Patreon.

📺

Unified Episode Library

  • 1,648 episodes / 2,267 variants grouped into canonical records
  • Filters by series, year, access level, and date basis
  • Full-text search with “Include clips & shorts” toggle
  • Air date vs. Patreon release date view

Viewed Tracking & Archive Progress

  • Manual mark-viewed with bulk actions and undo
  • Archive completion computed per series, access level, and year
  • “Next up for you” card advances through the back-catalog in release order
  • localStorage-backed — no account required
🔒

Patreon Discovery Funnel

  • Locked episodes remain visible with public metadata
  • Dismissible membership CTAs on locked content
  • Members paste private Patreon RSS link to unlock destinations
  • RSS link encrypted at rest, never logged
🎧

Collections

  • Curated playlists of guest appearances and crossovers
  • Managed independently of the main episode pipeline
  • YouTube and Patreon links supported
  • Premium gating ready
🎫

Live Shows & Merch

  • Real upcoming tour dates via the Seated JSON:API feed
  • Official merch catalog from Shopify export
  • All links open on the official external platform
  • Artist ID configurable for future shows
📖

Watch History & You Page

  • Dedicated /history page listing every viewed episode in watch order
  • Export and import local tracking data
  • “You” page with clear and reset controls
  • No server-side account — all data stays on your device

Screenshots

Public-facing screens captured from the live app. Admin dashboard screenshots pending Darrell's login credentials.

bozobuddy.com/episodes
AYG Bozo Buddy episode library page with filters

Episode library — filters by series, year, access level, and date basis

bozobuddy.com/collections
AYG Bozo Buddy Collections page

Collections — curated playlists of guest appearances and crossover content

bozobuddy.com/history
AYG Bozo Buddy watch history page

Watch history — every viewed episode in watch order, exportable

Technical Highlights

The engineering that makes a multi-source content archive more than a database dump.

📷

Privacy-Preserving Poster Proxy

Patreon episodes are linked to unlisted YouTube uploads that should never be discoverable. The server-side proxy route (/api/episode-thumb/[id]) resolves each episode to its thumbnail server-side and streams only the image bytes to the browser — the unlisted video ID never reaches the client. Paywall integrity is preserved while the episode grid stays visually complete.

🔄

Canonical Episode Model with Cross-Platform Deduplication

Each episode has a canonical record that groups YouTube and Patreon variants under a single identity. Air-date vs. Patreon-release-date dual-date derivation handles the show's inconsistent release order. Fuzzy title matching catches re-releases and preview clips; ambiguous pairs go to an admin review queue. The multi-source sync (YouTube Data API v3 + Patreon RSS) is fully idempotent — safe to re-run without creating duplicates.

📱

PWA App Shell

The app is a mobile-first installable PWA with a service-worker offline cache, fixed top and bottom navigation bars, and safe-area insets for notched phones. Interactions are tuned for native feel — tactile press states, screen transitions — so the installed app behaves like a native app, not a browser tab.

🔒

AES-256-GCM Secret Handling & Fail-Closed Admin

Private Patreon RSS URLs are encrypted at rest with AES-256-GCM before being persisted. Secrets are redacted from all log output. The /admin route is protected by HTTP Basic Auth middleware that is fail-closed in production — a misconfigured or missing password env var locks the route entirely rather than granting open access.

🚀

Containerized VPS Deployment with Automated Backups

Docker Compose with a SQLite named volume that survives --force-recreate deploys. Resource limits, a /api/health healthcheck, Caddy reverse proxy, and automatic Let's Encrypt TLS. CI/CD runs through GitHub Actions → GHCR → deploy.sh on the VPS, with a nightly backup drop-in keeping a rolling snapshot of the episode database.

Shorts & Clip Classification Guard

YouTube Shorts and preview clips share the same channel as full episodes and would corrupt series completion stats if counted. A hard duration filter in classify() prevents any upload ≤3 minutes from reaching the episode count. A reclassify-shorts.ts maintenance script handles retroactive repair of any that slipped through before the guard was added.

What This Project Demonstrates

Production-grade full-stack engineering applied to a non-trivial data pipeline problem — not a CRUD app.

🔄
Multi-Source Data Pipeline
Cross-platform ingestion, canonical deduplication, and fuzzy matching across two independent data sources
🔒
Security-Aware Engineering
AES-256-GCM secret handling, server-side proxy to preserve paywall integrity, fail-closed admin gate
📱
Polished Mobile-First PWA
Installable app shell with service-worker offline, safe-area insets, and native interaction polish
🚀
Full-Lifecycle Ops
Containerized CI/CD via GitHub Actions → GHCR → VPS, nightly automated backups, health monitoring
👤
Fan-Community Platform Pattern
Archive tracker, discovery funnel, progress tracking — a reusable pattern for media brands and podcast networks
📷
Privacy-First Data Handling
No-account tracking via localStorage, encrypted third-party credentials, secrets redacted from all logs

Want a content platform or fan community app built?

AYG Bozo Buddy shows what a media archive looks like when you add a canonical data model, a multi-source ingestion pipeline, security-aware secret handling, and a polished installable UI. If you have a podcast network, media brand, or fan community that needs the same treatment, let's talk.

Get In Touch Visit bozobuddy.com

Frequently asked questions

What is AYG Bozo Buddy?

AYG Bozo Buddy is an independent, fan-made media library and archive tracker for the Are You Garbage? comedy podcast — 1,648 episodes across YouTube and Patreon unified under a canonical episode model, with viewed tracking, a Patreon discovery funnel, and an installable PWA.

Is Bozo Buddy affiliated with Are You Garbage?

No. AYG Bozo Buddy is an independent fan-made project. It is not affiliated with, endorsed by, or operated by Are You Garbage?, Patreon, YouTube, Shopify, or any ticketing provider. Built by Howarth Tech Solutions.

Can you build a content archive or fan community platform?

Yes — multi-source data pipelines, archive trackers, and community discovery platforms are within scope. See our software development service to start a project.

Related services & work

Want something like this built?

Tell us what you have in mind and we'll come back with an approach and a flat quote — no obligation.

Get a free quote See more work