Wyzant iOS Student and Tutor Apps

Helping individuals further their educational goals and manage a tutoring business

Wyzant iOS Student and Tutor Apps

I started with Wyzant in April of 2016 and built up a team of 3 to manage the Student and Tutor iOS apps.

Wyzant has two main apps:

  • Student App: Finds tutors for any subject, set up meetings, and interact with the tutor up until the in-person or online lesson
  • Tutor App: Interacts with students, schedule lessons, and curate subjects to help tutors manage their tutoring business

Development

I architected a Swift-based foundation to speed up development time, improved testing coverage, and reduced overhead. This new Swift foundation included unit tests for Swift and Objective-C classes. I also lead the implementation of Wyzant’s app rebranding style with all new UI controls, colors, and imagery. The codebase I started with has seen a lot of red, to simplify and improve upon the exisiting framework.

My time has also been spent modernizing the apps, which has reduced crashes down to ~0.01% of users.

Wyzant recently moved to Ruby from .Net and C#, which has provided me opportunity to learn and grow in a new language. Though I have yet to ship any Ruby code to production due to my main role on the iOS team.

Modernizations

  • Removed the hamburger menu in favor of bottom tab bar
  • Replaced the legacy email-based messaging system to simplified iMessage-esque-web-socket style communication
  • Moved from Swift 2 to 3
  • Added universal links and deep linking
  • Updated for iOS 11
  • Implemented iOS technologies

Additionally, I converted the apps to a Swift-only approach for all new code, and moved from Cocoapods to Carthage for dependency management to decrease build and development time.

Skills

  • Developed socket-based messaging through Pusher
  • Push Notification migration from Parse to Pusher
  • Alamofire with RESTful APIs
  • Mixed Swift 3 code with Objective-C code
  • Implemented Auto Layout and Dynamic Type
  • Mandated unit tests for new Swift code
  • Supported 4.7”+ screen sizes
  • Storyboard merge conflict hero
  • Migrated custom cocoapod framework, to carthage frameworks
  • Rearchitected app foundation off of legacy code
  • Added 1Password integration
  • git & GitHub with feature-based pull requests
  • Team Size: Up to 3 Developers

Images

Links