ALEXANDER BRIDGES E-PORTFOLIO ABOUT ME EDUCATION EXPERIENCE SKILLS CONTACT
Me

Alexander Bridges

ABOUT ME

Alexander "Alex" Bridges

Human. Developer. Hero. I'm 24 years old, living in Westfield, IN. Only a few things stay constant in my life. I drive a tan 2002 Honda Civic, and while it's check engine light is a constant antagonist in my life, I still appreciate the work it does for me. My MacBook Pro is practically glued to my back, but at 7.5 years old it is also showing it's age. I wouldn't have it any other way.

EDUCATION

Alexander "Alex" Bridges

In December of 2019, I graduated IUPUI with a Bachelor of Science in Computer Science.

I enjoyed a varied course load. I've taken classes in Law, Cellular Biology, Organic Chemistry, Photoshop/Illustrator, and even Music Theory.

EXPERIENCES

Alexander "Alex" Bridges

Below, I have curated a number of projects that I am particularly proud of, as an example of my work. These projects include contracted freelance projects, personal projects, and a couple class projects. Click on the project titles below to learn more about them.

Unity Rate Calc: [GitHub link redacted]

Unity Rate Calc was the first large project I ever completed. Unity Financial Life Insurance Company is a world class financial company specializing in offering prepaid funerals. I was tasked with turning their rate card into a smart phone app. Insurance agents would use printed cards and math skills to calculate rates for their customers. Unity had a website that calculated some of the rates, but agents hated it. The new app works offline, on iOS and Android, and offers a modern interface for agents to securely and accurately calculate rates.

During this project, I had to learn four programming languages: Objective-C, Swift, Java, and Kotlin. I also got valuable experience working with a client on my own as a contractor. As the only person working on this project, I had to learn how to manage my time and establish deadlines for myself in order to meet developer-client obligations.

Oubliette Noir: [GitHub link redacted]

After the Unity project was complete, I had a large chunk of my summer still left. I decided I would try my hand at making a game. Oubliette Noir was the result. An iOS-only title, Oubliette Noir effortlessly combines the genres of arcade and puzzle. You play as the White Square, tasked with saving three fellow squares from the Oubliette, a procedurally generated dungeon. As you find them, they link to you, following you like a train of ducks. However, Circles lurk among the shadows, always watching. Bumping into one will scare your followers, breaking their link to you and requiring you to collect them again. Once you've collected all three White Squares, the Circles turn from simple hazards to deadly hunters, relentlessly tracking you as you make a mad dash to the exit.

While the game wasn't a commercial success, it taught me many valuable lessons. The procedural dungeon required a complicated algorithm that demanded extensive CPU and memory optimizations. I learned how to leverage the multiple cores of an iPhone to accelerate the game. The individual pieces of code had to be organized into many different modules. This strategy allows me to make my next game much faster since I've already written a seedable random number generator, a tamper-proof saving system, and a system for in-game dungeon sharing with friends. In addition, pathfinding for the circles was a huge challenge. I initially wrote an algorithm that coded a perfect patrol route that visited all of the corners of the map, but took over an HOUR to run. To remedy this I improved the process using a version of A* pathfinding optimized for a 2D grid, allowing the pathfinding to run as fast as the level generation.

BAConnect: https://github.iu.edu/alebridg/N324-BAConnect

BAConnect is a site made for a class focused on server-side web programming. It functions as a friendship-only dating site where we match mentors with mentees. Users can sign up, verify their profile by clicking a link in an email, and then are allowed to browse other profiles and either get mentored or mentor someone else. Specifically, this site was made for the BACI, or the Burmese American Community Institute, for matching Burmese refuges with established professionals. The site also features many admin management features, allowing an admin to make match suggestions and even approve matches for users who have a spotty internet connection. Admins may also patrol user accounts and edit them to remove obscene content.

BAConnect was my first experience working on a large project as a group. This was hard for me, because in my past few projects I had ultimate control over every aspect. Even though I was the project leader for the group, I had to learn how to listen to the opinions of the other members. I also had to learn how to manage and keep people on task. I learned quickly how to distribute tasks such that we still met milestones despite fluctuations in our group dynamic. I spent many late nights perfecting this project, ensuring it met all the client's requirements.

Deep Green: https://github.iu.edu/alebridg/Deep-Green

Deep Green, named after the chess computer Deep Blue, was an app made for a data science class that analyzes past stock market trends and has a rudimentary knowledge of when to buy and sell. This AI was coupled with a turn-based game interface that allows a user to play the stock market against the computer during one simulated month.

This was my first project completed with a small group. I found a small group with two other members was easier to manage as a group leader. I particularly enjoyed working on the AI for this project, which uses a neural network to analyze the past five days of market results and gives each stock a 'weight'. Large weights indicates an unstable stock, with positive weights telling the system to buy and negative weights telling the system to sell. I found that the computer wins 90% of the time! Players could cheat and look at the historical data, but that's against the rules.

SKILLS

Alexander "Alex" Bridges

  • Languages

  • C
  • C++
  • Java
  • Objective-C
  • Swift
  • Python
  • R
  • Concepts

  • Agile Development
  • Artificial Intelligence
  • Algorithms
  • System Design
  • Concurrent Design
  • Synergy
  • Buzzwords
  • Courses

  • Data Science
  • Data Structures
  • Data Mining
  • Project Management
  • Artificial Intelligence
  • Law
  • Server-Side Web

CONTACT ME

Alexander "Alex" Bridges