Every Day Calendar HTML5 edition

Yesterday I watched Simone Giertz’s latest YouTube video “How I managed to meditate every day for a year” and got instantly mesmerized by her newly designed Every Day Calendar — a bamboo-framed printed circuit board with gold-immersed touch pads and LED’s that keeps track of daily goals and motivates users to develop good habits.

Hardware components

In case you don’t know Simone, she is a YouTube celebrity famous for her hilariously useless robot inventions. Check out her 11-minute TED talk on “Why you should make useless things” to get a quick glimpse of her quirky ideas.

Her Every Day Calendar is not another invention of purely entertainment values. Its conspicuous display of shiny hexagons compels users, especially the OCD types, to complete a daily routine if only to continue the golden streak of victories. You could use a spreadsheet or stickers on a large piece of paper to record the same things — after all, we’re talking about merely 365 bits of entropy here—yet Every Day Calendar outshines these low-tech alternatives with its prominence in your living space, its projection of unmatched sophistication, and its $300 price tag that will surely induce many buyers to keep using it.

The product, however, won’t be shipped until December 2019 according to the official Kickstarter page. I’m really happy that Simone has already raised more than 10 times the original goal over the past few days. I also applaud her decision to open source the schematics, but the slow cycle of hardware development begets two burning problems:

  1. What should backers do to keep track of their daily goals before December 2019? Once they saw the Every Day Calendar, there’s simply no way going back to Excel or gold star stickers. The least painful solution seems to be postponing their habit for a year.
  2. The first batch of backers will most likely start using the product in early 2020, which happens to be a leap year. They will realize that the word “Every” in “Every Day Calendar” is not quite literal because the published circuit board layout contains exactly 365 touch pads, none of which denotes February 29, 2020. This is of course not a negligence in system design. Simone explains in the FAQ section that you should get the day off. “Sleep in! Eat some ice cream. Watch a movie. February 29th is going to be lit.”

If you’re not happy with aforementioned workarounds, fret not. I’ve solved both problems by building an open-source HTML5 web app at https://zmxv.github.io/everydaycalendar (Update: also available on a new custom domain https://everydaycalendar.app). You can start using this p̶o̶o̶r̶ ̶m̶a̶n̶’̶s̶ virtual Every Day Calendar today. No more excuses for procrastinating on that thing you always wanted to do!

HTML5 web app screenshot

The code has been published at https://github.com/zmxv/everydaycalendar. I cobbled the web app together over a couple of hours, so don’t expect anything fancy. For example, there’s no account system. No cloud synchronization. No GDPR issues. All your data is stored on the client side, in your browser’s localStorage. Also, the webpage is intended to be viewed on a medium to large screen. Running it on a mobile device is not advisable.

In fact, I didn’t spend much time on coding. (The JavaScript file is under 100 lines of code with neither frameworks nor accompanying tests.) The hard thing was to extract bits and pieces from Simone’s YouTube video and Kickstarter page, then recreate the look-and-feel of the unreleased product with my limited image processing skills.

Disclaimer: I’m not affiliated with Simone Giertz’s Every Day Calendar. I built this project out of admiration for her engineering ideas. I sincerely hope my little web app will have a neutral or positive impact on Simone’s hardware sales.