Collaborating with Fanium was a wonderful experience. They raised a solid amount of seed and angel round investment money back in 2012, and was listed as one of the seven best fantasy sports applications on TechCrunch. The platform lay dormant for the past four years, until Grant randomly reached out to me in the Summer of 2018 about working together to revive his company (and partly because I was one of the only people he could find with deep Ruby, Java, RubyMotion, and iOS experience). So I was fortunate to lead the revival re-designing and re-developing Fanium's suite of apps for the future.
We targeted to re-launch Fanium during the 2018 NFL season. The application had essentially two parts: a client side, which is where the Android (Java) and iOS (Swift) mobile apps lived. And a server side, where the admin portal and API lived to communicate with the mobile apps. The admin portal was a Rails app, with a CRUD interface for all models and resources. An API was built on the server side to allow the mobile devices to communicate with each other. So for example, when a user performs an action (drafting a player, trading a player, sends a message, etc.) on the mobile app, the API distributes that info to other teams in their league. I built out some pretty important models, and wrote some rake tasks for getting NFL seasons and projections data from FantasyData, grant awards/avatars to users, calculate leaderboard ranks, deployment, and helper tasks. Some tasks are one-time-only executables and run immediately once they're called, and others are recurring jobs using Delayed Job (asynchronous tasks) that can be scheduled/unscheduled, or executed immediately with a :now modifier. We also used Firebase Cloud Messaging in the Android app. The old version of Fanium was using Parse, but Parse shut down, so I had to replace our messaging service with FCM.
We ended up re-launching Fanium in the Google Play Store during the tail-end of the 2018 football season. We gained some traction and started to prepare for the 2019 season. We added a bunch of designers, managers, developers, and writers to the team in a span of a couple weeks. Since we had an entire year until our next target launch, I architected a suite-wide rebuild in Swift and Java built on a Node server. While I moved on to commit more time to my personal projects, Fanium is now going to be featured in Techstars' 2019 first ever SportsTech-focused accelerator!