Page visited: 31341 times
I am a Computer Science student at McGill University. I make music and animation videos on YouTube. I love art, music, science and being in nature. I also love sports, videogames and anything that can challenge me. I am always up for learning, discovering, designing, building and creating in general.
FreeSpeech is a social media website focused on privacy and encryption. It is a secure instant messaging system with double encryption. There is also a feature called WorldChat where every user can communicate instantly with each other like a group chat for the world.Trito
Trito is a 2D game where the goal is to dodge squares coming your way. The player can move, divide and change color. The game is available on computers with keyboard controls (ASDW) and on mobile devices with touch controls.HomeworkOut
HomeworkOut is a web app that guides you through cycles of 3 minute bodyweight workouts, 22 minute sessions of intense focus and 5 minute breaks. This project promotes wellness during the COVID-19 lockdown (libraries and gyms are closed as of November 2020 in Montreal), and helps you stay as productive as possible.Artistree
Artistree is a python web application that lets you enter an artist's name and outputs a tree with all the other artists they mentioned in their songs' lyrics. It was built by Victor Zhong, Kleard Mama, Sangwoo Han and myself for the PENNAPPS XXI Music Hackathon.
Lines of code: 3,000
I designed and built this website from scratch because I wanted to learn more about social medias and how they worked. I also wanted to dip my fingers in encryption and learn more about the fascinating area of cryptography. I also a way to communicate with my friends that was very secure and encrypted to the point that even I, the person who wrote every line of code, didn't have any way of decrypting the messages between two other users.
I got the idea when I read on the news that Messenger (owned by Facebook) stores all our messages in plaintext. It is more efficient when it comes to an extremely large database of messages, but some people want more privacy and don't want Mark to have the power to read their messages. If someday, the database gets hacked, the hacker could get access to all the messages in plaintext, which is not something that I was very happy to find out. I used AES-256 double encryption. AES-256 has been adopted by the US government and is now used worldwide, so it is very secure. The first encryption is done by the server and the second one is done with a key stored on the user's computer (through the sessionStorage feature of all browsers). This private key is generated by using a hash (with a salt (pseudo-random string of bytes) to protect the hash against rainbow table attacks) of their password, so without someone's password it is impossible to decrypt the messages, since hashing is not a reversible function. The passwords are also stored separately as hashes (different hash, salt than the private key) so it is also impossible for me to know the passwords.
I wanted to make a website where the user has all the power in terms of privacy and where they didn't need to trust anyone but themselves, not even the creator of the website.
This project took a lot of work and it was a completely new experience for me. I designed everything on the website which took a lot of time. The buttons took a surpising amount of time since CSS is not very intuitive in my opinion when it comes to positions of elements on a page.
If you want to learn more about how the encryption of messages and passwords work, you can visit about FreeSpeech
You can test the project here: FreeSpeech
Lines of code: 900
You can test the project here: Trito
Lines of code: 500
This full-stack website won a prize in the 2020 Code.Jam Hackathon. (Devpost Page)
The Code.Jam hackathon was based on the theme: Digital by Default. We had 30 hours to design/build a project that would help people use digital technologies for their everyday needs.
That's when I had an idea for a workout & study timer web app since I needed one myself.
As of November 2020, all gyms and libraries are closed and most university classes are held online. Most of my friends in universities and I are having a harder time concentrating without being in a library or a classroom since that's what we are used to. There are so much more distractions in our homes. Furthermore, since all gyms are closed, it has been very hard to stay in shape during these times, especially since we do everything from home and don't even need to walk to go from class to class, to get to school, etc. I also read in an scholarly article that physical activity helps us with our concentration and improves brain health (src: Harvard Health Publishing).
To help my friends and force ourselves to be more productive in our studies, to be more active, I decided to create this workout+study timer which is similar to the Pomodoro Technique but also incorporates 3 minutes of intense physical activity every 30 minutes to help boost concentration and help students get more easily into the FLOW state.
Designing, building and debugging alone, from start to finish, a full-stack working website and uploading it online in 30 hours was something I never did before and really pushed me to work hard. Putting this website online made it accessible to my friends who were also struggling to concentrate and to do workouts on a daily basis.
You can test the project here: HomeworkOut
Lines of code: 700
This web application was built by Victor Zhong, Kleard Mama, Sangwoo Han and myself for the PENNAPPS XXI Music Hackathon. The background Image for the website and the logo were all made by us using Adobe Photoshop.
Music is an international language that everyone can experience and enjoy. Artistree is all about music's astonishingly intertwined world. Whether it be a feature on a song, a shout out, or even a diss track resulting from a feud, Artistree has got you covered. Every time an artist mentions another artist in one of their songs, Artistry will analyse the lyrics from that Artist and when it finds another artist, it will graph that relation. This way, it is incredibly easy to visualize and picture connexions between Artists, through their lyrics. In other words, it will show a tree graph of different artists, hence "artist"+"tree"="artistree". Going through all of an artist's songs and lyrics allows us to piece this complicated puzzle together and present it in a fashionable manner. We can also see how much contact and influence an artist has over another and has in general. These artists show us that music is not a solitary adventure.
This project was very hard to finalize especially because of the time constraint but it was a great challenge. Because the hackathon was completely remote (COVID-19), this project also taught us how to efficiently communicate and work in teams remotely and made us more proficient with github. We were extremely productive during those 48 hours.
You can test the project here: Artistree