Coder Social home page Coder Social logo

mood's Introduction

mood

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 and TELEGRAM_CHAT_ID
  • And host it on any server, like Heroku, and use the Heroku scheduler feature to call rake morning, rake noon and rake evening
  • Make sure to enable the Heroku worker is enabled

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.