An iOS app help you achieve your goals!
The inspiration behind Goalify stems from the desire to empower users to achieve their long-term goals by breaking them down into manageable tasks. The concept of earning points and redeeming rewards provides instant motivation, creating a positive feedback loop for sustained progress.
Goalify is an iOS app designed for users to set personalized tasks and rewards. As users complete daily and weekly tasks, they earn points that can be redeemed for rewards, serving as instant gratification and motivation on their journey toward achieving long-term goals.
I used Swift and Xcode for app development, leveraging Procreate for customized UI elements such as textured backgrounds for tasks and rewards.
Venturing into Swift for the first time posed challenges, especially with functional programming. While ChatGPT aided in troubleshooting, newer APIs required diving into documentation.
SwiftUI was a learning curve, demanding trial and error for an appealing design.
Although I explored the Screen Time API, limited online resources led me to prioritize core functionality, reserving Screen Time integration for post-hackathon.
It's the first time for me to build an app, and my first time using Swift, I'm proud that I'm able to make model, ViewModel, and UI work seamlessly together.
I delved into Swift and SwiftUI, gaining valuable insights into functional programming and UI design. I also tried my best to clean up my code, making it easier for future me to debug and add more functionality to the app
For UI design, I learned how to create my own color palette, as well as some basic UI design skills, including layout and color usage.
- Screen Time API Integration: Automate task completion based on app usage to prevent cheating. For instance, verify if the user dedicated the full 10 minutes to learning French on Duolingo.
- Health Kit Data Utilization: Leverage Health Kit data to track and reward users for reaching exercise goals.
- Enhanced UI: Continuously improve the user interface for a more engaging experience.