Todd Gibbons

iOS Developer Portfolio

MLB

I was a member of the team at MLB that develops and maintains the official baseball app for iPhone. At the time, it was the second-most popular sports app in the world, featuring live and archived game streaming, statistics, schedules and more. I worked on features throughout the app in support of iPhone, iPad and Apple Watch.

Some of the most interesting work involved audio and video streaming, and implementing the network API connecting the app to the official baseball stats database. This work included frequent collaboration with product, design, and testing teams. In addition to new feature development and debugging, I was also involved in several redesigns and refactorings.

Experian

As a contractor for MEDL mobile, I was part of a team of four developers maintaining the Experian app, a tool for consumers to track and improve their credit scores. The project was heavily dependent on the highly-sensitive consumer credit database, so part of my job involved frequent collaboration with the server-side team to develop and improve the networking API.

The project was developed in a Jira-driven agile environment and involved regular coordination with product, design and testing teams. The iOS devs met regularly with the Android team to help them mimic the iOS UX on Android. My favorite part of the project involved working with the design team to implement their clever, original UI widgets that allowed users to explore their credit data in interesting ways.

Tracer

This is a simple musical memory game I created which involves tracing patterns on a grid. It’s an atmospheric, casual experience. I created the sound effects using an analog synthesizer. The result is a simple, pleasant and engaging experience. I included a Jam mode which allows the app to also be played like a musical instrument.

I was the sole developer of this project, which uses an MVVM architecture and includes inline documentation and unit tests. I wrote the code using a combination of SwiftUI, Combine and UIKit. The source is available on Github.

MLB for tvOS

I was part of a team of four developers at MLB who re-wrote the Apple TV MLB app from scratch. I was the lead developer of the streaming video player component that drives the viewing experience.

Video players on Apple devices can either be made using a turnkey, non-modifiable player, or you can write the whole thing from scratch. We went with the latter option in order to implement some very cool designs that display scores and statistics inside the player transport UI while scrubbing, as seen in the screenshot.

I also implemented a complex, proprietary DRM-enabling streaming API as part of this work. The project was well-received by stakeholders and customers. The app is currently available on the Apple TV App Store.

Gameday

I worked as a senior iOS developer with a company called Sportslabs that specialized in collegiate athletic apps. Our main product was Gameday, a template-driven iOS app we customized to fit the needs of the athletic programs for over fifty major universities. This allowed students and fans to follow their favorite sports programs, including schedules, scores, stats and live streams.

This network-intensive app involved close coordination with our back-end team in support of a proprietary database that served all the client schools. We supported a custom-built CRM for our customer support team for responding to real-time customization requests without having to release new versions of the apps. Unfortunately, Sportslabs closed its doors in 2017 and Gameday is no longer available.

MyUT Austin

At Sportslabs, in addition to my work on Gameday, I was also part of a team of two developers who created the official student app for the University of Texas at Austin. We modularized and re-purposed our Gameday collegiate athletics app as the sports component and created the rest from scratch.

We included several features based on existing network APIs made available to us by the UT Austin tech team. These included course schedule management, student bank account management, campus maps, bus timetables, event schedules, office hours and other academic resources.

Scenescapes

I worked with a Mac software company called Amuse to port their successful MacOS app My Living Desktop to iOS. This resulted in a series of five apps called Scenescapes which, like their Mac predecessor, presented calming, atmospheric video loops to transport the user to relaxing environments.

Amuse produced the video for these apps and I wrote the code with Objective-C, as this was before the introduction of Swift. The app shipped as a trial version with limited content, and I used the Storekit API to allow the user to make in-app purchases to unlock the rest of the content.

This project involved heavy use of Apple’s AVFoundation framework. The biggest challenge in completing this was finding a way to get AVPlayer to allow for seamless video looping without any skipping a thte loop point- something it was not designed to do (at least back then!) This series of apps was first released in 2013 and two of them are still available on the app store.

Entangled

I worked with the folks at Entangled.org to build a new version of their upcoming experimental consciousness app. Entangled is following in the footsteps of an exciting series of experiments conducted by a group of Princeton scientists at the PEAR lab.

They found that their test subjects could affect the outcome of physical random number generators using their minds, with enough successes enough to constitute statistically significant results. The Entangled app aims to put this type of phenomenon in everyone’s hands on a global scale.

This included building a next-gen version of their data mapping iPhone app, based on wireframes. I was the sole developer and built it entirely using Swift, MapKit, SwiftStats and an Alamofire-based Networking API that I designed with OpenAPI. I also provided architectural consulting, including a specification for a scalable data warehousing solution.

MiLB

While working at MLB, I was part of a two-developer team that managed and maintained the official Minor League Baseball app (MiLB) for both iOS and Android.

When I joined the effort, the app was suffering from a lack of customer satisfaction. Part of my job was to respond to this by gradually re-introducing features from the previous version of the app, to improve the user experience. We were successful in garnering a number of positive customer reviews as a result of these efforts.

Century Light

Prototype LED light bulb changing colors under control of the Bluetooth iOS app I developed.

I collaborated with a friend on this IoT product- a color LED light bulb controllable by an iOS app using Bluetooth (this was before any other products like had been released.) My friend did all the hardware development and firmware programming, and I developed the iOS app using Core Bluetooth to develop an API for sending commands to the light bulb.

Our plan was to crowdfund the project on Kickstarter. While we didn’t quite make it to that stage, we did get two prototypes functioning, and in the process I became well-versed in developing IoT apps with Bluetooth.

This Video shows the progression of the prototype, including the Mark 1, which used a breadboard, and the Mark 2, which was built on a Texas Instruments key fob. I built a variety of UI elements into the app for controlling the brightness and color values, including sliders and a photoshop-style color picker, as seen in the storyboards at the end of the video.

Step Chess

I’ve always been fascinated with game development, and in 2013 I created and released this turn-based strategy game using OpenGL and GLKit. It was an adaptation of the 3-d chess-like board game called Terrace, which was once featured as a prop on the deck of the Enterprise in Star Trek: The Next Generation. The contoured nature of the board made it a great candidate for 3-d graphics, and no one had yet adapted it to a video game. It was on the app store for several years.

I created a primitive AI opponent using a min-max strategist algorithm, which was just smart enough to be a legitimate challenge for new players. I also used the opportunity to teach myself Core Data, which provided persistent storage of all the moves in all the games ever played for later analysis. One of my current pet projects is a new version of this using SceneKit and GameKit, includes multiplayer.

Contact

Email: Todd at ToddGibbons.com

Visit my Linkedin