Procrastination Pal: Using React Native, Express, and GPT-4 to Craft an App that Decimates Procrastination!

Nicholas Luikey
Dartmouth CS98
Published in
5 min readMar 10, 2024

Introducing Procrastination Pal: an AI-powered task management app that helps you break down tasks, add them to a to-do list, then use a Pomodoro timer to crush those tasks! The impact of our procrastination app extends beyond mere task management. With each small step completed, users build momentum and confidence, empowering them to tackle even the most daunting of tasks. Our AI democratizes what it’s like to have your own personal executive assistant ready to help you with anything you need.

Go ahead and try the app for yourself!

https://apps.apple.com/us/app/procrastinationpal/id6471773532

Big Idea

The idea for this app was born out of frustration; frustration with the number of productivity apps that were out there, but weren’t actually that helpful in addressing procrastination. Whether they helped users keep track of their tasks, schedule them, or even organize and prioritize them, when it came down to actually having to do the tasks, these apps were useless. So what really makes people procrastinate? On any given day, it could be a number of different things. Perhaps you have too many tasks, and are overwhelmed trying to decide which to tackle first. Or perhaps you just have one really large task! You might be intimidated by the size and not know how to start. We could go on and on talking about different factors that could be causing or exacerbating the urge to procrastinate, and each of these factors requires a different approach in order to effectively address it and the procrastination it foments. Our initial idea was to create an app that would ask the user questions designed to understand which of these core reasons for procrastination were most relevant in the given moment, and suggest targeted strategies (which would be features in the app) accordingly. In order to constrain our idea to something we could create in a few months, however, we had to scale down our features to the most essential and widely helpful ones, which we determined to be a todo-list for managing tasks, a pomodoro timer to encourage targeted focus sessions, and an AI-enabled avatar “pal” with a number of functions such as helping to break tasks down into smaller pieces, updating and managing todo-lists, and talking the user through how to best tackle their work. We hope that these functionalities will help users stay organized, feel in control of their workload, and ultimately get a handle on their procrastination.

FE/BE details

The backend of the application is designed with a focus on scalability and efficiency, utilizing the Express.js framework along with MongoDB and Mongoose for data management. The architecture adopts a controller-based pattern, and also uses external APIs to carry out speech-to-text conversion and AI chat responses. The frontend architecture of our application is crafted using React Native, leveraging the Expo framework to streamline the development and build process. The frontend features a comprehensive set of screens and components that facilitate user interaction with our app, encompassing functionalities such as task management, user authentication (login and signup), interactive surveys for onboarding, and a chat interface for communication with our AI avatar.

AI details

Procrastination Pal uses OpenAI’s API with an iteration of GPT-4 that contains training data through April 2023, and has improved function calling compared to other GPT-4 models. This allows our AI to call functions that modify, fetch, and append tasks to a user’s todo list. For instance, if the user says “I have three calculus problems to do,” the AI will call the “todolist_append” function, and append three tasks about calculus to the user’s todo list. Also, the GPT-4 model we are using offers JSON mode, which allows us to tell the AI to format its output as JSON. This comes in handy when we want to format user tasks as JSON objects, and is a nice feature for OpenAI’s API to have.

Impact & Validation

Currently, our user analytics show that we are getting some usage. The average session time is less than a minute, so it seems like users are still just trying the app out rather than actually using it to do their work. Hopefully as we get more users, we will get more sustained use and be able to see how people engage with the app when using it normally. Interestingly, almost all of our usage is either late at night or early in the morning, outside of normal working hours. We hope that our app will gain some traction, but even now, seeing the numbers grow and seeing real users being added to our database feels really cool. It’s great to see how we have produced something tangible that we can show people and get them to use.

User metrics shortly after launching the app

Our user feedback has been very helpful for putting the finishing touches on the app. Several people requested the ability to change the AI’s avatar and personality, which we’ve added; users have asked us to improve the UX for onboarding, which we’ve done by rewording the questions and communicating how long the survey is; and we’ve cleaned up some minor display issues/preferences to make the app feel clean and polished.

As for future impact, we hope that our app can make an actual difference, helping people get through their work and produce good results. While we obviously want as many people to use the app as possible, if even a small number of people use it, like it, and get use out of it, we will be pleased; it will be nice to have contributed something to the world beyond just the academic exercise of making the app.

About The Team

  • Ella Gates: I’m from Brooklyn, New York. I currently play rugby for Dartmouth, but at one point, I played polocrosse (like lacrosse on horses).
  • Nathaniel Mensah: I’m from Accra, Ghana. I snowboard.
  • Nick Luikey: I’m from Reading, Massachusetts. I studied abroad in Kuwait.
  • Carter Sullivan: I’m from Weston, Massachusetts. I have been to 50 states.
  • Nate Haile: I’m from Washington DC. I almost crashed a plane into a seagull.
  • Andrea Robang: I’m from Manila, Philippines. I like birdwatching 🦉and my favorite birds are eagle owls like Flaco from NYC (may he rest in peace).
The team!

Try our app here!

https://apps.apple.com/us/app/procrastinationpal/id6471773532

--

--