Piggyback Learning
The Problem
Kids today spend hours watching YouTube and while some pick things up naturally, most are just absorbing flashing colors, sounds, and movement without retaining any of it. No comprehension. No language development. No real learning. And parents have little to no insight into what their child is even watching.
The root cause? Passive screen time. Kids sit alone, eyes glazed, while videos play. Without someone asking "wait, what just happened?", nothing sticks.
The Solution
What if kids had a friend watching with them?
Piggyback turns any YouTube video into an interactive learning experience, pausing at key moments to ask questions the child answers out loud, in their own voice. No typing. No multiple choice. Just real comprehension.
And they don't do it alone. They pick a companion:
- 🐰 Blossom the Bunny : like an older sibling, always pushing you to think harder
- 🐷 Pippa the Pig : your childhood best friend, warm and always by your side
- 🐊 Ash the Alligator : the cool uncle, supportive and cheering you on every step
And every session, parents get a real report — what was watched, how their child did, and where they struggled. Finally, a window into their child's screen time.
Who Uses It
| Role | What They Do |
|---|---|
| Admin | Downloads YouTube videos, extracts frames, generates AI questions |
| Parent | Logs in with a personal login code, reviews questions, manages children, views reports |
| Child | Logs in with parent's code, picks their profile and companion, watches videos and answers quizzes |
How to Run
Requirements: Python 3.12, FFmpeg
# 1. Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windows
# 2. Install dependencies
pip install -r requirements.txt
# 3. Set environment variables
cp .env.example .env # macOS/Linux
copy .env.example .env # Windows
# 4. Start the server
uvicorn main:app --reload
# 5. Open the app
# http://localhost:8000
A sample video with questions is included — you can run the kids experience immediately without any API keys.
Default Login Credentials
| Role | Credential |
|---|---|
| Admin | password: admin123 |
| Parent | personal login code set by admin |
Running Tests
pytest tests/ -v
88 tests across unit, integration, and acceptance. This now includes downloader coverage for protected-video auth, FFmpeg path detection, and invalid MP4 repair. See the Testing section for details.
Key Features
- YouTube video download and frame extraction pipeline
- AI question generation (OpenAI, Gemini, or Claude)
- Interactive quiz player with voice answers — no typing required
- Animated companion characters that guide and encourage kids
- Parent dashboard: claim videos, manage children, set access codes
- Parent report showing per-child quiz scores, retries, and watch time
- Admin panel for video processing and question management