Hamburger Menu Icon
The source code is private on myGitHubbecause some of these are academic works. But feel free toreach outif you want to see the code.
Python
Pac-Man and Other AIs
Toronto, ON
Jan 2024 -- Apr 2024
  • Created a artificial intelligent pac-man agent that explored paths through the mazes, to both reach a particular location and to collect all food efficiently. Used DFS, BFS, UCS, varying the cost function, A* (with many admissible heuristics, and even good heuristics for sub optimal performance, but better speed).
  • Engineered a artificial intelligent pac-man agent, that completed the pacman game while avoiding the adversarial ghost. Agents included reflex agents, Minimax (with and without alpha-beta pruning), Expectimax (with different evaluation functions).
  • Built artificial intelligent agents to use Markov Decision Processes and reinforcement learning to solve various problems, like grid world, simulated robot controller (Crawler) and Pacman.
  • Developed artificial intelligent agents to hunt ghosts down in ghost busters, used bayes nets and factors to infer the location of the ghosts, with variable elimination.
Python, C, Bash, Wireshark
CTF Challenges
Toronto, ON
Jan 2024 -- Apr 2024
  • Hacked networks to conduct different types of attacks, like packet sniffing (with wireshark, and scapy python library), malicious gateway, APR spoofing, ICMP Ping flood, TCP-syc flooding, TCP connection reset, DNS cache poisoning, http sniffer, ssl striping, as well as doing general penetration testing (using nmap, openvas, metasploit).
  • Looked at rainbow tables to reverse hashed passwords.
  • Hacked systems using different attacks like buffer overflow (Stack Smashing Attack (Branching), Stack Smashing Attack (Shellcode), Adjacent Memory Shellcode), TOCTOU, hidden malware (malware inside a Debian package).
  • Hacked web applications using various attacks like Incomplete Mediation, SQL injection (SQLi), Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF).
  • Wrote a protocol that is similar to TLS version 1.3, that used the Diffie Hellman key exchange algorithm.
  • Worked with different public and symmetric key algorithms like Caesar Ciphers, Substitution Ciphers, Poly alphabetic Ciphers, One Time Pad Ciphers, Stream Ciphers (RC4, Salsa20/Chacha20), Block Ciphers (DES, AES), RSA, ECC. Also exploited different vulnerability like key reuse attacks, known plain text, etc.
  • Explored cryptographic hash functions and message authentication codes (MD5 SHA-1, etc), and exploited different vulnerability like hash length extensions. Also used GPG to encrypt and sign messages.
Python, Git
Langchain
Toronto, ON
Sept 2023 -- Dec 2023
  • Contributed to an open-source python repository called Langchain.
  • Developed new tools that allowed AI agents to access information on the google such as google jobs, google finance, google trends, and google lens by calling a external API and parsing the data for the AI agent.
  • Wrote test cases and example docs for the new tools.
React, Express, MongoDB, Docker, Web Sockets, Git
Collaborative Web Builder App
Toronto, ON
Sept 2023 -- Dec 2023
  • Built a drag and drop website builder with React and expressJS, that allowed multiple users to work on the same site and chat using web sockets and allowed them to share their videos and audio with webRTC.
  • Used Cookies to store user sessions, and OAuth to authenticate users.
  • Deployed the website on a google cloud virtual machine using docker images for the frontend and backend.
  • Deployed using a nginx reverse proxy to have both the front and backend on the same machine.
  • Wrote a shell script to help automate the deployment process.
Java, MySql
Mock AirBnb Database and Backend
Toronto, ON
May 2023 -- Aug 2023
  • Developed a replica database of Airbnb in MySQL.
  • Allowed users to add listings with multiple amenities for any dates and allowing other users to rent out the listings
  • Normalized the relation into 3NF
  • Built a backend Java application that allowed users to CRUD items into the database.
MySql
Mock Twitter Database
Toronto, ON
May 2023 -- Aug 2023
  • Designed a mock Twitter mySQL database allowing users to create tweets and comments, like other users' tweets and comments, and retweet others' tweets.
React, MongoDB, ExpressJS, NodeJS, Jira
Hype Web App
Toronto, ON
May 2023 -- Aug 2023
  • Collaborated with a startup founder to build a MERN platform facilitating interaction between students and companies for internships and competitions.
  • Developed a short polling chat application within the platform for users/companies interaction.
  • Automated the deployment process using Git actions to build Docker images and push them to Docker Hub.
  • Used Git Flow including merging, rebasing, and PRs, and release management.
  • Tracked team progress with 2 weeks agile sprints, and Jira as a management tool
  • Scoped project by creating user stories, use cases, personas, acceptance criteria, and estimating stories
Python
Machine Learning News Article Classifier
Toronto, ON
Jan 2023 -- Apr 2023
  • Implemented and evaluated classifiers for labeling news articles into five categories using Naive Bayes, Gaussian class conditional, and k-nearest neighbors classifiers.
Python
Machine Learning Audio Emotion Classifier
Toronto, ON
Jan 2023 -- Apr 2023
  • Developed and evaluated an SVM classifier and an SVM classifier with PCA to predict whether the emotion associated with a human audio signal is positive or negative using Mel spectrogram and chromagram features.
Python
Machine Learning Image Imprinter
Toronto, ON
Jan 2023 -- Apr 2023
  • Applied radial basis functions to restore corrupted images in a painter program.
Python
Machine Learning Orange Classifier
Toronto, ON
Jan 2023 -- Apr 2023
  • Wrote a basic logistic regression script to classify objects as oranges based on width and height.
Python
Machine Learning University Admission Predictor
Toronto, ON
Jan 2023 -- Apr 2023
  • Developed and compared models for university admission prediction using linear regression and k-means++, including clustering the data before applying linear regression.
C
Pintos Operating System
Toronto, ON
Jan 2022 -- Apr 2022
  • Enhanced the basic Pintos OS by incorporating features like context switching between threads, support for user programs, virtual memory management, and implementation of a file system.
  • Improved Pintos to efficiently handle multithreading by managing interrupts, implementing context switching with a Multilevel Feedback Queue scheduler, and ensuring proper synchronization using locks and semaphores to avoid race conditions.
  • Extended Pintos to support user programs by implementing system calls, managing the process control block, and separating user threads from kernel threads.
  • Implemented virtual memory support in Pintos using paging with swapping, memory management with the buddy system, and page swapping with a second chance algorithm.
  • Enhanced Pintos with a more efficient file system design, incorporating features like inodes, multi-level index files, directories, and a buffer cache for improved performance.
HTML5/CSS3, Javascript, Flask, SQLite, Git
Web Learning Management System
Toronto, ON
Jan 2021 -- Apr 2021
  • Created a website that allowed student and teachers to interact, by allowing teachers to post lecture material, assignments and grades, and allowed students to submit assignments and ask questions on a discussion board.
  • Engineered a responsive website using HTML/CSS and JS in the frontend as well as Python Flask, and SQLite in the backend.
Assembly
Asteroids Game
Toronto, ON
Jan 2021 -- Apr 2021
  • Built a asteroids dodging game in Assembly
C
Simple Server and Client
Toronto, ON
Jan 2021 -- Apr 2021
  • Employed signals to interrupt programs and sockets to establish two-way communication between a simple server and client.
C
Machine Learning Image Number Classifier
Toronto, ON
Jan 2021 -- Apr 2021
  • Developed a machine learning handwritten number classifier using kNN with a 97% accuracy rate.
  • Enhanced the machine learning handwritten number classifier by transitioning from kNN to a decision tree, reducing running time from 45 minutes to 12 minutes.
  • Implemented multiprocessing to accelerate the classification of 10,000 items, reducing processing time from 45 minutes to 5 minutes by distributing work across multiple forked processes and communicating via pipes.
  • Utilized makefiles for efficient building and compiling of programs.
Java, SVN
Mock Linux Shell
Toronto, ON
Sep 2020 -- Dec 2020
  • Developed a mock (Linux) Shell in Java, employing various features of object-oriented programming.
  • Created an abstract command class to facilitate easy development and extension of new commands (mkdir, ls, cat, redirection, and more).
  • Engineered a virtual file system using a tree structure.
  • Implemented a text-based save file format to preserve the current state of the shell for future loading.
  • Engaged in a 2-week agile development cycle for rapid development and testing using SVN to version control.
  • Conducted testing of classes using JUnit test suites and mock classes.
  • Utilized CRC cards for brainstorming the design of object-oriented software.
Java, XML, Git, Andriod Studio
Budget for the Masses
Toronto, ON
Feb 2020
  • Engineered a budgeting Andriod app for the everyday person.
  • Built and tested over a 3 day period during the Hack the Valley 4 Hackathon.
C
Naive Movie Database
Toronto, ON
Jan 2020 -- Apr 2020
  • Developed a naive database using C, employing linked lists and structs to manage movie information and reviews.
C
Music Sequencer
Toronto, ON
Jan 2020 -- Apr 2020
  • Created a music sequencer with functionalities for storing, organizing, and manipulating musical notes, utilizing a binary search tree and supporting music harmonizing.
C
Missing Ingredients Swapper
Toronto, ON
Jan 2020 -- Apr 2020
  • Devised an ingredients swapper algorithm utilizing k-nearest neighbors and a graph-based ingredient network, emphasizing graph concepts and recursion.
C
Caesar Cipher
Toronto, ON
Jan 2020 -- Apr 2020
  • Designed a Caesar cipher tool for message encryption and decryption, along with a method to break a Caesar cipher.
C
Tissue Sample Simulator
Toronto, ON
Jan 2020 -- Apr 2020
  • Developed a tool simulating tissue samples with various cell types and bacteria using defined functions and data structures.
C
Consulate Line Up Tracker
Toronto, ON
Jan 2020 -- Apr 2020
  • Implemented both good and bad versions of a consulate line up, one utilizing a queue and the other a stack built from scratch.
C
Sudoku Solver
Toronto, ON
Jan 2020 -- Apr 2020
  • Designed a sudoku solver using recursion capable of solving all solvable 9 by 9 sudoku problems in less than 10ms.
Python
Tweet Parsing Library
Toronto, ON
Sept 2019 -- Dec 2019
  • Developed a tweet parsing library to validate tweet content.
Python
Elevation Map Library
Toronto, ON
Sept 2019 -- Dec 2019
  • Designed an elevation map library with functionalities such as peak detection and map resolution reduction.
Python
School Club Recommender
Toronto, ON
Sept 2019 -- Dec 2019
  • Engineered a club recommendation library utilizing databases of people, their friends, and their club affiliations.