Inspiration

While deciding to study, work, or do a task on your laptop is easy, actually focusing on the task for extended periods of time can be difficult. Especially in today's age with more studies coming out on the shrinkage of attention spans, we decided to actually do something about it.

What it does

Our project is a productivity app designed to force their users to focus. First users enter a task to work on, say "linear algebra." If given permission, our app will proctor your screen and if it sees there is no "linear algebra" on the screen it will beep and pop up with an alert, forcing the user to regain their attention to their task. Users also have the option to have their gaze recorded, and if they are looking away for more than 5 seconds, say on their phone or talking to their friend, the app will again beep and force to user to look at the screen.

How we built it

We built this 100% in Swift, SwiftUI, and in Xcode. There are no API's, no data being read by an LLM, everything is local and only on the users machine, no privacy concerns to be worried about. We used Apple's Vision framework to grant access to the user's camera and screen and recognize everything going on.

Challenges we ran into

Some challenges we ran into was using a completely new language, UI framework, and IDE. Configuring the camera to be granted permission honestly took us too long and set us back a bit. The gaze tracker was a bit sensitive and would beep at anything, so calibrating that to our needs was a decent time chunk. Also, sometimes merging our git branches and resolving conflicts took too long. However, there were no breaking errors we ran into and our project is a finished, working product.

Accomplishments that we're proud of

We are proud of the fact we completely met our feature goals during this hackathon. Every hour we would make checklist items, and then work on those checklist items until they were complete. We are extremely happy looking at our documentation and it being full of checked off items!

What we learned

We learned a lot about Xcode, Swift, SwiftUI and Apple's different libraries.

What's next for Sapphire

What's next for Sapphire is adding more features we think users would like, for example a "Super Annoying Mode" where if the user is off task, an alarm blares and the screen flashes until they return to the task. Also local analytics, average time on task, time off task, how many times you get distracted in a session, total lifetime sessions. These are things the user might like to know about themself. Also more quality of life changes to make Sapphire as best it can be.

Built With

Share this project:

Updates