The Most Sobering Calendar - thelifecal

One of my favorite posts on Wait But Why is Your Life in Weeks, which examines what a calendar looks like, and how it affects you, when the blocks are weeks instead of days.

It just puts the totality and finite-ness of life into perspective by presenting your entire lifespan in an all-in-one easy-to-view image.  Everyone ought to have one of these hanging up in his or her room, or on the bathroom mirror, as a constant reminder to get the hell out of bed and accomplish something awesome.  Since I'm trying to accomplish something awesome through learning code, I thought it would be a good tool to implement as a web app.

Here's what I was able to gen up with my limited coding experience:

It hurts to look at - I know, and I'm sorry.  But if you look closely, you can see the letter "H" which denotes the current week of my life straddled by seeming endless "X's" (finished business) and "O's" (unfinished business).  The page scrolls, so thankfully there's more unfinished business than you get to see in the above image.  Still.  Sobering.

While it's not pleasing to look at, I did put in some effort to make it at least "presentable".  This forced me to learn what monotype is (even spacing for all letters of the alphabet such that rows and columns match up) and also some fuun math to resize the number of columns based on screen size.  Never. Stop. Learning.  It's in the title of the webpage, right?

One idea I really wanted to implement, but failed at, was colorizing sections based on different times-in-life (see first photo).

Another idea I wanted to implement, and succeeded at, was a mini journal feature, such taht when the user clicks a week's "X" "O" or "H", he or she can add notes about what happened that week (i.e. detail page).

I think that came out quite nicely.

An additional problem that I ran into with the free hosting is that Heroku limits database entries to 10,000 rows for free users.  Since the app assumes an 85 year life span, each user has at a minimum 4420 database entries (85 x 52 = 4420) just to populate the weeks. Each journal entry consumes another row too.  So really, my free hosting only supports 2 users max!  But free is free... and I don't think the app goes deep enough to really elicit caring much beyond knowing.  So there you go.

It would be nice to also show journal entries, if there are any, when the user "hovers" over a particular week.  I'm not that fancy yet.

While it was a great project to learn some web appin' - I think I'll stick to the good old print out stuck on the wall.  (Recently I've been thinking a lot about "working space" and how it just cannot ALL be digital, despite what so many of us want.  I'll think some more and maybe turn it into another post).

SAVE ME, PRINT ME, BE LEGENDARY:

Explore it Live! (Just don't break it plz)

YouTube Demo

Source Code on Github