Portfolio


Music Master

Developed using Flask / Python / ReactJS / SQLite

This product aims to revolutionize the way musicians practice and learn music. By leveraging cutting-edge technology, musicians can improve their tempo and notes with pinpoint accuracy, without relying on someone else. It allows musicians to scan and upload a PDF of sheet music to our platform. Our software then compares the sheet music to the musician's recording, visually gauging whether they are following the tempo and playing the correct notes. By providing musicians with instant feedback on their overall performance and identifying specific areas for improvement, Music Master makes practice sessions more productive and efficient. Once a recording has ended, the musician can access a detailed performance report to track their progress over time. My key contribution was developing a unique JSON comparison algorithm, drawing inspiration from DNA analysis techniques, which powered the core functionality of the tool. To ensure consistency in our development environments, I led the experimentation and implementation of initializing a Docker image. Furthermore, as the project scrum master, I orchestrated our agile practices for the team of 5. This involved coordinating weekly scrum stand-ups, planning sessions, and retrospectives, which kept our project on track and fostered effective collaboration. Another significant aspect of my contribution was designing and maintaining three entities within our database, ensuring they met the 3rd normal form standards. This careful structuring provided a robust and scalable foundation for the tool's data management.

Student Engineers' Council's Budget Request System

Developed using Ruby / Ruby on Rails MVC Framework / PostgreSQL

As a member of an Agile team, I have developed and deployed a web application using the Rails framework and PostgreSQL, which was a budget management system for the student engineers' council. I served as the scrum master and successfully led agile ceremonies, exceeding customer expectations. In addition to my primary responsibilities, I have also played a variety of roles including analyst, designer, developer, tester, and trainer. My diverse skill set and willingness to take on new challenges have allowed me to make significant contributions to my team and projects. For example, I improved the efficiency and accuracy of managing member participation by 100%. These experiences have helped me grow as a professional and prepared me to take on new challenges in software engineering.

Living Locator

Developed using ReactJS / NodeJS / RESTful APIs

As a member of an Agile team, I developed a mobile-friendly web application to help users find the best place to live. To do this, I sourced data and developed an algorithm to rank locations based on user preferences. These preferences included factors such as school performance, cost of living, salary, and crime rate. I led the front-end development on an agile team of four, and we were able to deliver a valuable resource for users to make informed decisions about where to live. The application was successful in providing users with useful and accurate information, and it helped them to make informed decisions about their living arrangements. This project was a rewarding experience that allowed me to demonstrate my skills in software development, data analysis, and team leadership.

File Transfer Tool

Developed using C++

Constructed a client and server process that can transfer any file type over a TCP/IP internet connection by using byte buffers.

RayTracer

Developed using C++ and OpenGL

Constructed a complete ray tracer for static rendered objects using openGL and C++. Implemented a bounding box for object file rendering to increase performance of ray tracer.

Dungeon Crawler Game

Developed using C++

Created a game that can be played through a terminal window with multiple levels and enemy entities using object-oriented programming.

Paint Tool

Developed using C++ and OpenGL

Developed a simple paint tool similar to MSpaint using OpengGL.

Moveable Robot

Developed using C++ and OpenGL

Simple program that allows you to select a part of the robot and move it around. Powered by OpenGL.

Rasterizing/Texture

Developed using C++ and OpenGL

Experimentation with using openGL to rasterize an object file with different methods and to texture map the object using nearest neighbor, bilinear interpolation, or mipmapping.

ObjRasterizationShading

Developed using C++ and OpenGL

Experimentation with shading an object file using GLSL. Shading methods implemented include Gouraud, Phong, and a simple silhouette shader.

Graph Sorter

Developed using C++

Assembled a program that utilizes hash tables to implement a graph data structure that can be sorted if no cycles exist.

Library Database

Developed using C++

Built a program that is able to add, remove, and print records to and from a database. I've also implemented the ability to import and export the entire database by using a doubly-linked list underlying data structure.