Main screen (authenticated user), shows balance, voice minutes left and unlimited internet option turned on
Main screen with "Turn on unlimited SMS?" option
Edit plan options - voice mintes/month, bandwidth, unlimited SMS option
Replenish balance for (via credit card)
"Turn off wifi to automatically log in"
Anonymous user screen (another carrier sim card inserted)
First step of "Order YOTA sim card" wizard

Description 

Selfcare application for Russian telecommunications company YOTA. App clients can review/replenish their balance, change voice/data tariff and options.

When

April 2014 – January 2015

App features

  • Universal app – iPad, iPhone 4/5/6 (6+ was added in later versions), autolayout.
  • Retention mode for other carriers customers (detect SIM card affiliation via carrier code):

    Review plans for current city (autodetected via geolocation), or choose from covered cities list, order sim card, track order status.

  • Customer mode (automatic login via carrier network, "turn off wifi for automatic login" screen):

    Review your balance, plan and options, switch to another plan, enable/disable options, replenish account.

Technologies

  • Objective-C, iOS 6+
  • Architecture - ReactiveCocoa, MVVM, JSObjection, CocoaLumberjack, Mantle, Overcoa
  • Testing - Specta/expecta tests, OHHTTPStubs, OCMockito, OCMock
  • 3rd party services

    • genesys.com - enterprise solution for realtime chat with support, DDCometClient for long polling new messages in chat
    • AppsFlyer, GoogleAnalytics, Mixpanel for analytics
    • GoogleMaps (+patched Google-Maps-iOS-Utils-QuadTree for clusterization)
    • HockeySdk for crashes & beta distributions
    • Continuous integration / continuous delivery via jenkins + custom shell scripts

My role in project

Team lead (2-3 ios developers, including me)