I wanted to design this project off of current browser extensions that will block access to certain sites; however, I wanted to also include a process for "unblocking" the sites if a user has the patience to complete various tedious challenges.

What it does

Right now, the entire program is run in the Scala console. It prompts the user to test out the various challenges, or to simulate the unblocking process at three different difficulty levels.

How we built it

This project was built in Scala with the IntelliJ IDEA IDE. I have also created the skeleton code for a Firefox extension, but due to time constraints the two are not yet linked together.

Challenges we ran into

One major challenge I ran into throughout the development process was finding the best way to link my Scala code to the web page that the Firefox extension will trigger. I attempted experimenting with Scala.js, but due to time constraints I was unable to finish this.

Accomplishments that we're proud of

I am proud to say that the unblocking process works exactly as I hoped, albeit simply in the Scala console as opposed to in the extension. The challenges are difficult and randomized to ensure that uses cannot cheat.

What we learned

Through this Hackathon I had the opportunity to refresh my skills in Scala, as well as experiment with a variety of methods for streamlining Java code and making it more efficient.

What's next for Productivity Manager

I will likely continue to research Scala.js and other methods for linking my Scala code to the Firefox extension. I must also create more code so that the user can actually specify what sites need to be blocked and at what frequencies to block them.

Share this project: