Simple implementation would be something like computing my daily utility and graphing the final daily values for the past month, with "utility" being a metric for how well I used my time that day.
Before implementing, consider:
Instead of having a day go from midnight to midnight, have a day go from sleep to sleep. (How would you handle all-nighters? Are there other edge cases?)
maybe for each m minutes of productive work that is done, the user earns n minutes of fun time? This could be generalized to include allowing infinite free time after hitting k hours of work, possibly by utility itself. Utility starts at zero at the beginning of the day. Maximum number of allowed minutes of fun slowly climbs until the last few hours of work, then climbs quickly. (be careful to not incentivize quitting early though).
~Must have a client side script that gets the current utility and explains its value. (esp what items had the most positive & negative impact on it). I tentatively think it'd make the most sense to have that be done server side.
get points for a good sleep schedule (consistent bed & wake times; sufficient duration).
maybe: full bonus for sleep starting before a particular time, no bonus for starting after a later time, linear scale between the two
ensure that I'm incentivized to not skip shutdowns. (by definition, doing shutdown must always get more points per minute then I'd lose from staying up later)
It's unlikely, but I might want to always have current utility be high when I'd doing well, instead of reseting to zero when sleeping then climbing back up as I do well.
Have weight affect utility? Either raw weight compared to my target weight, or (calories consumed - calories burned). Related, just earn points based on what I eat; ideally points for having food in the house but not eating it (incentivizing me to learn self control), more easily I could just earn points for eating say < 1000 calories of junk food / day.
Have distinct daily & weekly utility functions?
does weekly reset each week, or is it continuously computed from the past 7*24 hours of data?
Since all data is stored locally relative to LLS, I would think utility could be calculated very quickly, possibly negating the need for a separate database entry.
Bonus points / multipliers
avoid discontinuities when it makes sense
7&8th productive hours of the day increase utility at triple the normal rate
n-m-th exercise hours of the week are worth y times as much as normal on the weekly utility function
Slight multiplier for hitting utility target multiple days in a row? That would discincentivise bad days, but would also make it harder to recover from bad days...
Possible future extensions; add actual tasks for them if seriously considering implementing them:
cheat / rest days; e.g. if past six days have been productive, allowed to take a day off without hurting utility.
Tracking & getting points for fully completing the bootup/shutdown process. (Just log completion by clicking a link in the Motivatio app?)
Reward high utility with guilt-free spending money?
Simple implementation would be something like computing my daily utility and graphing the final daily values for the past month, with "utility" being a metric for how well I used my time that day.
Before implementing, consider: