Inspiration

People with executive dysfunction often struggle with task paralysis, being overwhelmed, not knowing what to start with, or focusing. Versions of this application exist to gamify tasks, but none help break tasks down into manageable, actionable steps. Unstuck provides an accessible platform for people to help break down tasks into simple and manageable steps that can be carried out in a meaningful way. A lot of inspiration also stems from personal experience, as one of our team members experiences such effects and wants to find a way to create a tool that can help people with neurodiversity, creating a new path for people to complete either dreams, projects, or anything that otherwise may not have existed prior. All it takes is the first step to truly let everything set in motion!

What it does

On first login, you will be prompted with a personality quiz based on neuropsychiatric diagnostic criteria for disorders that cause executive dysfunction. From there, you can input a task that you're stuck on. 3 different points of friction are presented, and the user will choose the one that matches their main friction point, with an option to input something else if none of the provided options match what the user is experiencing. 3 different options for actions are generated, where the user can pick the one that suits them best or go back if none of them are preferable. If a user picks an option, points are gained, and the option is presented to continue to another step or finish the task.

How we built it

First, we built a simple single-page prototype with HTML, CSS, and JavaScript, along with using ChatGPT's API. From there, we expanded its functionality, allowing for task history, follow-up tasks, and a light-mode toggle. In addition, using Python, we implemented an eye-tracker to detect user distractions with cv2 while completing a task in "focus-mode." To integrate both a Python script and JS code, we refactored the codebase into an Electron desktop app.

Challenges we ran into

Initially, mistakenly used GitHub Copilot to build the project → scrapped and began the project again from the ground up once the mistake was realized. Prompts would not be processed/never reached the API → Claude found we were using an old API key and old versions of dependencies that were no longer in use. One option within our framework ("something else" in "you might be stuck because...") was capped at 20 words per prompt, prompts almost always necessitated more → updated the prompt word limit and expanded it. Word cap was removed, but prompts still weren't being processed → Claude identified and corrected programming flaws that mistakenly interpreted prompts as invalid. Task data was lost after each interaction → prompted the user to decide whether that task had been completed or not. Task data was still not being stored when the task indicated incomplete → created chat history log to maintain continuity across task breakdown solutions. Eye tracking requires a Python script running at all times, but you can't do that on a webpage → decided to pivot to a desktop application

Accomplishments that we're proud of

  • Implementing a Computer Vision eye tracker using Python with cv2
  • Creating a fully functioning desktop app with said eye-tracker implementation
  • Making sure responses are relevant and related to the task that was given

What we learned

Creating a platform, especially involving addressing aspects such as executive dysfunction, is very difficult. There are a lot of nuisances involved, in terms of how a user may perceive a response or even how a response is received by the program. Human emotion is complicated, and mapping those aspects of humanity must be treated with as much dedication as possible, especially in terms of an app that will be used by people. In terms of the project itself, we should have paced ourselves better, as there were times when we took too much time implementing a single feature that otherwise could have been excluded from the final implementation or even had to be cut out entirely. For example, we had to exclude Google Calendar integration because of API issues, which cost us a lot of time.

What's next for Unstuck

The goal is for clinical neuropsychologists to be able to use this tool within a medical setting after proper scaling and testing. If we can develop a fully-functional platform, we will then plan an IRB-approved pilot with one FQHC partner. Alongside this, we will develop a clinician-facing dashboard that enables providers to “prescribe” the tool and monitor patient engagement in real time. Integration with major EHR systems, including Epic and athenahealth, will ensure that activation and usage data flow seamlessly into the clinical record. As the product is used in real-world settings, we will expand the friction taxonomy based on observed behavioral patterns. Finally, we aim to introduce a proactive ambient mode in which the app can read calendar context and surface likely friction points before the user becomes fully stuck.

Built With

Share this project:

Updates