Your Fit Starts Here.
ROLE
Lead Developer
TIMELINE
Winter 2024
FRONTEND
SwiftUI
Combine
BACKEND
Python + GraphQL
PostgreSQL
Uplift is a mobile app designed to streamline the fitness journey for Cornell University students. It provides essential information like gym hours, class schedules, and goal tracking, previously only accessible through a cumbersome website. When I began working on Uplift, the iOS codebase was in disarray, causing the app to stagnate. As the lead iOS developer, I took on the challenge of rebuilding the app from scratch.
āš» The broken state of the Uplift iOS app before its complete revival.
Recognizing the backend as the root cause of many issues, I spearheaded a complete overhaul. The unreliable web scraping system was replaced with a more controlled Google Sheets solution for managing hours, while capacities continued to be web-scraped from a stable source. This transition, along with the implementation of a development environment and auto-deployment, necessitated a redesign of the database schema to ensure frontend compatibility.
Simultaneously, I rebuilt the iOS app using SwiftUI, establishing a solid foundation with a clear code structure, robust GraphQL networking, and comprehensive documentation. This revitalized version was successfully submitted to the App Store. Throughout the process, I collaborated closely with the backend team, ensuring seamless integration, and mentored new members on tasks like implementing giveaways.
One significant challenge was designing a reliable Google Sheets scraper, considering various scenarios like different hours for each day, multiple fitness centers, and special rules for certain facilities. Handling dates and time zones also proved complex. Additionally, building the app from scratch required careful consideration of frameworks, libraries, and styling conventions to ensure maintainability.
After a formal marketing campaign, the revamped Uplift experienced a surge in monthly active users, nearly tripling due to word-of-mouth. The iOS team successfully implemented numerous improvements and features, transforming Uplift into a reliable and valuable tool for students. My work empowered the team to continue making progress, turning an unreliable app into a stable and functional one.
This project provided invaluable experience in handling dates, designing app architecture, and understanding backend systems. It highlighted the importance of collaboration, adaptability, and a willingness to tackle complex technical problems to deliver a valuable product.
āš» View fitness center information including gym capacities and facility hours through the Uplift app.
Moving forward, the focus shifts to enhancing Uplift's functionality. The immediate priority is to establish a streamlined process for adding and updating hours, including those for special breaks. I've ensured a smooth transition by training the Spring 2024 Product Manager and backend developers on this process and providing instructional materials.
On the iOS front, the team will concentrate on completing the classes feature and implementing activities. Additionally, the giveaways feature requires adjustments, and merging the release branch with the main branch is crucial. Once backend completes the activities functionality, iOS can seamlessly integrate it. Subsequent steps involve user profile integration and modifications to giveaways, pending backend completion of the user profile functionality. Uplift has a promising roadmap with significant potential for further development and enhancement.
VinBot
Hi!
Iām VinBot. An AI assistant here to answer your questions about Vin Bui's portfolio.
How can I help you today?
Unleash our creativity and make something extraordinary happen. Send me a message and let's explore the possibilities.