About the Project

Inspiration

According to CADDAC, 5% of Canadian children and 4% of Canadian adults are diagnosed with ADHD. In reality, the number of people who suffer ADHD is much higher due to widespread diagnosis. ADHD is a very common disorder that impacts the way people focus and work on tasks. In fact, we all have days where we spend more time scrolling through our phones than we like. With distractions just a click away, staying focused has never been harder. Our goal was to create a solution to not only aid those with ADHD in focusing on their everyday digital tasks, but everyone looking to improve their habits as well. We set out to implement this in a way that is effective, creative and fun to use.

Our complaint with other focus apps is that they block only specific apps or sites, rather than specific content. No Hooting Around is unique and innovative in the sense that it uses AI to determine if the user is off task from their stated goal by periodically scanning the content that they are viewing. Depending on the confidence that the app has that the user is off task, the app will either allow the user to continue using the site, ask them why they are using the site and close it if the reason is invalid, or close the site all together if the site is obviously off-task.

What We Learned

Building this project taught us:

  • The Art of Behavioral Design: Designing a tool that motivates without annoying users requires understanding user psychology and balancing gentle nudges with actionable feedback.
  • AI Integration in Everyday Tools: Leveraging OpenAI’s API to interpret user activities in a meaningful way taught us the nuances of combining machine learning with user goals.
  • Chrome Extension Development: We explored the power and limitations of the Chrome Extensions API, from scripting capabilities to handling permissions and managing frequent API calls.

How We Built It

  1. Frontend:

    • A web overlay with animations, created using vanilla HTML, CSS, and JavaScript.
    • A popup web extension interface for setting and tracking goals.
  2. Backend:

    • A Flask-based Python server with custom API endpoints which communicate with OpenAI’s API to analyze user screenshots and determine how productive users' current activity is.
    • Additional API endpoint utilizing OpenAI to evaluate user's reason for visiting a "potentially distracting" webpage given context.
    • Communication between Chrome extension and backend server via RESTful API commands.
  3. Chrome Extension Features:

    • Browser activity tracking using Chrome’s tabs and scripting APIs.
    • Screenshots are analyzed in real-time to relevance of activity to user-defined goals.

Challenges We Faced

  • Animation Overlay: None of the team has previously worked extensively with frontend, especially animations. Perfecting the owl's motion using CSS and JS was incredibly difficult, but eventually paid off.
  • Extension Limitations: Chrome Extensions have restrictions on memory usage, API calls, and background activity. We aimed to avoid using complex frameworks to make this application, as the idea isn't too complex after all. However, this quickly proved difficult as the implementation of technology was far more intricate than we had imagined. This was the primary reason why we moved towards server-side backend logic via flask.

Why It Matters

No Hooting Around allows those struggling with ADHD an easy and fun way to be productive. Given the wide variety of goals users have, applications and websites that distinguish between productivity and unproductivity are unique to each person. This is what separates No Hooting Around from other productivity tools. Productivity management is tailored directly to the user's needs, allowing for quick and effective elimination of distractions. Users will undoubtedly become much more productive with the use of this tool.

Built With

Share this project:

Updates