FxLifeSheet for my mood tracking
[deprecated] I'm now usingmood
I have looked in the mirror every morning and asked myself: "If today were the last day of my life, would I want to do what I am about to do today?" And whenever the answer has been "No" for too many days in a row, I know I need to change something.
Steve Jobs
Background
I've been a heavy user of 1 Second Everyday, where I created a very personal video of the full year for the last 730 days. (Check out a public sample video here)
One thing I noticed is that I associate the mood and happiness when seeing the videos, however, I know that this will slowly fade away as time passes.
I wanted a way to track my overall happiness and excitement in my life, allowing me to monitor, analyze and react to it. As Steve Jobs said, if you notice a downwards trend, it might be time to apply some changes to your life.
How it works
It's a simple Telegram Bot that will send you a message 3 times a day:
- One in the morning (I'd never reply to the bot before showering)
- One after lunch
- One when going to bed
You can always just text your bot a number, however, I know I'd forget it. That's why the bot sends you those reminders.
It then pulls up this really nice, optimized keyboard in Telegram, with a short description of what each number means.
If you forget to track a day, that's no big deal at all. The database is simple, it looks like this:
@_db.create_table :moods do
primary_key :id
DateTime :time
Integer :value
end
I decided not to store the information about breakfast, lunch and dinner, as it would make time zones more complex, as I'm traveling quite a bit.
Future
Graphs
I want a nice visualization page & dashboard for this. Maybe even just send a weekly and monthly summary via Telegram?
Right now, just send /graph
to your bot to get your historic mood as a simple graph.
Alerts
I want my bot to alert me when it detects a downwards trends. Similar to the stock trading approach, I was thinking of using the 7d average (7 days, 3 times a day => 21 data points). It's all relative, so if there is a downwards trends for 2 weeks, there probably is something bothering you
Integration into 1SE
I usually edit the 1SE videos slightly to have "subtitles" for some of the important life events. Additionally, I throw in the classic Every day of my life music.
Additionally, with that data, I want to overlay my happiness level somehow, probably in the form of a graph, a bar, or a wave. Not sure yet, but I got 11 months to figure that out.
How to use it
You'll have to setup a few things
- Create a Telegram bot using @BotFather and get the API key, and message ID with you
- Provide those values using
TELEGRAM_TOKEN
andTELEGRAM_CHAT_ID
- To get the
TELEGRAM_CHAT_ID
, send a message to your bot and then access the following URL in your browserhttps://api.telegram.org/bot[TELEGRAM_TOKEN]/getUpdates
. You'll see a message, and within that, the Chat ID to use
- To get the
- And host it on any server, like Heroku, and use the Heroku scheduler feature to call
rake morning
,rake noon
andrake evening
- Make sure the Heroku worker is enabled