Klipshow

Interactive viewer-driven clip reactions for streamers

Klipshow is a tool for Twitch streamers that lets viewers pay to trigger approved short clips from YouTube, TikTok, and other platforms.

Streamers have full control over what clips are allowed, when they play, and how much they cost to trigger. Viewers interact in real time using a queue system with approved clips.

This project shows how we built a creator-friendly revenue tool using Rails, JavaScript, and background jobs — with real payment processing and stream-safe logic.

Episodes

Building KlipShow Episode 1: Rails 8 + Docker + Twitch OAuth Setup

In this first episode, we build the complete authentication foundation for KlipShow — a Twitch platform where viewers pay to trigger social media clips on stream. Includes full Twitch OAuth, JWT session management, Vite + React + Tailwind setup, and backend tests.

Building KlipShow Episode 2: Dashboard Architecture + Clips System + Database Design

In this power-packed episode, we build the core dashboard infrastructure and complete clips management system for ClipShow — where Twitch viewers pay real money to display social media clips on live streams!

Tech Stack

  • Ruby on Rails 8.0.2
  • Docker with HMR
  • React + Vite Ruby
  • Tailwind CSS
  • Turbo for SPA-like experience
  • PostgreSQL with advanced associations
  • Cuprite for system testing
  • React-Toastify for notifications

Key Highlights

  • Multiple strategic pivots: SCSS → Tailwind, localStorage → cookies
  • Advanced Rails associations between clips and streamers
  • Real-time feedback system with React toast integration
  • Professional database design for monetized clip system
  • Docker development environment optimization
  • Comprehensive testing strategy for payment-integrated features

Building KlipShow Episode 3: TikTok API Integration + Public Clip Library + Hybrid Architecture

In this marathon episode, we achieve a major milestone - building the complete public clip library system for ClipShow where Twitch viewers pay real money to display social media clips on live streams!

Tech Stack

  • Ruby on Rails 8.0.2
  • TikTok iframe API
  • React with advanced state management
  • PostgreSQL with optimized associations
  • CSRF token security
  • Turbo with React hybrid approach
  • RSpec for comprehensive testing
  • Custom Ajax wrapper service

Key Highlights

  • TikTok iframe API replaces complex OAuth - smart architectural decision!
  • Public library vs private collection dual-system architecture
  • Real-time clip validation through iframe loading events
  • Professional security with CSRF tokens on all requests
  • Seamless user experience - add clips without page refreshes
  • Production-ready error handling and validation patterns
  • Advanced Rails nested attributes for complex form submissions

Building KlipShow Episode 4: Real-Time WebSocket Alerts + OBS Integration + AnyCable Architecture

This episode gets us to a working MVP — streamers can now receive real-time clip alerts in OBS when viewers interact with their stream! Features include AnyCable replacing ActionCable for massive WebSocket scaling, secure token-based authentication without traditional login flows, live OBS integration demo, HTTP broadcast method for Redis deprecation-proofing, professional error handling, real-time testing for streamers, and production-ready encryption for sensitive alert tokens.

Tech Stack

  • Ruby on Rails 8.0.2
  • AnyCable for WebSocket scaling
  • ActionCable with HTTP broadcast
  • React with WebSocket integration
  • TikTok iframe API with post-message
  • PostgreSQL
  • Docker Compose multi-service setup
  • RSpec + Capybara + Cuprite
  • Tailwind CSS

Key Highlights

  • AnyCable replaces ActionCable for massive WebSocket scaling potential!
  • Secure token-based authentication without traditional login flows
  • Live OBS integration demo - clips actually playing on stream!
  • HTTP broadcast method future-proofs against Redis deprecation
  • Smart time-boxing decisions - knowing when to move forward
  • Professional error handling across WebSocket connections
  • Real-time testing functionality for streamers to preview alerts
  • Production-ready encryption for sensitive alert tokens
  • This episode gets us to a working MVP - streamers can now receive real-time clip alerts in OBS when viewers interact with their stream!

Timestamps

Building KlipShow Episode 5: Live Klip Queue System + Real-Time WebSocket Management + Advanced Rails Architecture

In this marathon episode, we build the most complex feature yet - a complete real-time klip queue system that lets streamers manage their alerts live! This is the heart of what makes KlipShow revolutionary for Twitch streaming!

Tech Stack

  • Ruby on Rails 8.0.2 with advanced namespacing
  • AnyCable with isolated test environments
  • Custom React hooks for WebSocket state management
  • Polymorphic ActiveRecord associations
  • PostgreSQL with optimized queue positioning
  • Docker multi-service architecture
  • RSpec system tests with WebSocket integration
  • OBS remote debugging capabilities
  • ActionCable with HTTP RPC broadcasting

Key Highlights

  • Real-time klip queue that updates across all connected clients!
  • Polymorphic associations allowing both streamers and viewers to trigger klips
  • Custom React hooks for reusable WebSocket state management
  • {"Advanced Rails namespacing"=>"StreamerKlip::Queue model architecture"}
  • OBS remote debugging setup for production-level troubleshooting
  • Sophisticated queue management with position-based ordering
  • ActiveRecord callbacks driving real-time UI updates
  • {"Two-step authentication"=>"cookie-based dashboard vs token-based alerts"}
  • Batch queue operations preventing WebSocket spam
  • Complete MVC separation with reusable concerns

Building KlipShow Episode 6: Production Deployment with Kamal + CI/CD Pipeline + Critical Bug Fixes

In this episode, we tackle mysterious WebSocket authentication issues, deploy to production with Kamal on DigitalOcean, and build a complete CI/CD pipeline with GitHub Actions. Plus, we fix critical performance bugs and add validation to prevent duplicate klips!

Tech Stack

  • Kamal deployment tool from 37signals
  • DigitalOcean droplets for hosting
  • GitHub Actions for CI/CD automation
  • Docker Hub for container registry
  • Let's Encrypt for SSL certificates
  • AnyCable with HTTP RPC for WebSockets
  • PostgreSQL with Docker accessories
  • React with useCallback for performance
  • Vite for asset compilation
  • RSpec with system tests

Key Highlights

  • {"Paranormal WebSocket issues"=>"cookies don't work across different hosts!"}
  • useCallback hook prevents exponential performance degradation
  • Kamal automatically handles SSL certificates with zero configuration
  • GitHub Actions secrets bridge to Kamal deployment secrets
  • Custom validation shows clickable links in error messages
  • Chrome DevTools remote debugging with OBS browser sources
  • Rails master key workaround for asset precompilation
  • Network aliases for Docker container communication
  • Staging environment live at staging.klipshow.io
  • {"Complete CI/CD"=>"test on PR, deploy on merge"}