From absolute beginner to job-ready backend developer. Zero setup. 100% free.
๐ Get Started ย ยทย ๐ Curriculum ย ยทย โจ Features ย ยทย ๐ Project Structure ย ยทย ๐ค Contributing
PyPath is a fully serverless, browser-based Python learning platform that takes absolute beginners all the way to job-ready developers โ with zero installation required.
Write and run real Python code directly in your browser using Pyodide (WebAssembly). Complete structured lessons, tackle daily challenges, build portfolio projects, earn XP and badges, and unlock a Completion Certificate when you finish all 8 modules.
๐ All your progress, code snippets, and profile data is saved privately in your browser's localStorage. No accounts, no servers, no data collection.
| Feature | Description |
|---|---|
| ๐ Live Python Execution | Run Python 3.10 in the browser via Pyodide (WebAssembly) โ no backend, works offline |
| ๐บ๏ธ Structured Roadmap | 8 progressive modules from beginner to job-ready, with strict project-gating between modules |
| ๐ฎ Gamification System | Earn XP, level up (10 levels), unlock 40 badges, and maintain daily streaks |
| ๐ Completion Certificate | Receive a personalized, printable certificate after finishing all 8 modules and their projects |
| ๐ป Rich Code Editor | CodeMirror editor with syntax highlighting, Dracula/Monokai/Material themes, and adjustable font size |
| ๐งช Daily Challenges | 50 hand-crafted challenges across 5 topics, auto-tested against real test cases |
| ๐ Visual Dashboard | Skill radar chart, XP history graph, badge showcase and activity streak calendar |
| ๐ฏ Interview Prep | 100 curated Python interview questions with full answers |
| ๐ Cheat Sheet | 20-section searchable quick reference from data types to Docker |
| ๐ Code Sharing | Share playground code via a URL link (Base64 encoded, no server needed) |
| ๐ค Custom Profiles | Set your name, focus area, daily goal, and upload a profile photo |
| ๐ฑ Fully Responsive | Works on desktop, tablet, and mobile |
PyPath is a pure static site โ no npm, no build step, no database, no server.
git clone https://github.com/yourusername/pypath.git
cd pypath
python -m http.server 8000Then open http://localhost:8000 in your browser.
- Open the project folder in VS Code.
- Install the Live Server extension.
- Right-click
index.htmlโ "Open with Live Server".
npx serve .
โ ๏ธ Important: Always open PyPath via a local server (not by double-clickingindex.html). The browser blocks Pyodide from loading when usingfile://protocol.
PyPath consists of 8 progressive modules. Each module ends with a real portfolio project that must be completed before the next module unlocks.
Module 1 โ Python Foundations (5 hours ยท 8 lessons)
| # | Lesson |
|---|---|
| 1.1 | What is Python? Why Python? |
| 1.2 | Installing Python and Setting up VS Code |
| 1.3 | Your First Program โ Hello World and print() |
| 1.4 | Variables and Data Types |
| 1.5 | User Input and Type Conversion |
| 1.6 | Operators |
| 1.7 | String Methods and F-Strings |
| 1.8 | Comments, Docstrings and Code Style |
๐จ Module Project: [P2] Password Generator
Module 2 โ Control Flow (4 hours ยท 7 lessons)
| # | Lesson |
|---|---|
| 2.1 | If, Elif and Else Statements |
| 2.2 | Nested Conditions and Logical Operators |
| 2.3 | While Loops |
| 2.4 | For Loops |
| 2.5 | Nested Loops |
| 2.6 | Loop Patterns and Common Algorithms |
| 2.7 | Exception Handling |
๐จ Module Project: [P1] Number Guessing Game
Module 3 โ Data Structures (7 hours ยท 9 lessons)
| # | Lesson |
|---|---|
| 3.1 | Lists โ Creating, Indexing and Slicing |
| 3.2 | List Methods |
| 3.3 | Tuples |
| 3.4 | Dictionaries |
| 3.5 | Dictionary Methods and Iteration |
| 3.6 | Sets |
| 3.7 | List and Dict Comprehensions |
| 3.8 | Stacks and Queues using Lists |
| 3.9 | Working with Nested Data Structures |
๐จ Module Project: [P6] Simple To-Do List CLI
Module 4 โ Functions and Modules (6 hours ยท 8 lessons)
| # | Lesson |
|---|---|
| 4.1 | Defining Functions |
| 4.2 | Default and Keyword Arguments |
| 4.3 | *args and **kwargs |
| 4.4 | Lambda Functions and map/filter/reduce |
| 4.5 | Scope |
| 4.6 | Recursion |
| 4.7 | Python Standard Library |
| 4.8 | Creating and Importing Your Own Modules |
๐จ Module Project: [P8] Unit Converter
Module 5 โ Object-Oriented Programming (7 hours ยท 8 lessons)
| # | Lesson |
|---|---|
| 5.1 | What is OOP? |
| 5.2 | init, Instance Variables and Methods |
| 5.3 | Inheritance and super() |
| 5.4 | Method Overriding and Polymorphism |
| 5.5 | Encapsulation |
| 5.6 | Class Methods and Static Methods |
| 5.7 | Magic and Dunder Methods |
| 5.8 | Abstract Classes and Interfaces |
๐จ Module Project: [P17] Student Management System
Module 6 โ File Handling and APIs (5 hours ยท 7 lessons)
| # | Lesson |
|---|---|
| 6.1 | Reading and Writing Text Files |
| 6.2 | Working with CSV Files |
| 6.3 | JSON |
| 6.4 | Introduction to APIs |
| 6.5 | Calling APIs with requests |
| 6.6 | Parsing API Responses and Error Handling |
| 6.7 | Building a Simple REST Client |
๐จ Module Project: [P11] Weather App API
Module 7 โ Advanced Python (8 hours ยท 9 lessons)
| # | Lesson |
|---|---|
| 7.1 | Decorators |
| 7.2 | Generators and Iterators |
| 7.3 | Context Managers |
| 7.4 | Threading and Multiprocessing Basics |
| 7.5 | Async Python |
| 7.6 | Regular Expressions |
| 7.7 | Virtual Environments and pip |
| 7.8 | Testing with pytest |
| 7.9 | Logging, Profiling and Debugging |
๐จ Module Project: [P13] Job Listings Web Scraper
Module 8 โ Job-Ready Python (7 hours ยท 7 lessons)
| # | Lesson |
|---|---|
| 8.1 | Introduction to FastAPI |
| 8.2 | Building REST APIs with FastAPI |
| 8.3 | Database Basics โ SQLite |
| 8.4 | ORM Basics with SQLAlchemy |
| 8.5 | Authentication |
| 8.6 | Docker Basics |
| 8.7 | Deploying to the Cloud |
๐จ Module Project: [P19] Full REST API
๐ฆ Module 1 Lessons (8 lessons)
โ (all lessons complete)
๐จ Module 1 Project (Password Generator)
โ (project marked complete)
๐ Module 2 Unlocks
โ
...and so on until Module 8.
โ
๐ Completion Certificate Unlocked!
The next module stays locked until you finish every lesson AND the required project for the current module. This ensures real mastery before advancing.
| Technology | Version | Purpose |
|---|---|---|
| HTML5 / CSS3 / Vanilla JS | โ | App structure, styling, and all logic โ no frameworks |
| Pyodide | v0.25.0 | Compiles CPython to WebAssembly for in-browser Python execution |
| CodeMirror | v5.65.16 | Themeable code editor with syntax highlighting |
| Chart.js | Latest CDN | Skill radar chart and XP history graph in the dashboard |
| Canvas Confetti | Latest CDN | Celebratory particle effects on level-up |
| Font Awesome | v6 | All icons throughout the UI |
pypath/
โโโ index.html # Application shell, navbar, CDN imports
โโโ README.md # This file
โโโ assets/
โโโ logo.png # PyPath brand logo
โโโ css/
โ โโโ styles.css # Full UI โ dark theme, neon accents, certificate, responsive
โโโ js/
โโโ app.js # Core logic: routing, rendering, gamification, certificate
โโโ data.js # Master data: module seeds, projects, challenges, quiz topics
โโโ modules/
โโโ module1.js # Python Foundations lesson details
โโโ module2.js # Control Flow lesson details
โโโ module3.js # Data Structures lesson details
โโโ module4.js # Functions and Modules lesson details
โโโ module5.js # Object-Oriented Programming lesson details
โโโ module6.js # File Handling and APIs lesson details
โโโ module7.js # Advanced Python lesson details
โโโ module8.js # Job-Ready Python lesson details
Architecture note: Each
moduleX.jsattaches its content towindow.moduleXLessonDetails. Thedata.jsfile merges this into the master module list at startup, keeping each module's content fully independent and easy to maintain.
- ๐ Dark Neon Theme โ CSS variables for a hacker-friendly aesthetic with cyan and gold accents
- ๐ Three-Panel Layout โ Sidebar navigation, main content, and live code editor side by side
- ๐ Visual Module Locking โ Locked modules show a padlock icon; unlocked ones show their number
- ๐ Printable Certificate โ A landscape-formatted PDF-ready certificate with your name and the PyPath logo
- โจ Micro-interactions โ Hover effects, XP toast popups, confetti on level-up, smooth progress bars
Contributions, issues, and feature requests are welcome!
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes and commit:
git commit -m 'Add: your feature description' - Push to your branch:
git push origin feature/your-feature-name - Open a Pull Request
To add a new lesson or improve an existing one, edit the relevant assets/js/modules/moduleX.js file. Each lesson object follows this schema:
"X.Y": {
objectives: ["..."],
explanation: "...",
example: "...", // runnable Python code
exercisePrompt: "...",
commonMistakes: [["mistake", "fix"], ...],
quiz: [{ question, options, answer, explanation }, ...]
}This project is open-source and available under the MIT License.
Built with โค๏ธ for Python learners everywhere.
PyPath โ Learn Python. Build Projects. Get Hired.