Michael is a Senior Engineer with five years of employment developing iOS applications, data explorers, interactive installations, and games.

iOS Application Engineering *

Homer LearningMarch 2017 - June 2018
Evil StudiosApril 2016 - December 2017
Crush & LovelyJanuary 2016 – May 2016
The Liquor CabinetSeptember 2015 – February 2016
Samsung Research of AmericaDecember 2014 – August 2015
BeautifiedMay 2014 – November 2014
MindsparkDecember 2013 – May 2014
* Excludes sub-contracted development



iOS Application SDK and Vendor Experience
StorageGraphQL, Parse API, Firebase,Core Data, Keychain, UserDefaults, Filemaker, Access
NetworkingNode.js, NSURLSession, AFNetworking, Alamofire, WebKit,Reachability, MultipeerConnectivity
AnalyticsmParticle, Parse, Fabric, Kissmetrics, Facebook, Google Analytics, Optimizely, Bugsnag, BeautifulSoup, NLTK, SPSS, ArcGIS,Proprietary
AnimationCoreAnimation, CoreGraphics, CoreImage, SceneKit, SpriteKit, GamePlayKit,CoreMotion, Processing, Unity, Cinder, OpenFrameworks, OpenGL, GLSL
MultimediaNotification Center, Kahuna, Photos, SDWebImage, Google Maps, Apple Maps,GoNative, QT
AuthenticationParse, Facebook, OAuth, Digits
PurchasingStoreKit, CardIO, RMStore
TestingXCTest, OCMock
ToolchainXCode, Visual Studio, Cocoapods, Carthage, Git, Node Package Manager, CMake, Bitrise, Jenkins
DesignIllustrator, Photoshop, InDesign, After Effects, Premier Pro, Final Cut Pro, SketchUp
EmbeddedArduino, MQTT, TCP/IP, UDP, Serial, I2C, SPI,CoreBluetooth, iBeacon





Homer Learning

https://www.learnwithhomer.com

Senior Engineer

March 2017 – June 2018


Homer Learning is a cross-platform application designed to teach elementary reading to toddlers between the ages of 2 and 8. Homer uses stories, songs, and mini games to gradually present letters and words. Simple personalization is used to engage a child’s interest. Homer retains more than 250,000 subscription-based monthly active parent and teacher users.

At Homer, a team of as large as seven iOS engineers collaborated on the iPhone and iPad client for Homer Learning, four engineers provided backend engineering, and three engineers produced the content pipeline. Covering code with unit tests and integration tests, using XCTest, OCMock, and mocha.js was mandatory. Development shifted over the course of the year from a trunk-based process to a peer reviewed, git-flow process driven by occasional pair-programming, daily remote, agile standups, and project retrospectives recorded in JIRA and Google Docs. Deliverables included:

  • Contributed code and white papers to the iOS, analytics, backend, and content production pipeline teams
  • Evaluating content production pipeline alternatives for producing cross-platform character animation
  • Reviewing GraphQL implementation and proposing a refactoring strategy to support the long-term roadmap
  • Adding Parse API endpoints covered by mocha.js tests
  • Design and implementation of a dynamic, CMS-driven contextual onboarding system
  • Design and implementation of behavior tracking and non-fatal error reporting to multiple service providers
  • Refactoring the main navigation controller to provide smooth transition blends for UIKit and Cocos2D
  • Refactoring audio asset handling into a sequenced, multi-track audio manager
  • Collaborating with a senior web engineer to implement OAuth for partner subscribers
  • Code reviewing legacy modules and presenting findings for planning with executives and managers
  • Configuring continuous integration for XCode bots and parallelized tests for Bitrise
  • Converting the XCode project and unit tests to support Swift frameworks in Cocoapods
  • Developing new mini game templates and view controllers
  • Building a proof of concept for a state machine that improves orientation and handles deep links to any page



Evil Studios

http://evilapples.com

Contracted Senior iOS Engineer

April 2016 – December 2016


Evil Apples is an iPad and iPhone card game based on the premise of Cards Against Humanity. Five players compete in a seven or more rounds. In each round, one player acts as a judge and the remaining players select cards to complete a sentence. Evil Apples supports several discovery mechanisms including friends-only and stranger mode. It uses in-app currency to limit the rate of play and expand the content a player can use. It serves more than 300,000 monthly active users and retained a 99.7% crash free rate over the course of 2016.

The Evil Apples development team consists of the co-founder and project manager who performed back-end development, one Android engineer, and one iOS engineer. Responsibilities included:

  • Executing sprints around maintenance issues with performance, stability, and security
  • Adjusting the distribution of in-app currency and pop up advertisements
  • Enhancing the chat room content, main menu, backgrounds, and deck collection views
  • Building auto-layout views for new device sizes
  • Refactoring the in-app purchase store layout and model
  • Delivering a proof of concept refactor for the main navigation controller to a tab-based system

Screenshots




Crush and Lovely

http://crushlovely.com

Contracted Senior iOS Engineer

January 2016 – May 2016


MTV News was an iPhone and iPad application designed to wrap the content of www.mtv.com/news with a native navigation container and a single social feature. The client intercepted the inbound web content and modified the source code in transit to support a native navigation experience using the GoNative SDK. The user was encouraged to take screenshots of the content and share it with friends through many social network APIs. The client hired Crush & Lovely (http://crushlovely.com) to implement the design and Crush needed a subcontractor to develop the iOS client. The MTV team knew at the outset that their chosen solution was a temporary fix to a larger branding challenge, and the MTV News app was removed from the App Store in late 2017.

The development of MTV News was conducted by an internal project manager, external project manager, iOS developer, Android developer, and a backend web client team. The team followed an agile development process. Responsibilities included:

  • Customizing the GoNative wrapper for MTV’s web content
  • Adding an interface to screenshot the content; adding the social network sharing APIs for iMessage Email, Instagram, Facebook, Twitter, Pinterest, and WhatsApp
  • Delivering pixel-perfect animation sequences for UI component transitions

Screencast

mtv_news.m4v

Screenshots




The Liquor Cabinet

http://www.theliquorcabinet.com

Contracted Senior Engineer

September 2015 – February 2016


The Liquor Cabinet is an iPhone application that presents mixology variations of classic alcoholic drink recipes. Each recipe includes ingredients, instructions, tools and variations. The client needed a single engineer to handle backend database deployment and native iOS development for the prototype and first version release.

The development of The Liquor Cabinet included the product owner/client, a designer, and a single engineer with a contracted project manager. The budget and timeline were limited by the client’s resources; however, the client was singularly focused on pixel perfect design. Responsibilities included:

  • Creating a Parse instance
  • Authoring an administrative tool to upload and join the database tables
  • Implementing authentication with Parse; implementing card layout designs and seamless transitions
  • Implementing a filtering system based on ingredients, skills, and flavors
  • Implementing a search function

Screencast

liquor_cabinet.mov

Screenshots




Samsung Research of America

http://www.samsungnext.com

Senior Engineer

December 2014 – August 2015


Yarn was a cross platform photos service developed at the Samsung Accelerator in New York City. The product was designed to transfer the photos from storage such as iCloud, Dropbox, etc. into a proprietary analytical pipeline. The user was encouraged to tag photos with hashtags about people, places, and interests, and the Yarn application server would automatically, periodically return a collection of photos grouped together by topic. The goal of the work at the Accelerator was to integrate the service as a default in Samsung Nexus devices, and the first release was designed and built for iOS, Android, and web clients. The Yarn iOS application was released into production, with several subsequent maintenance releases, and roughly 5,000 users were accepted into the beta. The Accelerator did not choose to acquire the IP, and the client was eventually removed from the App Store. Apple’s native Photos client released an identical service shortly before Yarn was disbanded.

The development of Yarn was managed by a product owner, Chief Technology Officer, machine learning and back-end developer, front-end web developer, native iOS developer, native Android developer, remote iOS contractors, and a succession of UX designers and product consultants. The team followed an agile development process. The Accelerator required the product owner to present progress monthly to the executive team in order to continue funding for development. The remote iOS contractors were focused on delivering content for the presentation’s meeting while the in- house developer was focused on long term production code. Responsibilities included:

  • Design and implementation of a network client to fetch photos from first-party and third-party repositories within foreground and background processes
  • Design and implementation of a Model View, View Model design pattern
  • Design and implementation of a parent/child CoreData model for fetching and storing assets and metadata
  • Design and implementation of a gallery layout algorithm
  • Implementation of a card-based memory feed, gallery presentation view, gallery editing view, collage editing view, photo tagging view, and other custom interfaces in auto-layout

Screencast

yarn.m4v

yarn_order_photos.m4v

yarn_zooming.m4v

Screenshots




Beautified

Senior iOS Engineer

May 2014 – November 2014


Beautified was an on-demand client for making beauty service appointments in the New York and Los Angeles markets. The app was designed to extend the lifestyle brand of a well-known millennial celebrity. Women used Beautified to locate recommended shops for haircuts, blowouts, nails, massages, etc. and book a last-minute appointment on their phone. The vendors were suggested based on location and time through a feed. Beautified gained traction through marketing in publications such as Vanity Fair, Teen Vogue and Elle, but the founders came to a disagreement about management that resulted in mutual lawsuits and a shuttering of the business.

The development of Beautified included three product owners, two back-end Ruby developers, a native iOS developer, and a contracted product design consultancy. The native iOS developer and back-end developers worked closely to develop API integrations. Responsibilities included:

  • Fully rewriting the client interface to implement the design created by the product consultant
  • Writing collection view content in auto-layout
  • Integrating the Kahuna push notification marketing service
  • Integrating custom behavior tracking analytics events with mParticle
  • Integrating a credit card transaction SDKs
  • Producing a data explorer of the purchase funnel events to evaluate the user flow design
  • Presenting an analysis of the purchase flow visualization to the co-founders

Screencast

beautified.m4v

Screenshots




Mindspark

http://www.weatherwhiskers.com

Senior iOS Engineer

December 2013 – May 2014


Weather Whiskers and Smiley Central were designed by IAC’s Mindspark group, aka Ask Applications, to gather behavior tracking data on iOS usage. Smiley Central was a sticker app that sent custom Smileys through text messages and other channels. Weather Whiskers was a weather app that delivered the forecast with large photos of cats. Both clients implemented a custom behavior tracking analytics service used by Mindspark to track long term value against cost per acquisition. Mindspark needed an emergency fix in the in-app purchasing system before Christmas, and the work developed into a full-time role that ended in recruitment into a higher paying start-up environment at Beautified.

The development of Mindspark’s app relied on a product owner, project manager, two back-end engineers, a single native iOS engineer, and two designers. The team participated in daily standups and followed a strict agile development process documented in Atlassian’s JIRA and Confluence. Responsibilities included:

  • Refactoring the iPhone client into a universal client
  • Writing a wrapper for the custom behavior tracking system
  • Improving the speed and transition of scrolling through views with large assets
  • Bug fixing in-app purchasing crashes in legacy code

Weather Whiskers Screenshots

Smiley Central Screenshots




©2018 - Michael Edgcumbe