Everyone spends a lot of time on the internet, browsing their computers and phones nowadays. It has become mindless, and not surprisingly, a lot of time is wasted mindlessly browsing the internet. You're at school or work, and you're pretty productive. But for some reason you feel like you never get anything you want done when you leave the office. Why?

What it does

Introducing SmartSurfer. It's a lightweight data visualization tool that tracks your time online and gives you statistics on your surfing so you can see how much you are really using various websites, and how much time you are spending on them, whether it is productive( like StackOverflow or emails) or endlessly scrolling through Facebook and Instagram...not so productive. We want to help you get that time back!

How we built it

We built this as a Google Chrome extension using the google Chrome APIs so that we would have access to the users history and current browsing data. We also used python to do predictive modeling on the browsing data, and created a front end web page to show the data.

Challenges we ran into

Google Chrome extensions are very secure, and all code must run in the browser, something we were not aware of before starting. This made it very difficult to use data visualization libraries, and other JavaScript libraries. We also thought there would be data on time spent on sites, but there wasn't any data on duration using different sites, only timestamps of access. So we had to write our own data collection that monitored how long a user spends on each site.

One feature we can't put in our pitch in the predictive model. Using naive bayes, we train the user's data to then make a model that, given the time of day, predicts the website you will most likely be using. Unfortunately, getting the python training to work with the js Chrome extension has not been successful yet so all your data is actually just in a numpy array.

Accomplishments that we're proud of

For 3 of our team members, this was their second or first hackathon so we are happy to have a final project to show All of us had never made a Google Chrome Extension before, and didn't realize that was possible for any regular person to do! It was a great learning experience. We also learned front-end web design skills and UI.

What we learned

That you can make your own chrome extensions with just a little HTML and JavaScript! But also, that Google takes their security very seriously, making it hard to use anything besides vanilla JavaScript and HTML/CSS. It is also difficult to export that data and host anything on the server side for a chrome extension. Everything must run in the browser, making server-side databases and machine learning difficult!

What's next for SmartSurfing

Features that we planned, but ran out of time for:

  • Setting goals, and getting our time back! - We want to add a new page where users can look at their browsing data and set goals to reduce time or visits to particular websites
    • Using machine learning to predict common "problem times" for users when productivity is lost, or predict trends for time wasted and used productively in the future. If we tell a user that their browsing habits will lead to them wasting 100+ hours in the next month, that will motivate change!
    • More advanced and creative data visualization - Rather than just charts, we could have interactive models on the page, and add rewards for meeting reduced time goals, and popup reminders to limit screen time on "unproductive" sites.

Built With

Share this project: