Version: 1.0.1
Last updated: 2025-12-04
ViewFlow is a modern, lightweight video sharing platform prototype built with Flask. It features a custom-built video player, a sophisticated recommendation engine, and a sleek, theme-aware user interface.
Empower creators with data-driven insights directly on their profile:
- Dashboard: A dedicated "Analytics" tab for channel owners.
- Visual Charts: Interactive graphs showing Views and New Subscribers over the last 30 days.
- Performance Metrics: Track total views, subscriber count, and video library size.
- Top Content: Identify your best-performing videos at a glance.
A custom-built, themeable HTML5 player that rivals major platforms:
- "Most Replayed" Heatmap: A YouTube-style graph overlay on the seek bar showing the most popular segments of a video.
- Seek Previews: Hover over the timeline to see a thumbnail preview of that exact moment.
- Resolution Switching: Seamlessly switch between 720p, 480p, and 360p qualities.
- Seamless Playback: Plays uploaded videos seamlessly with a modern HTML5 interface.
- Theatre & Fullscreen Modes: Immersive viewing options.
- Ambient Mode: Dynamic background lighting effects based on video content.
- Background Uploads: Videos process asynchronously (transcoding, thumbnail generation) so you can keep browsing.
- Edit Details: Update video titles, descriptions (with Markdown support), categories, and tags anytime.
- Visibility Control: Instantly toggle videos between Public and Private with a single click.
- Smart Progress: Real-time upload status indicators on your profile icon.
ViewFlow includes a powerful content-based filtering system that personalizes the viewing experience:
- Vector-Based Profiling: Builds a dynamic user profile vector based on watch history.
- Smart Context Awareness:
- Recency Decay: Prioritizes recent interests over older history.
- Replay Boosting: Detects and boosts content you watch repeatedly.
- "Current Mood": Heavily weights the last 2 videos to adapt instantly to your current session.
- Personalized Feeds: "For You", "From Your Channels", and "Up Next" suggestions.
- Rich Profiles: Customize your presence with profile pictures, bio, location, and more.
- Social Interactions: Like, dislike, subscribe, and comment asynchronously without page reloads.
- Dark/Light Mode: A beautiful, persistent theme system that respects your eyes.
- Responsive Design: Fully responsive layout that looks great on desktop and mobile.
- Python 3.10+
- FFmpeg (for video processing)
-
Clone and Setup
# Create a virtual environment python3 -m venv .venv source .venv/bin/activate # Install dependencies pip install -r requirements.txt
-
Run the Server
python3 test.py
The server will start on
http://127.0.0.1:5000.Note: The application will automatically create a
viewflow.dbdatabase and anuploads/directory on the first run.
test.py: The main entry point and development server. Contains models and route logic.recommendations.py: The core logic for the ML recommendation engine.templates/: Jinja2 templates for the frontend.static/: CSS, JavaScript, and assets.models.py: SQLAlchemy database models.views.py: Route definitions (mirrored intest.pyfor the dev server).
This project is a prototype for educational and development purposes. Feel free to fork, experiment, and submit pull requests!
Developed by Gautham Nair & Deepak Patel