Back to Portfolio
PockeTube logo

PockeTube

YouTube Collection PWA

2026 - Present

PockeTube — project overview

Overview

Mobile-first Progressive Web App for saving and organizing YouTube videos, built as a personal project for my wife. The application registers as a Web Share Target on Android, allowing users to share YouTube links directly from the YouTube app's share menu into their personal collection. Architected with React Router 7 for full-stack SSR, Prisma ORM for database access, and PostgreSQL for persistent storage. Implemented drag-and-drop reordering using @dnd-kit with a responsive grid layout optimized for mobile (3 columns) and desktop (7 columns). Integrated deep-linking via YouTube's URI scheme to open videos directly in the native YouTube app, with web fallback for non-Android devices. Deployed on Kubernetes with Helm charts and GitHub Actions CI/CD. Features Google OAuth authentication, dark/light theme matching OS preferences, and a minimalist design philosophy — no algorithms, no recommended feeds, just the content you choose to save.

Technology Stack

frontend
React Router 7TypeScriptTailwindCSSshadcn/ui@dnd-kit
backend
Node.jsReact Router 7 (SSR)Prisma ORMPostgreSQL
infrastructure
KubernetesHelmDockerGitHub Actions
pwa
Service WorkersWeb Share Target APIWeb App Manifest

Key Features

  • PWA with Web Share Target - accepts links from YouTube via "Share" menu
  • Open in YouTube app - clicking a video opens it in the native app
  • Drag & Drop reordering - intuitive interface for organizing your collection
  • Responsive Grid - optimized layout for mobile (3 columns) and desktop (7 columns)
  • User Authentication - Google OAuth integration for personal collections
  • Dark/Light theme support matching OS settings

Technical Highlights

  • Full-stack React Router 7 implementation with SSR
  • Database management with Prisma and PostgreSQL
  • Cloud-native deployment using Kubernetes and Helm
  • CI/CD automation with GitHub Actions
  • Progressive Web App features including offline support
  • Integration with Web Share API for seamless mobile experience

Screenshots

PockeTube screenshot 1
PockeTube screenshot 2
PockeTube screenshot 3
PockeTube screenshot 4
PockeTube screenshot 5