COLAB28 - Progressive Web App

TimeFinder

Scheduling the right task at the right time for you!

Problem Statement

How might we help busy adults find time to complete their tasks in the most optimal way that increases the likelihood of them getting done? 

Problem Space

Today’s fast-paced world makes time our most valuable resource and busy adults struggle to efficiently manage tasks amidst numerous responsibilities and distractions (Kowalski, 2019). Existing methods, such as lists and calendars, often fall short in addressing the complexities of task prioritization and time allocation, leading to feelings of overwhelm, stress, and dips in productivity. With no single tool available, users employ multiple tools creating task organization, tracking, and syncing challenges. 

TimeFinder seeks to revolutionize task management by analyzing a user's productivity patterns, concentration, and priorities to recommend optimal scheduling strategies. By empowering users to utilize their time effectively, prioritize tasks when they are most likely to be completed, TimeFinder enhances productivity and helps individuals achieve their goals faster.

Problem Background

“It’s really clear that the most precious resource we all have is time.”  Steve Jobs

To cope with competing priorities and overwhelming “To-Do Lists”, busy adults turn to digital to-do lists, calendars, reminders, alarms, and planners, alongside the classic method of notes on random scraps of paper. Surprisingly, our research reveals that 68% of people utilize 3 or more methods to track tasks and carve out time for them, with some even resorting to as many as 7 tools. It’s not just tools but also the number of tasks. A staggering 60% of individuals juggle over 60 weekly to-do items (Bolden-Barrett 2019) which likely contributes to only 12% of our survey respondents being fully satisfied with their productivity.

Creating impossible to-do lists results in significant failure with 41% of tasks left incomplete (Paulise, 2023)and triggering negative emotions in 72% of respondents. Scheduling tasks poses its own set of challenges, as humans struggle with estimating time accurately, prioritizing effectively, managing tasks in digestible chunks, and moving them from one tool to the other (O’Donovan 2023, Kiander 2023).

Fifty-eight percent of respondents prefer scheduling tasks using calendars because if they don’t, the tasks won't get done. Only 29% prioritize based on urgency leading to the wrong task getting done at the wrong time. Users need help and as one interviewee aptly put it,

"I just want something to find the time for me." 

Survey respondents want help scheduling tasks based on productivity peaks, available time slots, task categories, duration, priority, and emotional impact. To address these problems, experts like O’Donovan (2023), Paulise (2023), and Nazish (2022) offer 8 practical suggestions (Appendix 1) that we used as our tenants while creating TimeFinder with the following 3 being the main focus:

  1. Categorize & Limit Tasks: Use categories to help you understand your tasks and limit them to a manageable number (5-7) to increase completion likelihood and satisfaction.
  2. Schedule around your chronotype: Align your schedule and work to your biological clock, or chronotype, by recognizing your peak productivity and concentration times, rather than forcing productivity during periods of low energy.
  3. Review & Celebrate: Track recurring tasks, review daily scheduled tasks, review accomplishments, and celebrate wins to stay motivated.

Interestingly, no current task management tool focuses on scheduling when tasks will most likely get done by utilizing our natural periods of concentration or productivity. This presents a huge opportunity for technology to assist individuals and help them achieve their goals faster and easier by using their internal biological optimizations. 

User Pain Points & Research Insights

We conducted 5 in-depth live interviews and surveyed an additional 26 to understand task management and scheduling pain points. We asked users questions about 5 main pain points identified from our problem space research. Our data showed the following trends:

1. How do users keep track of what they want and need to do?

→ Data showed that keeping track of ‘all the things’ is challenging with too many tools (68% use more than 3 tools), not the right tools, but still needing tools to complete activities (58% of users report that without calendars nothing gets done).

2. How do users manage and prioritize their tasks?

→ Managing tasks poses significant challenges as productivity doesn't always align with availability (Appendix 2). Prioritization remains a struggle, with just 28% of respondents dedicating time to it, and a mere 24% having developed effective prioritization habits.

3. How do people feel about their productivity and free time?

→ Data reveals mixed sentiments about free time with 44% expressing neutrality and another 40% happy with it. At the same time, 60% wish for higher productivity, and 72% report negative emotions when they avoid or leave tasks incomplete.

4. What motivates or hinders users to complete tasks or not?

→ The desire to track tasks better, increase efficiency, develop good habits, and utilize time wisely stand out as primary motivations. Challenges include time management issues (affecting 44% of respondents) and exhaustion (hindering another 32%), causing avoidance of health and fitness (36%) and household chores (32%). Qualitatively, respondents feel overscheduled, have difficulty staying focused, and struggle to complete hard, boring tasks. Despite recognizing their productive periods, many respondents failed to capitalize on them for task completion.

5. How effective are users' current tools and what do they really want?

→ Respondents generally express satisfaction with their task-tracking tools, with 75% rating them as good to great, with 60% of people mentioning satisfaction by crossing off items. This is despite 50% encountering challenges with tool organization, syncing, or performance. 


Feedback

Respondents clearly want tools that integrate task lists, reminders, and calendars into a single platform and desire enhanced functionality to increase their efficiency and productivity but connect deeply to their current task management functionality compelling them to accept current tool faults. This is likely because these tools measure productivity and performance not just for work but our whole lives which could have intrinsic meaning. Thus there is significant room for improvement that if done right can capture intrinsic users if the right pieces are pulled together.

First, our product must maintain the age-old “to-do list” and the ability to cross off tasks to help people feel good about completing one too many tasks. However, to differentiate from other products, our research and data suggest that task intensity must be matched to a user’s performance patterns to increase the likelihood of task completion thus proving the tool's worth. 

Second, our app needs to find time when these matches can occur within busy schedules and provide metrics to measure user performance over time. With the first and second features, user productivity metrics should increase and by doing so create positive motivators, again creating a connection with the platform and increasing over less optimal tools.

Third, our product must help users learn habits that create better task-completion behaviors that continue to improve task-completion performance over time. Metrics will help, but engaging users with the app to interact by reviewing tasks scheduled and celebrating completed tasks daily embeds the platform in daily life as a must-have productivity tool.

Solution Explanation

TimeFinder’s functionality is a unique proposition. G2 identified the top 10 tracking apps, with Wrike being the sole provider of time-finding features. While new AI-driven solutions are emerging, they currently lack models trained on user and task attributes. This presents an opportunity for an MVP to fill this gap starting with simple algorithms to test our solution. Additional development could then expand to an AI that prioritizes user productivity behaviors and task scheduling habits.

To begin, our primary functionality of the MVP includes 3 features:

  • Track and understand Tasks and users:
    • Users can create tasks with attributes such as name, priority, concentration required, and duration.
    • Tasks are automatically sorted based on our proprietary priority and concentration matrix.
    • Users can specify their most productive time of day.
  • Find Time:
    • TimeFinder matches open spots in a user's calendar with stored tasks based on when tasks are most likely to be completed.
    • TimeFinder automatically schedules daily tasks, with a maximum of 3-5 tasks per day to prevent overload.
    • Notifications and alerts via Google Calendar and specific color coding for TimeFinder tasks enhance task visibility and organization.
  • Help Build Positive Habits:
    • Morning and evening engagement prompts alert users to confirm and review tasks, fostering a positive habit of task tracking and completion.
    • Users can celebrate completed tasks by crossing them off, reinforcing a positive association with task completion.
    • Task completion metrics, such as the total number of tasks completed, provide users with a sense of accomplishment and progress toward their goals

Lofi & Hifi Mockups

Full Flow

View all iterations on Figma here

Iterative Design Learnings

We showcased our high-fi prototype to 5 users to validate what worked and where our opportunities for improvement to solve more pain points were.

What worked

  1. Users seemed to understand that TimeFinder would be adding to users’ existing schedules.
  2. Users were able to fill out the ‘add task’ form with ease.
  3. Users liked the task attributes for priority and concentration required.
  4. Most users understood how high-needs tasks would be scheduled in their concentration time.

Opportunities for Improvement

  1. Users wanted to be able to assign tasks to a specific day or be able to set a deadline.
  2. Users had concerns about not having availability during their most productive times.
  3. Most users expected to be prompted to log in/create a profile after the welcome screen.
  4. Most users preferred relative statistics to weekly and grand total task completion counts for understanding their productivity.

Technical implementation

Web hosting 

  • Vercel and Render

Tech stack

  • For the front end, we used Reactjs, Nextjs, Tailwind CSS, and typescript. 
  • For the back end, we used Python, Flask, and MongoDB.

High-level journey of a request

  • Front End
    • Talk about why you chose the tools used and how you can improve the application's design.
    • We chose to use Tailwind CSS because we both have experience with React and Typescript. We can definitely improve the design by adding more colors and animations because it looks a little plain.
    • If you can, provide a walkthrough of the application functionality including Creating/Retrieving/Updating/Deleting data in the application.
    • On the tasks screen, users will be able to insert a specific task that they would like to do. That info will be saved and sent to the backend.
    • Once that's completed, they will click the next button. They will be sent to a page where they will be able to connect their Google calendar by clicking the “connect to my Google calendar button”. The button will take you to the sign-in page where you authenticate. We were able to achieve this by using a calendar API.
    • Once signed in, the user will then be taken to a page where the app will ask for more personal information “When do you have the highest level of concentration.” They will have 3 options, morning, midday, and evening. Once one option is selected, they will click the “schedule my task for tomorrow” button.
  • Back End
    • When a user enters our website it will ask them to sign in with Google, this will trigger a route in NextJS using NextAuth and the GoogleProvider function of NextAuth to handle the authentication and get the permissions needed to access the user's Google Calendar, this will then populate our user collection in MongoDB with the necessary information needed to access there calendar.
    • Then the user will be asked to enter some tasks in the task page, once that is all filled out it will send that task data to the backend and populate the tasks collection in our MongoDB database, each task is also associated with the user id of the user that created the tasks.
    • After the tasks are submitted it will navigate the user to the concentration screen where it will ask the user to pick a concentration time, when the concentration time is submitted it updates the user's collection and the data associated with said user to include the concentration time.
    • Once the user is authenticated, the tasks are created and the concentration time is set, it navigates the user to the homepage where it will trigger the schedule_tasks function in the backend and schedule the first 5 tasks in the list of tasks sorted by priority, it will also check the status of each tasks concentration level and schedule them according to the concentration time the user has set for themselves.

Technical challenges

What was the hardest part of development?

  • Jordan - The hardest part of development was fixing tons of bugs. However, as time went on, it began to get a lot easier to debug code and we were able to use resources like Google Docs to help us on our journey 
  • Ray - The hardest part of development for me was navigating NextAuth and the Google Authentication

Does your app have any scaling issues?

  • Ray - MongoDB should be able to handle any scaling that we run into.

What are some key takeaways? 

  • Jordan - Being able to schedule a time that we would have during the week to code. However, we were able to resolve this issue.
  • Ray - Some key takeaways for me is that I need to read over my code very carefully when dealing with a bug because the issue could be as minor as an extra character in a string

Future Steps

TimeFinder is a viable product addition to the task management tooling industry that boasts a total addressable market of $4.35 Billion in 2023 and is expected to reach $7.7 Billion by the end of 2030 (Verified Market Reports, March 2024). Being that TimeFinder also schedules time for tasks, the app also falls into the appointment scheduling software market which is currently valued at $470.7 million in 2024 and expected to grow to $1,550.8 million in 2030 (Fortune Business Insight Report, April 2024).  People will also pay $50 to $500 for time management courses online or via webinars suggesting that learning to manage time is of significant value to people (Girlboss 2024). We believe this indicates that people would pay for TimeFinder but actual pricing requires additional user testing and feedback.

While we won’t be continuing to build out the product, we used the ICE framework to estimate the impact of future features on customers, our confidence in that impact, and the effort it would take to build to determine the most immediate features needed. Additionally, we brainstormed other features that would bring the product up to speed with those already on the market or differentiate it to increase the likelihood the product was acquired.

Addressing Immediate Product Refinements for MVP → V1

1. Create a user profile to maintain additional data for personalization. 

- Values would include, energy levels, and alert preference

2. Add additional task attributes for even better scheduling. 

- Values would include deadlines, physical effort, the task’s ‘why’, and category.

3. Not all users want to celebrate tasks in the same way and crossing off tasks should be fun according to different personalities.

- → Add multiple different animations for crossing off tasks including a magic wand, stabbing knife

4. Research the algorithm so that what is rendered in the calendar matches the intended functionality.

- Remove duplicative bugs

5. Users should be able to move tasks inside the app’s calendar or if they move it on the Google calendar it is logged in TimeFinder.

- Bidirectional watch feature.

6. For all tasks greater than 90 minutes suggest to users to break them down and schedule them in series.

Addressing V2 Opportunities for Improvement from User Feedback

7. Users wanted to be able to assign tasks to a specific day or be able to set a deadline.

- Add additional task drop-downs in the home screen for repeat functionality

- Specific tasks can be added to specific days and are automatically scheduled each week giving the user to make changes for current and future instances of the task

- Due dates are a sub-set of priority. All high priorities get ranked by due date and length of time.

8. Users had concerns about not having availability during their most productive times.

- Allow the user to set non-scheduled time to preserve it for other activities in the user profile.

- Allow users to schedule up to one week in their User Profile.

9. Most users expected to be prompted to log in/create a profile after the welcome screen.

- Change the second button to indicate that when we get permission to connect to Google Calendar we are also creating an account via Google login.

10. Most users preferred relative statistics to weekly and grand total task completion counts for understanding their productivity.

- Change to weekly percent and overall completion rate

11. More animations and interactive effects throughout the UI workflow.

- Examples include our logo or loading animation all settings in the user profile

Brainstorming for V3 and Product Launch

12. Use React.native to create a seamless mobile app version of the responsive app.

13. Use AI to increase the app's ability to schedule based on how people check off, move, and complete tasks relative to attributes, length, deadlines, motivations, and more. 

14. Add task location to add drive and/or transition time, make suggestions to improve efficiency 

15. Users can schedule wellness time or other types of tasks such as downtime to increase rest and resetting.

Brainstorming a Startup 

As a founding team, we would prioritize the following business motions to build out V2 in order to take it to market and eventually produce V3 for acquisition. 

  • Conduct user testing with competitor products investigating what works and where we could improve it, but at a minimum to get to parity. 
  • Determine market viability as a stand alone product or as an addition to a current product like Todoist, Asana, or Monday.com.
  • Hire additional team members in this order:
    • AI or ML engineer to lead our dev team
    • 2 additional devs, one to manage the whole team and one to pick up continued user feedback and feature requests
    • Marketing expert, to hone the value prop, messaging, and how to get messaging out to the broader public
    • B2C CEO to increase product sales and pitch the product to larger companies

TimeFinder Collateral

Onboarding & Home screen

Learnings

Product Manager Learnings:

Kristin Covert

The faster you address problems the faster you have solutions. Estimating a “story point” is hard and finding your groove with your team takes time, but you have to stick with it because successful sprints are so rewarding. Communicate communicate communicate. Name of the game.

Designer Learnings:

Jane Noh

Understanding each role in the team and where the responsibilities overlap or don’t overlap. Balancing working on future iterations, while development is working on past iterations. And resisting the urge to want to go back and “fix” past iterations. Communicating virtually is challenging. On top of that, each expertise has a different language of its own so it’s important to ask questions when there is a disconnect.

Developer Learnings:

Jordan Allen

Not being afraid to reach out to others for help if needed. Gained experience in what it’s like to work on a team and see what every member does to bring the project together. My React skills have definitely improved by using many tools I've never used before.

Developers Learnings:

Ray Ruenheck

&

Gained experience with Google auth and nextAuth as well as the Google Calendar API Deeper understanding of MongoDB and No-SQL databases, also, Git and GitHub Broadened my understanding of Agile environments and using Trello

Full Team Learning

Communication is Vital: Across all roles, effective communication emerges as a critical factor for success. Whether it's within the team or with external stakeholders, clear and consistent communication is essential for smooth workflow and collaboration. Learning and Adaptation: We all appreciated continuous learning and adaptation including understanding different roles within the team, embracing new technologies or methodologies, and being open to seeking help when needed. Time Management and Focus: Balancing current tasks with future iterations is a common challenge and reminds us that it is important to prioritize tasks effectively and resist the temptation to constantly revisit and tweak past work. We could all use TimeFinder to help us proactively get work done sooner rather than later.