Skip to main content

What is Jefftube?

Jefftube is a video archive platform that provides an accessible interface for browsing public surveillance footage from the Department of Justice Epstein case disclosures. The platform mimics a familiar video-sharing interface to make navigating large volumes of surveillance footage intuitive and user-friendly.
This project is no longer actively maintained as the codebase has been migrated to the Jmail project.

Key Features

Jefftube provides a comprehensive set of features for video browsing and community interaction:

Video Browsing

Browse surveillance footage with view tracking, thumbnails, and metadata display

Comments System

Engage with threaded comments, replies, and like/dislike functionality

Organized Playlists

Videos categorized into playlists like elevator-cam and lobby-cam for easy navigation

Shorts Interface

Dedicated vertical format viewing experience for shorter clips

Architecture Overview

Jefftube is built as a modern full-stack application with three main components:

Frontend (web/)

The user interface is built with modern web technologies:
  • React 19 with React Router for navigation
  • Vite for fast development and optimized builds
  • Tailwind CSS v4 for styling
  • TanStack Query for server state management
  • PostHog for analytics

Backend (server/)

The API server provides RESTful endpoints:
  • Hono - Fast, lightweight web framework
  • Drizzle ORM - Type-safe database access
  • PostgreSQL - Relational database with Drizzle migrations
  • Bun runtime - Fast JavaScript runtime and package manager
  • Rate limiting - Built-in protection with hono-rate-limiter

Database Schema

The platform uses five core tables:
  • videos - Video metadata, views, likes, playlist assignments
  • users - IP-based user accounts with hashed identifiers
  • comments - Threaded comments with parent/child relationships
  • comment_likes - User reactions to comments
  • video_likes - User reactions to videos

Scraper (scrapper/)

The scraper component uses Playwright to:
  • Discover and download surveillance footage
  • Generate thumbnails from video files
  • Extract and process video metadata
  • Upload assets to cloud storage

Technology Stack

  • React 19.2.0
  • Vite 7.2.4
  • React Router 7.13.0
  • Tailwind CSS 4.1.18
  • TanStack Query 5.90.20
  • PostHog analytics
  • Hono 4.11.7
  • Drizzle ORM 0.38.0
  • PostgreSQL (via postgres.js)
  • Bun runtime
  • Pino logging
  • Docker & Docker Compose
  • PostgreSQL 16 Alpine
  • Bun for package management

Use Cases

Jefftube serves several key purposes:
  1. Public Record Access - Provides easy access to publicly disclosed surveillance footage
  2. Research Tool - Enables researchers to browse and analyze footage systematically
  3. Community Discussion - Facilitates public discourse through comments and reactions
  4. Archive Navigation - Makes large video archives searchable and navigable

Next Steps

Ready to explore Jefftube? Here are some recommended paths:

Quickstart Guide

Get the project running locally in minutes

Development Setup

Detailed setup instructions for contributors

API Reference

Explore the REST API endpoints

Database Schema

Understand the data model and relationships

Build docs developers (and LLMs) love