Timebox was the result of combining my desire to learn more about native mobile development, checkout the new Swift language, and my frustration with planning everything I needed to do with everything I wanted to do.

This project uses Apple's EventKit APIs to access and manage calendar events as well as "reminders", which I used more like to-do lists. I wanted to harness the power Apple already provides like using Siri to add events and to-dos, and use their syncing infrastructure to sync between multiple platforms. I layered a Firebase database integration on top that stores some extra data attributes to provide new functionality as well as provide user account support.

Natural Language Input

Natural language input has become increasing popular to reduce the effort required to input data. I already had limited support with Siri, but I wanted to try adding text input support inside the app as well.

To get the basic event / to-do functionality, I used a JavaScript library with Apple's JavaScriptCore to do the bulk of the work. I then added a calendar parsing feature using the "/CalendarName" syntax.

Fancy Features

There were a few other features I added to help manage many events on my calendar, like swipe to complete, delete, hide, or quickly push to a later date.

Try it out

I've stalled on releasing this project because I found that while I enjoyed many of the features, I wanted it to be desktop first for a variety of reasons. The desktop version is coming soon...

If you are interested in seeing more of this project, you can find a hosted version of it here. If you'd like access to the beta version, reach out and let me know.

I'm currently interested in using immutable models, flux design pattern, and docker for scalability and platform agnostic development.