Inspiration
In developing regions like Myanmar, internet access is often unstable, slow, or prohibitively expensive. Students cannot afford to stream 500MB video lectures, creating a massive knowledge gap compared to their peers in developed nations.
What it does
LiteLearn is an offline-first educational tool that transforms heavy video content into lightweight, accessible assets. Video Processing: Extracts audio and compresses it to "Radio Quality" (32kbps mono). AI Intelligence: Uses OpenAI Whisper for transcription and Google Gemini 1.5 Flash for structured summarization. Portability: Generates a downloadable PDF containing the summary and transcript for offline study. Impact: A 200MB video lecture is converted into a 5MB audio+text package.
How I built it
The backend is powered by Django, acting as the central orchestrator to manage user requests and handle the asynchronous media processing pipeline. Heavy video files or YouTube links are ingested using FFmpeg and yt-dlp, which strip the video track and compress the audio to a low-bitrate (32kbps) format optimized for slow connections. I integrate OpenAI Whisper to generate accurate timestamps and transcripts from the audio, which are then passed to Google’s Gemini 2.5 Flash model to synthesize structured study guides. Finally, the system uses ReportLab to dynamically compile the transcript and AI summary into a single, lightweight PDF file for offline portability.
Challenges I ran into
The biggest technical headache was undoubtedly the "FFmpeg on Windows" nightmare. Even though I had it installed, Python kept throwing WinError 2 because it couldn't find the executable in the system path, which forced me to write custom validation logic to handle different environments.
Accomplishments that I am proud of
Seeing a 200MB video lecture turn into a crisp, 5MB audio-and-PDF package felt like magic, and knowing this could genuinely help students in my home country of Myanmar makes it even better. I am also proud of the "pipeline" architecture, getting four distinct technologies (yt-dlp, FFmpeg, Whisper, and Gemini) to pass data seamlessly to one another in a single click was a complex backend challenge that I solved cleanly.
What I learned
I gained a deeper appreciation for the subprocess module in Python and how to manage blocking tasks when dealing with heavy media processing.
What's next for Lite learn
Burmese Language Support: Fine-tune Whisper for better local dialect recognition. PWA (Progressive Web App): Allow offline caching on Android devices. SMS Fallback: Send text-only summaries via SMS for users with 0 data.
Log in or sign up for Devpost to join the conversation.