Built by Grand Gardenias for Python Discord's Summer CodeJam 2025. Challenge theme: Wrong Tool for the Job using Python in the Browser via Pyscript.
Instead of typing code like a normal human, you now have to catch falling code blocks and arrange them into working programs.
- New File
- Export/Save
- Undo/Redo
- Run Code
- Terminal Output
- Code Falls from Sky
- 5-minute timer counting down
- Questions show up on the left
- Solve as many as you can before time’s up
- Your score = how many problems you solved before the end
- We provide the CORRECT solution
- Arrange the blocks properly to "clear" lines like Tetris
- Wrong arrangements stack up
- Reach the top = GAME OVER
4. We could not finish the multiplayer mode, but it is documented in docs/goals.md
- PyScript
- TailwindCSS
- Python 3.13+
- Node.js & npm
-
Clone the repository:
git clone https://github.com/zishankadri/tetris-bugs.git cd tetris-bugs -
Start a local Server:
cd frontend npm install npm run build python -m http.server -
Open Your Browser to
http://localhost:8000 -
💡 For Contributors: Run
npm run devto auto-update Tailwind while you code.
Congratulations! You now have the most unique answer to "What IDE do you use?"
"Oh, I use Tetris."
code-editor.webm
⚡ CodeRush Video Presentation
https://drive.google.com/file/d/1t6_92z2R_ntOok2yyzjklHpKyxoKZl_g/view🗡️ Roguelike (BETA) Video Presentation
roguelike.webm
✅ Using Tetris as an IDE
✅ Spatial reasoning for coding problems
With some tweaks and backend, this could be a useful tool as a coding qualifier, as we doubt any LLM alone could pass this test.
(in order of contributed LOC):
| Name | Contributions | |
|---|---|---|
![]() |
Luffy | Lead developer, Project architecture, Ideation, Frontend |
![]() |
rxdiationx | Base of CodeRush, sound effects/music, loading screen, Sourcing of problems |
![]() |
Sapient44 | Terminal and code execution, Modifications in roguelike mode, Sourcing of audio |
![]() |
Shivk123 | Meeting facilitation, Initial file structure, Set up Flask backend |
![]() |
mhaxanali | timer logic, pause screen |









