Motorsport Racing Visualization

Most capstone projects are proposed by industry partners, but mine was designed by myself and an industry partner was recruited. My team built a data visualization with some machine learning features that collects and displays telemetry data from a motorsports simulation called rFactor 2. We collected the data using a C++ plugin and hosted the visualization using Python and Dash (plotly). Motorsports is a data-driven team sport that requires expert knowledge of how the settings of a car impact performance and endurance. Our goal was to build a modular project that would help distill the data down to meaningful graphs and allow the community to add features as well.

Our project was featured in the capstone festival and we achieved our goal of improving lap times by one second over a two-mile course. Simulations are widely used to prepare car setups for real race weekends, and our tool improves on the existing alternatives because of its focus on supporting a simulation (rather than real-world telemetry), and it has the potential to be the community’s gold standard if we support the most popular consumer simulators. We plan on releasing it open-source soon. Stay tuned.

    Unfortunately, when my school account was deactivated, I lost this project and presentation with it. I just kept the experience!

2017 CSUMB Hackathon Winner

With a 2nd place in the previous year, I was determined to take 1st in the 2017 CSUMB hackathon. The projects were required to help in disaster response, and my team decided to build what was essentially Facebook’s Safety Check, but our intention was to make it more accessible to those without Facebook accounts and to countries where Facebook is either blocked or not popular. Because we only had 48 hours to build a fully functioning prototype we focused on creating something simple, visually appealing, and scalable in a disaster situation. We all had different roles, and my role was to deploy the application to the cloud. My experience developing full-stack web allowed me to help my teammates when they got stuck and we developed at a fast pace. We chose a limited set of features, and it performed flawlessly when the judges came to evaluate our project. It was a very satisfying experience, and working with other dedicated, and talented programmers is always a privilege.

Problem Solvent

CST438 Software Engineering was a project-based class required by all software engineer concentration CS students. As a final project we had to incorporate everything we had learned from UML diagrams, unit testing, continuous integration, and agile development strategies. Our project was a Stack Overflow inspired project designed to let students solve real world community problems involving web development, engineering, business and more. Students and schools can compete to provide the best solutions, and students can proudly present their achievements on the platform to future employers.

We used Django and it was challenging at first, but the benefits of using an ORM and Django accelerated the development process as we got more comfortable. We struggled through trying different database backends, supporting web sockets, deploying it to AWS, and supporting Google login through OAuth. We were proud of what we created, and I have used this experience to create a similar website for a start-up created by fellow CSUMB students.

Click the GitHub link to view our wiki with all of our design documents and more detailed information. Sadly, when my school account was closed, I lost access to the Heroku and CircleCI sites (hosting and continuous integration).

Facelist: Playlist Generator

This project was an exercise in learning Python and integrating various APIs. OpenCV was used to capture an image from a webcam and identify a face. The image of a detected face is analyzed by Indico to determine the emotion of the person. That emotion is then used to pick songs on SoundCloud and then it streams those songs using a VLC library and plays them for the user. We also added a feature to create a photo strip and save your photos to your computer. The application supported Linux and Windows and used Tkinter to create a cross-platform GUI. We had a lot of fun demonstrating our project to friends, because everyone loved making a face and hearing the resulting song.