Platzi Viewer
A modern web application for viewing and managing Platzi courses stored locally with Google Drive synchronization and comprehensive progress tracking.
Key Features
Google Drive Streaming
Stream courses directly from Google Drive with HTTP Range Request support for efficient video playback
Progress Tracking
Track your learning progress with local and server-side synchronization across devices
Desktop Application
Run as a native desktop app with PyQt6 or pywebview for an integrated experience
Advanced Video Playback
Adaptive A/V sync correction, seek support, and compatibility mode for challenging files
Modern Interface
Responsive design with dark mode, smooth animations, and keyboard shortcuts
Easy Deployment
Deploy with Docker, as a portable Windows executable, or run directly with Python
Quick Start
Configure Google Drive
Set up a Google Cloud service account and share your Platzi courses folder with itPlace your
service_account.json file in the project rootArchitecture Overview
Platzi Viewer uses a client-server architecture where the Python backend acts as a proxy to Google Drive, streaming content on-demand to the JavaScript frontend.Frontend
Modern ES6+ JavaScript with modular architecture and hash-based routing
Backend
Python HTTP server with Google Drive API integration and video streaming
Storage
Course cache in JSON, localStorage for progress, Google Drive for content
Use Cases
Personal Learning Management
Personal Learning Management
Organize and track your Platzi course library stored in Google Drive with a beautiful interface and progress tracking
Offline-Ready Desktop App
Offline-Ready Desktop App
Run Platzi Viewer as a desktop application on Windows with embedded browser for an integrated experience
Self-Hosted Course Platform
Self-Hosted Course Platform
Deploy with Docker for your family or team to access courses from a central server with individual progress tracking
Course Organization
Course Organization
Navigate through hierarchical course structures: Categories → Routes → Courses → Modules → Classes
Resources
Installation Guide
Complete setup instructions for all deployment methods
API Reference
Explore the REST API endpoints and request/response formats
Troubleshooting
Solutions for common issues and configuration problems
Contributing
Learn how to contribute to the Platzi Viewer project