Inspiration

As students who just graduated high school, soon heading off to university, we fully understand the struggle of procrastination. When one has so many tasks laid out in front of them, it can be difficult and sometimes overwhelming to narrow down where to begin; wouldn't it be easier if someone could just tell you where to start? Taking inspiration from Google’s “I'm feeling lucky”, where the user puts their faith into the browser’s button, our application works in a similar way. Users are able to list their tasks, rank them, and then put their faith into our application to sort their tasks and output which should be completed next, in the most efficient (and burnout-preventing) order.

What it does

Feeling Tasky is a time management program for users to easily sort and prioritize their list of tasks. Users begin by inputting a list of tasks they need to complete, and are then prompted to rank their tasks from the easiest to complete to the tasks they are procrastinating the most. Once they are ready to begin, they click the start button and our program randomly generates a task for them to complete. Oftentimes, when individuals procrastinate, they tend to immediately prioritize all the easy tasks while saving the large important ones to the end. Our sorting algorithm evenly distributes the higher and lower rated tasks, ensuring that the user is equally exposed. Additionally, instead of wasting time deciding which tasks to complete first, which is a byproduct of procrastination, our program quickly chooses one and immediately displays it to the user. The user then enters how much time they need to complete the task, and once finished, they move on to the next randomly generated task until they are all completed.

How to use it

Read the README.md in the repository for instructions.

Access the README.md.

How we built it

We used HTML, CSS, and JavaScript to build a basic web-app interface that would provide all the features desired. Next, we used the Electron JS framework along with the Node JS runtime to go from a basic webapp to a more versatile desktop application. The basics of electron are as follows:

  • render.js (or some other entry-point) starts a process
  • the entry-point finds and serves up the HTML, CSS, and JS
  • while the rendering process whirs on in the background, the JS embedded in the application does the program logic and interacts with the user

Challenges we ran into

Feeling like a git...

Git is a difficult thing to learn the intricacies of as junior developers. Funnily enough, most of the time we spent fighting with this application was just trying to get git to push our code correctly and avoid overwriting each other's changes. It certainly caused some hair-pulling frustrations during the course of the hackathon, but now that we’re finished, we can safely say that we have a much better understanding of the way that git works.

Struggling with exports...

Dealing with data in a safe, efficient way is always a headache for developers. We encountered this while trying to port over the array of choices from the first page of our application to the second. We struggled because there were so many choices to go between. Databases are effective, but large and clunky. Plain text files are quick and easy, but ultimately not overly secure.

Accomplishments that we're proud of

We started small with the idea of having simple input box number systems for ranking the tasks entered into the application, but later decided that it would be a much wiser idea to implement a drag and drop feature. This allowed us to drop the clunky 90s esque feeling of using input systems and opt for something feeling akin to how a child plays with blocks.

What we learned

All of us learned how to use Electron for the first time for this application. Additionally, three of us were new to programming in javascript, html and css. Only one team member had experience with it. We had to work together to learn these languages as well as use them to create our application. We had to communicate, resolve issues, compromise and collaborate in order for the project to be a success. We used Github as well as Git to collaborate on the project. We were also willing to help each other with various issues that arose.

What's next for FeelingTasky

We have a few things in mind to improve the impact that FeelingTasky will have on students who have ADHD to students that are merely procrastinators. In order to better the FeelingTasky experience, in the future we would like to add a music component during the period of time that the user is completing each task. The music we use will be specific to help those with ADHD concentrate better as they finish tasks. It will improve their efficiency and ability to be productive while not feeling overwhelmed. Another thing we would like to add is a skip feature where the user can have a limited number of three skips per session. So they have a bit of freedom of what tasks they want to complete. If they receive a task that they don’t want, they have the choice to skip up to three times to find one they are willing to complete.

Share this project:

Updates