Hello! I am Ben Johnson

Software Developer 🏳️‍🌈

About Me

Introduction

Hey! I'm Ben, a Software Engineer getting my Master's in Computer Science at USC in Los Angeles. My experience in software development has been incredibly rewarding and has allotted me the opportunity to work in all facets of tech development. I have loved learning how software is written, packaged, and shipped to users in many different forms.

I'm driven by a desire to learn and understand. As an engineer, I have made it my goal to have an understanding of how all new technologies work, from mobile app development (React Native), to backend (new Rest APIs), to AI modeling (Reinforcement and Markov Planning), I have relished the opportunity to learn and implement new technologies. This is seen by my extensive experience in the software industry both in an academic and corporate setting.

My passion for new technologies has led me to develop many new projects, including new kits for musicians to help practice, mobile applications for users to share music with public users nearby, and implementing AI algorithms to help users make the best decisions during gameplay. Every project has given me a new opportunity to expand my technical skills and bring something new to the next project.

I am excited for the next stage of technological innovation and how we can achieve it together!

My Skills

Tech Stack.

Languages

Technologies and Frameworks

What I Made

Websites and Applications.

Stock Website

A website designed to allow users to buy and sell stock, favorite companies, and see historical trends. This was in conjunction with Finnhub and Polygon's API toolkits, pushed out on Node.js using Google Cloud Platform.

Card image cap
Stock Application

In partnership with the stock website, this was a mobile application designed to allow users to buy and sell stock, see trends, read articles, and favorite companies from their mobile device. Tested and developed to make sure data is up-to-date by the second.

Card image cap
Play'd Rite

iOS Mobile application for musicians to practice with and get note accuracy information. Users will import sheet music, tempo and key information and then be recorded playing to a click. Once the piece is finished, they will be shown their note accuracy and all spots they were not note-accurate. Using Apple's AVFoundation Kits as well as their frequency analysis tools. Also built with a custom-designed algorithm for reading sheet music and analyzing note accuracy designed for the best performance for musicians.

Card image cap
MusMap

Cross-platform mobile application in React Native that allows users to see what other users are currently listening to nearby on a map UI. Also created to allow users to add and chat with each other. Hosted on GCP through Node.js.

DELET

Cross-platform mobile application in React Native incorporating custom APIs for DELET, a relator company that allows remote showings of apartments and houses. Designed to allow realtors to look at properties, schedule showings, look at live camera feeds for safety, unlock doors, and chat with appointments.

Projects.

Github access available upon request
Viterbi Algorithm Implementation

Developed a Viterbi algorithm to perform temporal reasoning within a Partially Observable Markov Decision Process (POMDP) framework. The project involved executing sequences of actions, making observations, and determining the most probable sequence of hidden states based on a POMDP model. This implementation showcased advanced probabilistic reasoning techniques.

Genetic Algorithm

Applied Genetic Algorithm techniques to solve a multi-dimensional Traveling Salesman Problem, optimizing routes and minimizing total path lengths. This project demonstrated expertise in evolutionary computation and AI-driven optimization strategies.

Kalman Filter

Designed and implemented a Kalman Filter in Python to estimate dynamic systems' states by fusing sensor data with system models. The project highlighted skills in statistical filtering and real-time estimation.

Inverse Kinematics

Wrote a Python script to compute the inverse kinematics for a planar robot, enabling the computation of joint positions to achieve desired end-effector locations. This project showcased expertise in robotic control systems.

RRT Path Planning

Implemented Rapidly-Exploring Random Trees (RRT) path planning in ROS on a Linux virtual machine, simulating and executing the algorithm on a robotic arm. Successfully directed the robot to pick up and place a water bottle at a designated location, combining planning and real-world deployment.

Imitation Learning

Designed a behavior cloning model to evaluate performance on continuous control tasks from the OpenAI Gym benchmark suite. Conducted experiments in Google Colab, analyzing and reporting on the effectiveness of imitation learning techniques in reinforcement learning scenarios.

Sequence Alignment for Biological Data

Implemented a sequence alignment algorithm using dynamic programming with a divide-and-conquer approach. The project efficiently aligned biological data sequences, emphasizing computational biology and algorithm optimization.

Localization

Built a Monte Carlo Localization system for a mobile robot equipped with a planar LIDAR sensor using probabilistic particle filters. Integrated dense LIDAR scans with a pre-generated map to localize the robot in a ROS environment, demonstrating advanced robotics and sensor fusion skills.