
PyLab
Full-stack developer
Learning Python by seeing what the code does.
Students follow a learning path, solve exercises in a browser editor and inspect their test results. Progress tracking, an AI mentor and classroom tools share the same workspace.
Development details
- Context
- There is a substantial step between reading about Python and writing a working solution independently. I built PyLab as a place to attempt small exercises, inspect errors and pick up where you left off.
- My contribution
- I developed the React interface and Django API, connecting Monaco Editor to starter code, exercise tests and submission records. I added projects, flashcards and mentor support to the learning paths. XP, badges and daily quests make progress visible, while teachers can create classrooms and assign homework.
- Architecture
- Django sends execution requests to a separate runner service on an internal network. The runner starts a Docker container for each execution with networking disabled and time and resource limits, then returns output and errors to the API. PostgreSQL stores learning and submission records; Redis handles caching. Student code execution is separated from the web application.




