Goalify
Make Goals Fun, Achieve More
The Problem Space
We've all said it before: "There’s just not enough time in the day." As a working adult, balancing tasks and personal goals can feel overwhelming, whether it's deciding what to eat, hitting the gym, or pursuing creative outlets. But time management doesn't have to be a struggle.
Traditional methods of goal-setting and task management can feel rigid and uninspiring, leading to procrastination and distraction—especially for Gen Z and Millennials, who thrive on instant gratification and social engagement. That’s where Goalify comes in. We aim to simplify time management, turning it into an exciting, intuitive experience.
Research & Validation
After interviewing six participants and surveying over 50 people, we learned that 72% of respondents were full-time employees aged 25-40. Of these, 63.6% were only moderately satisfied with their current time management tools, and 11.4% were dissatisfied, signaling a clear need for improvement.
Survey participants juggled an average of four or more aspects of their lives, relying on calendars, planners, and to-do lists. Despite these tools, distractions, lack of motivation, and procrastination were common challenges. To cope, users reported that taking breaks and reprioritizing tasks were the most effective strategies.
During interviews, participants shared that front-loading tasks—completing them ahead of schedule—boosted productivity and gave them more free time. However, life’s unpredictability often disrupted this rhythm, leading to task overload.
Solution Explanation
The Solution
Goalify was developed as a progressive web application (PWA) to enhance platform accessibility. Research indicates that over 90% of millennials and Gen Z users primarily engage with applications and websites via their mobile devices. Our goal is to ensure that Goalify is easily accessible without the complexities associated with traditional app stores, providing a seamless user experience across all devices.
This product offers an intuitive to-do list, easy goal creation, and a calendar for visual progress. By gamifying accountability and providing progress statistics, Goalify turns time management into a motivating and enjoyable experience.
After conducting usability tests, we found that users overwhelmingly prioritized two features: the to-do list and the calendar. Though we initially planned additional features like group accountability and progress statistics, we opted to refine those for future updates.
At launch, Goalify offers:
- To-Do List: A central hub where users track what needs to be done and celebrate their progress. It offers quick access to different dates, with prompts encouraging users to get ahead.
- Goal Creation/Editing: Setting goals should be simple, not a chore. We’ve made it easy to focus on what matters without over-complicating the process.
- Calendar: A visual overview helps users see what’s been completed and what’s upcoming, enabling them to reprioritize as needed.
Implementation Details
Working as a team, we set up version control using Github to collaborate effectively and seamlessly with one another. We explored different hosting and cloud platforms such as fly.io, vercel, and render, but finally settled on Render. We chose render because of the ease of integration with Github, deployment previews, and speed of application serve.
For our fron-tend, we went with React + Vite + Typescript as the framework of choice. We used Mantine as the component library of choice, Tailwind as the CSS framework and RxDB as our offline database provider to integrate with IndexDB.
For our back-end, we chose Python + Flask as the framework of choice. Due to the needs of the application and strength of the team, we went with a fast and lightweight REST API framework for implementing our CRUD operations.
The application is integrated with Sentry & Rollbar for logging and monitoring in order to get an insight into any drop-offs from users and issues encountered while using the application.
Technical Challenges
Due to the offline-first architecture, we have to sync the database state with the client state in real time. We are currently still working on the perfect replication protocol to ensure it is both efficient and performant.
The server is currently operating with 512MB of RAM and 0.1 vCPU, which is adequate given the current low traffic levels. However, we anticipate that this configuration may not be sustainable in the event of a sudden traffic spike. To address this concern, we will closely monitor traffic patterns and are prepared to provision a more robust server with auto-scaling capabilities to effectively manage increased demand.
Future Steps
- Working on the responsiveness for the tablet/desktop versions of the designs– we want to allow for use everywhere. We focused on mobile first to ensure all necessary elements on are the screen.
- Focus on refining the groups page or a community feature, a lot of people valued the ability to share with their friends/family and were excited to see a a feature where they can share tasks.
Learnings
Product Manager Learnings:
Tony O'Neal, MS
As the product manager, I learned the importance of “steering the ship” by aligning and empowering the team. Having alignment and making sure we’re all rowing in the same direction, is important for success.
Designer Learnings:
Tiffanie Ly
Designing a solution for our product helped me learn how to prioritise features for an MVP. We had so many amazing ideas that we forgot to focus on what would matter most for our users. During my sketches, I had a lot of trouble and questions about how the groups and stats feature would actually work. Removing those features after user testing was such a relief because now we can focus on the core functionality of our product and reduce time and effort on the developer’s end.
Designer Learnings:
Jo Sturdivant
- Adapting to an Established Team: Joining the team in week 6 of 8 was challenging, as I had to quickly adapt to existing workflows, dynamics, and goals. This mirrors real-world situations where you often integrate into teams mid-project, and flexibility is essential.
- Work-Blocking for Efficiency: With only two weeks to complete the project, I learned the importance of a structured work-blocking system. This approach allowed me to manage my time effectively and meet deadlines under pressure.
- Making Data-Driven Design Decisions: Unlike my past projects, I had to rely on research conducted by others. This was a valuable experience in using pre-existing data to guide design decisions, helping me focus on the core insights without starting from scratch.
Developer Learnings:
Hemense Lan
As a front-end developer building a productivity focused web application, I focused on getting users to complete actions and micro-interactions as quickly as possible through an offline-first web architecture.
Developer Learnings:
Vanady Beard
&
As the back-end developer, I learned how important it is to create efficient and reliable systems that support the entire application. This experience also taught me the importance of optimising the database and ensuring the backend is scalable and easy to maintain.
Developer Learnings:
Stephen Asiedu
&
As a back-end developer, I've come to understand the importance of being familiar with various database systems and modules. This knowledge enables me to build diverse applications and maintain versatility in my work. I've also learned that the responsibility for making the right choices rests on my shoulders, guided by my best judgement.
Developer Learnings:
Jessica Uriostegui
&
As a front-end developer learning to collaborate with a team, using new frameworks and libraries. Has been a great learning experience. This helps me and prepares me to create user-friendly applications, maintaining and improving the application.
Developer Learnings:
Maurquise Williams
&
- Process of Creating an MVP: Developing a Minimum Viable Product (MVP) taught me how to focus on delivering core functionalities balancing between essential features and avoiding scope creep.
- Collaboration in a Real-World Tech Setting: This experience taught me how to collaborate efficiently in a fast-paced tech environment, keeping the team aligned and productive, even while working remotely across time zones.
- Sharpening Critical Thinking and Problem-Solving Skills: This experience honed my ability to think critically and solve problems efficiently. By tackling challenges and finding quick solutions, I sharpened my decision-making and troubleshooting skills in a dynamic, real-world setting.
Developer Learnings:
Jeremiah Williams
&
All in all this experience was very awesome I learned that in coding with others being transparent is key
Developers Learnings:
Justin Farley
&
I learned how important communication is when working with a team. Communication provides understanding, advice, ideas, and much more. While working with the product team, I’ve found that communication keeps everything flowing smoothly. Working with a team also showed me that every member brings something different to the table and we all have to work together in order to align and meet our end goal.
Full Team Learning
In the beginning, our team was unsure about how to structure meetings, share updates, and communicate effectively. Over time, we grew more comfortable voicing questions, opinions, and concerns during check-ins and while providing updates. We learned to support one another, divide tasks more efficiently, and build mutual trust. As we progressed, our communication and collaboration strengthened, allowing us to work more cohesively as a team.