Skip to main content

Welcome to Jefftube Documentation

Learn how to use, develop, and extend the Jefftube platform — a video archive interface for browsing public surveillance footage from the DOJ Epstein case disclosures.

Quick Start

Get up and running with Jefftube in just a few steps

1

Clone the repository

Start by cloning the Jefftube repository to your local machine:
git clone https://github.com/imMatheus/jefftube.git
cd jefftube
2

Set up the database

Start the PostgreSQL database using Docker Compose:
cd server
bun run db:start
bun run db:push
Make sure you have Docker installed and running on your machine.
3

Start the development servers

Launch both the backend API and frontend application:
# Terminal 1 - Start the API server
cd server
bun run dev

# Terminal 2 - Start the web frontend
cd web
bun run dev
The API will be available at http://localhost:3001 and the web interface at http://localhost:5173.

Explore by Topic

Dive into specific areas of the platform

Video Browsing

Learn how users browse and watch archived surveillance footage with view tracking.

Comments System

Understand the threaded comment system with replies and like functionality.

Playlists

Discover how videos are organized into categorized playlists like elevator-cam and lobby-cam.

Shorts

Explore the dedicated interface for browsing vertical format videos.

Developer Resources

Everything you need to build and extend Jefftube

Setup Guide

Complete development environment setup instructions.

Architecture

Understand the full-stack architecture and tech stack.

Database Schema

Explore the PostgreSQL database structure and relationships.

Videos API

Fetch and manage video metadata and view counts.

Users API

IP-based user creation and authentication system.

Comments API

Create and manage comments with rate limiting.

Ready to get started?

Follow our quickstart guide to set up a local development environment and start exploring the codebase.

Get Started Now

Build docs developers (and LLMs) love