Skip to content

🛠️ Projects

Build things. That's how you learn.


Beginner Projects

Beginner Projects in Projects — what it is and when to use it.

Project Topics practiced
Calculator Functions, control flow, input/output
To-do list (CLI) Lists, file I/O, loops
Number guessing game Random, loops, conditionals
Password generator Strings, random, functions
Unit converter Functions, dictionaries

Intermediate Projects

Intermediate Projects in Projects — what it is and when to use it.

Project Topics practiced
Web scraper requests, BeautifulSoup, file I/O
REST API FastAPI, Pydantic, databases
Chat bot (CLI) Classes, state machines
File organizer pathlib, automation
Expense tracker Classes, JSON, data analysis

Advanced Projects

Advanced Projects in Projects — what it is and when to use it.

Project Topics practiced
Custom ORM Descriptors, metaclasses, SQL
Async job queue asyncio, Redis, error handling
Static site generator File I/O, templates, Markdown
Plugin system Abstract classes, importlib
Profiler sys.settrace, decorators, statistics

Systems Projects

Systems Projects in Projects — what it is and when to use it.

Project Topics practiced
Thread pool Threading, queues, synchronization
Bytecode disassembler dis, code objects, opcodes
Memory profiler tracemalloc, weak references
Mini web framework Sockets, HTTP parsing, routing
Package manager PyPI API, dependency resolution

Research Projects

Research Projects in Projects — what it is and when to use it.

Project Topics practiced
Toy JIT compiler LLVM, bytecode, type specialization
Python-to-JS transpiler AST, code generation
Bytecode optimizer Peephole optimization, data flow
Custom REPL Readline, compilation, execution
Consensus algorithm Networking, state machines, Raft

Project-based learning

Don't just read — build. Pick a project slightly above your comfort level. Struggle is where learning happens.

💬 Discussion

Have a question about this topic? Found an error? Share your thoughts below.