Wyzant iOS Student and Tutor Apps
Helping individuals further their educational goals and manage a tutoring business
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