Giter Club home page Giter Club logo

fitblitzed's Introduction

fitblitzed

(experimental) tool to "earn" and track (untappd data) beers via meditation (insight timer data) and exercise activity (fitbit data)

Backstory

So I realized at one point that, left to my own devices, I'd avail myself of social opportunities and drink like 300 beers in a week, or something. At one point I did look down and found myself thinking "pretty sure my 'winter coat' is just stored beer energy". This was at a point when I'd not been exercising a lot, etc. There were other downsides too: money spent, time spent drinking beers when I would have been fine doing something else.

So I decided to try an experiment.

Some background... First off, I have a treadmill desk (actually, two of them), so I have the means to get the exercise. I also have a fitbit so I can track how many steps I take, etc. (and I wear it all the time). I have an account on untappd and the phone app, so it's possible for me to record when I drink a beer.

I could:

  • Set up a system whereby I promote being active.
  • Tie drinking beer to that activity incentive.
  • Basically force a "budgeting" mentality on social beering.

My idea is this:

  • For every day when I clock 10,000 steps on the fitbit, I earn 1 beer.
  • For every day when I clock 17,500 steps on the fitbit, I earn 2 beers.
  • " " 22,000 steps " ", 3 beers.
  • Call those "beer tokens".
  • If I have a beer token I'm allowed to spend it on a beer.
  • If I don't have a token I'm not allowed to drink a beer.
  • When I drink a beer I record it in untappd.

I actually have another set of rules which come from the fact that I'm a meditator and I want to continue to promote meditating daily (and drinking lots of beer appears to interfere with that):

  • Record all meditation sits in Insight Timer (I have already been doing this for a number of years now).
  • If I have not already sat for 1 hour today, I cannot have a beer.

Now, obviously, all of this data management is automatable -- untappd has an API, fitbit has an API, and, well, Insight Timer has a horrible website and no real API, but I can screen-scrape.

So this repo is me cobbling together code to see if this is workable.

Other thoughts

  • It would be pretty easy to adjust the various constants, obviously
  • I plan on starting with "beer tokens never expire", but if things go well I would like to make tokens expire after, say, 1 month.

Issues

  • Time zones and stuff -- what do you mean by "today"? (this is especially true for Insight Timer, which has really crappy notions of "today", and if I travel things like "consecutive days" can easily get screwed up)
  • Why not just drink whiskey? Haha. The point is to actually promote those things above. But I like whiskey just fine, so I'll probably ultimately need a way other than (just) untappd to be able to record that I had a drink of something.
  • Is it just number of steps? Well, that's fine for now. Other health proxies could be measured later.
  • I've also been thinking about a hard limit to the number of beers in a given night, as, at my age, a hangover can waste more than just the following morning. We'll see if the budgeting mentality helps take care of this or not.
  • Your algorithm might change over time. Yep, it might. Probably the most straightforward thing would be to implement the various constants and time bounds (and perhaps even strategies) via a policy object that has time interval applicability. That may mean that we introduce state onto a token ("used" or not), instead of being purely functionally computable. Not sure. YAGNI.

fitblitzed's People

Contributors

rick avatar

Stargazers

Hadj H. avatar Gary Newton avatar Peter-Jan Karens avatar Joel Longtine avatar Ryan Parks avatar Stephen Yeargin avatar

Watchers

 avatar James Cloos avatar  avatar

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.