There's two kinds of distractions: 1) Surfing the internet or checking Facebook, that we know are completely unproductive and we need to block out. There's many apps that help us combat these, like StayFocusd

2) Looking at emails obsessively and checking our phone notifications, that distract us by notification tones or alerts, and we really cannot block out, in case we miss out on an important email or a work related phone call. There's no easy way to block these, as we need to keep checking them in this always-on always-connected world.

This second kind of distraction is what's interesting, as they conflict with the notion of deep work, that is, giving one task our complete attention for an extended period of time. Surgery, programming, writing, any task that is cognitively challenging and interesting is best done via complete and unrelenting focus. So how do we stay on top of emails, phone notifications and messages while maintaining a high level focus on our current task?

I found out that the best way to manage both effectively and sustainably is being aware that these distractions exist, and _ delaying _ the need to check them every second, effectively doing our work in batches, so that we can focus on our important tasks, and while taking a break, we can go through each distraction one by one, and seeing if any needs attention. That's why I built Focus.

What it does

Focus has two components that work together - a web application and an Android application.

The web application integrates your Microsoft email, your Trello and all your phone notifications in one screen. All your emails and notifications appear in two columns, so that you can drag them onto a Trello list. Thus, you can manage these asynchronous and random distractions, and organize them into tasks you need to do, so that you can continue working on your more important work, and deal with them later. The Android application automatically grabs all phone related notifications like phone calls, messages, so that you don't have to look at your phone when you're working, and pushes it to the backend, which you can access on the Focus website. Then, you can drag the notification into your todo list to create an automatic todo, which you can access on the Focus website or

How I built it

I used html, css, and javascript (client side - angular.js and server side - node.js) for the website. Authentication and emails were done via Microsoft Graph APIs. The Android app was built with Java.

Challenges I ran into

I had to brainstorm a lot on the idea. I did not want to make just another application that sounded cool in theory, but no one would ever use it, so I spent a lot of time discussing the idea with people of all ages (friends, family) and refining it. I also did not want to build just a technically impressive but unusable application, so I spent a lot of time cleaning up the user interface and making it as intuitive as possible, so that after watching a 3 minute tutorial video, a user can potentially do everything the application supports.

Accomplishments that I'm proud of

I'm proud of building an application that I would actually use, and the integration of mobile notifications in real time.

Share this project: