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