tutorJr

tutorJr was similar in functionality to TutorMobile, but was iTutorGroup’s brand for children in Taiwan. It was a mobile app designed for the iPad which consisted of all the functionality of taking courses online: registering for courses, attending courses with two-way video streaming and live messaging, reviewing courses – including viewing recorded videos of the course, submitting homework, and leaving reviews for classmates and instructors.

App Store Link: https://itunes.apple.com/app/tutorjr/id1111504215

Project overview: Objective-C (some 3rd party libraries in Swift), managed 3rd party libraries using Cocoapods, included an internal StreamingSDK, RESTful APIs,

My role: Initially, 1 on a team of 5 engineers. Later, the sole engineer in charge of all TutorABC-brand products.

  • Built a completely new classroom module (version 2.0) which included streaming two-way video, live messaging, whiteboard functionality and face-recognition/AR masks
  • Completely rebuilt the class reservation module, which included new APIs for splitting the day up into times of day – improving performance by downloading less data with each API call
  • Implemented a complete rebranding: name change, color schemes, and logos throughout (from TutorABCJr to tutorJr)
  • Merged the code basis with TutorMobile to eliminate redundant code
  • Added Fastlane and scripts to automate the build process for both internal testing and App Store builds
  • Led a re-archicture of the app: re-building all API calls and model objects, and moving from MVC to MVVM (making view controllers lighter and more testable)
  • Increased unit test coverage
  • Forked and updated 3rd party libraries when they needed to be fixed or changed
  • Updated project to be compatible for the release of Xcode 8 and iOS 10
  • Deleting instances of deprecated code
  • Refactoring
  • Debugging