Hello, I am
Hi, my name is Idrees Hassan (see above) and I am a software dev working on something fun. I have been designing creative, innovative, and unique projects for over nine years now, ranging from a Tetris playing genetic algorithm to a fundraising graduation cap. Using JavaScript, Java, TypeScript, Python, and an assortment of other languages, I work to create software that is both extremely functional and easy to use. Feel free to check out some of my favorite open-source projects below. And if you want to follow along as I go, you can follow me on Twitter, watch me on YouTube, or reach out on LinkedIn.
Apple Watch Poketch
Purpose: Recreate the Poketch from Pokémon on the Apple Watch
Languages: Swift w/ SwiftUI
To celebrate the remakes of my very first Pokémon games being released, I recreated the PDA-like 'Poketch' from Pokémon Diamond and Pearl on my Apple Watch! Using SwiftUI and the new features in WatchOS 8, I was able to create a perfect replica of the iconic virtual device. Click here to learn more about how I brought an application from a 15 year old video game onto real-life hardware (with some added bells and whistles)!
Design My Graduation Cap
Purpose: Graduate in style while helping Afghan refugees
Languages: Python, JavaScript (Node.js)
Designing a graduation cap is hard, so after going through four years of college and a pandemic, I figured I'd let you all do it for me! Using a fragment of a billboard and a Raspberry Pi Zero W, I've created a graduation cap that can display whatever you want! And to make things more interesting, I let anybody who donated to a charity supporting Afghan refugees put a design or message of their choice on my cap. Click here to learn more about how I turned my head into billboard to help raise over $2,000 for refugees!
TetNet - Evolving Tetris AI
Purpose: Tetris 'AI' powered by genetic algorithms
Languages: JavaScript
I am terrible at Tetris. I am lucky if I can clear a couple rows before I inevitably lose. To make up for my shame, I decided that I would create an algorithm play the game for me. Introducing TetNet, the AI that plays Tetris to win. Using evolutionary algorithms, TetNet slowly evolves from a randomized algorithm to a genetically perfect Tetris playing master. Luckily the Skynet reference is just a joke, as TetNet is far too interested in Tetris to take over the world. For now.!
Celeste - Make a wish!
Purpose: Minecraft plugin to add shooting stars and meteor showers
Languages: Java
Named after that adorable owl in Animal Crossing, Celeste is a Minecraft plugin that adds shooting stars, falling stars, and meteor showers to any Minecraft server while only utilizing the existing particle system. Used by over 100 Minecraft servers for some reason, Celeste gives that celestial ambience we all felt was missing from our favorite virtual box of Legos.
Dave the Robotic Arm
Purpose: To build a robotic arm that sounds like a middle aged Briton
Languages: Python
Ever wanted to play chess on a physical board with someone a thousand miles away? Nor have I, but I'm building a bot to help me do it anyway. Dave is an open source, computer vision powered, 3D printed robotic arm. The goal of this project is to create a game playing robot that can mirror the moves of a player thousands of miles away with the same robot, using computer vision to interpret the board and the player's actions.
Cerebrum.js - ML Library
Purpose: To create a simple neural network library in JavaScript
Languages: JavaScript
The power of deep learning in a neatly wrapped, purely vanilla JavaScript library. Featuring the N.E.A.T. algorithm (Neuroevolution of Augmented Topologies) and classic backpropagation, I created this project as both a learning tool and a reference for those who want to make their own implementations of neural networks. After all, there is something very meta in learning about machine learning.
Temperature Simulation
Purpose: To visualize molecules at different temperatures
Languages: JavaScript
In preparation for a job that involved designing science simulations for linguistically diverse eighth graders, I designed a little particle simulation in HTML5 and JavaScript over a weekend. Using the bar to the right, you can adjust the temperature of the particles. As the particles become hotter, their temperature changes and they are more inclined to bounce about the container. To be perfectly honest, I just wanted an excuse to program something with all those colors.
World's Best Paper Airplane
Purpose: To make the world's best paper airplane
Languages: Paper
One of the first projects ever featured on this site, the Eagle Eye paper airplane was made back when I was in 8th grade to great fanfare. Somehow this has become my most popular creation with over 150,000 views on Instructables, so I'd be amiss to not include it here. With instructions written by a 13 year old accompanied by photos taken on a flip phone, it is truly my best work.