A Little More About My
Python Projects
Through Python, I’ve built a variety of projects that strengthened my problem solving and coding fundamentals. From practical applications like a restaurant ordering system to creative experiments with Pygame. These projects taught me how to break problems into steps, write clear logic, and keep improving through testing and debugging.
In this section, you’ll find a mix of my Python projects, each showing how I’ve applied coding to solve problems, create interactive experiences, and keep building my skills.


Project #1: Pygame - Reboot Earth
One of my biggest coding milestones was my culminating project (Grade 11 ICS3U Course), built with Pygame. For this, I designed and programmed a complete interactive game from scratch, where I had to combine everything I had learned in Python, from variables and loops to functions, event handling, and object-oriented programming. The project challenged me to think not only about how the game looked on screen but also how it worked. I had to manage player input, create movement and collision logic, and set up win/lose conditions that made the game functional and engaging.
The hardest part was debugging; small mistakes like indentation errors, misused variables, or incorrect loops could break the game entirely. But that process of testing, fixing, and re-testing taught me resilience and sharpened my problem-solving skills. What made the project especially rewarding was how it pulled together different layers of coding: logic, visuals, and user interaction all in one place.
Where this project stood out for me personally was in how I could apply my design skills. Instead of just making a functional game, I thought about how the visuals and user experience would affect gameplay. I designed my own game assets and made choices about color palettes, contrast, and layout to make sure the visuals were clear and engaging. For example, I used my experience from thumbnail design to make the main screen attention-grabbing but also functional, ensuring players could immediately understand what was happening without being overwhelmed.
I also treated the interface like a branding exercise. The fonts, color choices, and placement of menus were all intentional, designed to give the game a cohesive feel rather than looking like random shapes on a screen. That crossover between design and coding gave me a better appreciation of how aesthetics and functionality must work together for a project to succeed.
Finishing this project was a turning point for me. It proved that I could take an idea from concept → pseudocode → prototype → finished product and make something people could actually interact with. More importantly, it made me realize that the connection between design and programming is exactly where I enjoy working the most.
Below you will find a video walkthrough of my Pygame, Reboot Earth, where I explain the code and run through the design, the idea, and all win/lose scenarios of the game. You will also find snapshots of certain parts of the game as well.













Project #2: Discord Bot - For Time Off Requests
Another major project I worked on was building a Discord bot designed to handle time-off requests in a server. The idea was to create a tool that automated a repetitive task: allowing members to submit requests for time off and having the system log, approve, or notify managers without needing manual tracking.
On the technical side, I coded the bot in Python and integrated it with the Discord API. I programmed features such as commands for submitting requests, logging them in a structured way, and sending notifications. This required me to understand how APIs work, handle user input through chat commands, and manage multiple conditions for different scenarios (such as approved, pending, or denied requests). I also hosted the bot on Wispbyte so it could run continuously, which gave me experience with deployment and cloud hosting.
Beyond functionality, I applied my design and UX thinking to the way the bot interacted with users. I made sure the bot’s responses were clear, concise, and easy to follow, almost like designing an interface, but through text.
The project also pushed me to think about scalability and efficiency. Handling requests meant I needed to build a system that wouldn’t break if multiple people used it at the same time. I learned how to debug issues around command handling, server permissions, and message formatting, which improved my ability to troubleshoot in various coding environments.
This project was important because it showed me how programming can go beyond experiments and directly solve practical problems. Unlike my game project, which focused on creativity and visuals, this bot was all about automation and utility. It gave me confidence in my ability to design tools that people could actually use in real workflows, while also reinforcing the connection between problem-solving, coding, and user experience.








Project #3: Restaurant Ordering Program
This project was my first step into building a functional application with Python. The goal was to create a digital restaurant ordering system where users could browse a menu, select items, and see their total cost calculated automatically. Unlike smaller coding exercises, this program needed to be structured, clear, and user-friendly so it could actually simulate a real-world scenario.
On the technical side, I built the program using core Python concepts like loops, functions, and conditional statements. I implemented menu options, pricing, and order tracking in a way that allowed the system to handle multiple inputs without crashing. For example, the program could recognize invalid entries, recalculate totals when items were added or removed, and generate a final bill at the end. This gave me hands-on experience with control flow and designing systems that can adapt to user choices.
Beyond the logic, I used my design thinking to make the program intuitive. Even though it ran in the IDE Terminal, I structured the menu layout, spacing, and instructions so users could navigate it easily. My background in design helped me realize that even in text-based programs, clarity and presentation make a huge difference in how users experience the system.








© 2025 Muhammad Hammad