Skip to content
mohansellaPublic

About

Binge YouTube the right way with BingeTube. Watch videos in order, skip repeats, and finally finish series without getting lost.

Topics

Resources

Stars

10 stars

Watchers

2 watching

Forks

Repository files navigation

BingeTube

Transform YouTube browsing into a binge-watching experience — watch channels like TV series, organized and distraction-free.

Flutter License

BingeTube is a cross-platform Flutter application that lets you watch YouTube channels sequentially — from first to last — without re-watching videos you’ve already seen. It organizes YouTube content into curated collections with intelligent tracking, turning endless scrolling into a focused, series-like viewing experience.


🎯 What Makes BingeTube Different?

YouTube is powerful but unorganized. BingeTube solves this:

Challenge YouTube BingeTube
Watch channels in order ❌ Newest first, confusing ✅ Oldest→Newest or customise, episodic
Skip already-watched videos ❌ Manual, tedious ✅ Automatic tracking
Progress tracking ❌ No sense of completion ✅ Visual progress & stats
Collections ❌ Basic playlists ✅ Curated, organized binges

✨ Key Features

🎬 Smart Binge-Watching

  • Sequential playback — Watch channels from first to last video
  • Watch tracking — Mark videos as watched/unwatched; never lose your place
  • Auto-skip — Automatically skip previously watched videos
  • Progress insight — See how much of a series you’ve watched

📚 Collections & Organization

  • Curated collections — Pre-built, tagged collections (no API key needed)
  • Channel browsing — Explore and add channels to your library
  • Series organization — Group related channels into binges
  • Custom binges — Create and manage your own watch lists

🔧 Advanced Capabilities

  • YouTube API integration — Optional: use your own API key for unlimited browsing
  • Search functionality — Find channels and playlists with ease
  • API quota display — Monitor your YouTube API usage in real-time
  • Profile management — Personalize app settings and preferences

🌍 Cross-Platform Excellence

  • Mobile (iOS/Android) — Native performance and mobile optimizations
  • Desktop (macOS/Windows/Linux) — Full-featured desktop experience
  • Web — Demo and full-featured web version with deep linking
  • Dark mode — Automatic and manual theme support
  • Responsive UI — Adapted for all screen sizes

📊 User Experience

  • Configurable font sizes — Accessibility for all users
  • Splash screen — Smart initialization with session persistence
  • Deep linking — Direct access to channels and series via URLs
  • SEO compatible — Discovery and sharing-friendly web routing
  • Smooth transitions — Optimized animations and navigation

🛠 Tech Stack

Core Framework

  • Flutter 3.10+ — Cross-platform UI framework
  • Dart — Fast, typed programming language

State Management & Navigation

  • Hooks Riverpod — Modern, reactive state management
  • GoRouter — Declarative routing with deep linking & named routes

Database & Persistence

API & Networking

Analytics & Monitoring

UI & UX Enhancements

Utilities

Web Platform


🚀 Getting Started

Prerequisites

  • Flutter 3.10 or later (Install)
  • Dart 3.10+ (included with Flutter)
  • iOS 12.0+ or Android API 21+ (for mobile)
  • macOS 10.15+ or Windows 10+ or Linux (for desktop)

Installation

  1. Clone the repository

    git clone https://github.com/mohansella/BingeTube.git
    cd BingeTube
  2. Get dependencies

    flutter pub get
  3. Run code generation

    flutter pub run build_runner build
  4. Run the app

    # Mobile
    flutter run
    
    # Desktop
    flutter run -d macos    # or windows, linux
    
    # Web
    flutter run -d chrome

Optional: Configure YouTube API Key

To unlock full YouTube browsing capabilities:

  1. Get a YouTube Data API v3 key
  2. Open BingeTube → Profile → API Configuration
  3. Paste your API key and try searching
  4. Monitor quota usage in real-time

📱 App Architecture

┌─ Splash (Init & Redirect)
├─ Root (Tab Navigation)
│  ├─ Library (Your Collections)
│  ├─ Discover (Browse Content)
│  └─ Profile (Settings & Config)
├─ Binge (Watch Videos)
├─ Channel (Channel Details)
├─ Series (Multi-Channel Binge)
└─ Search (Query Content)

State Management: Riverpod providers manage all app state (collections, watch history, API config) Database: Drift ORM for type-safe SQL queries Navigation: GoRouter with named routes, deep linking, and URL-based state


🎨 Features in Detail

Collections

  • Built-in curated collections (Key & Peele, and more)
  • Add channels and create custom binges
  • Tag and organize for easy discovery
  • Persist watch state locally

Video Playback

  • In-app player with standard controls
  • Seamless playback across platforms
  • Automatic next-video progression
  • Watch history syncing

Search & Discovery

  • Search channels and playlists (with API key)
  • Browse curated recommendations
  • Direct channel linking via URLs
  • Share series with others via deep links

Offline Support

  • Curated collections available without internet
  • Cached data across sessions
  • Works great on low-bandwidth connections

🤝 Contributing

Contributions are welcome! Here’s how:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m ‘Add amazing feature’)
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License — see LICENSE file for details.


🙋 Support & Feedback


Made with ❤️ by @mohansella

About

Binge YouTube the right way with BingeTube. Watch videos in order, skip repeats, and finally finish series without getting lost.

Topics

Resources

Stars

10 stars

Watchers

2 watching

Forks

Releases

Contributors

Languages