HabitRPG | Gamify Your Life

A habit tracker app which treats your goals like a Role Playing Game. Level up as you succeed, lose HP as you fail, earn money to buy weapons and armor.

How Does it Work

Watch the video tutorial here.

Habits

Habits are goals that you constantly track. For some habits, it only makes sense to gain points (eg, "1h Productive Work"). For others, it only makes sense to lose points (like "Eat Junk Food"). For the rest, both gain and loss apply (eg, for "Take The Stairs", stairs is a gain, elevator is a loss).

Dailies

Dailies are goals that you want to complete once a day. At the end of each day, non-completed Dailies dock you points. If you are doing well, they turn green and are less valuable (experience, gold) and less damaging (HP). This means you can ease up on them for a bit. But if you are doing poorly, they turn red. The worse you do, the more valuable (exp, gold) and more damaging (HP) these goals become. This encourages you to focus on your shortcomings, the reds.

Todos

Todos are one-off goals which need to be completed eventually. Non-completed Todos won’t hurt you, but they will become more valuable over time. This will encourage you to wrap up stale Todos.

Rewards

As you complete goals, you earn gold to buy rewards. Buy them liberally - rewards are integral in forming good habits. But only buy if you have enough gold - you lose HP otherwise.

After you’ve played for a while, you unlock the Item Store under the rewards column. You can now buy weapons, armor, potions, etc. Armor decreases HP loss (by an increasing amount wich each upgrade). Weapons increase experience gain. Potions recover 15 HP.

Watch the video tutorial here.

Resources

License

Code is licensed under GNU GPL v3. Content is licensed under CC-BY-SA 3.0. See the LICENSE file for details.

Credits

Content comes from Mozilla’s BrowserQuest

<@footer>
{#if _loggedIn} User ID
Copy this ID for use in third party applications.
{_user.id}

<@footer>

This resets your entire account - your tasks will be deleted and your character will start over.

This is highly discouraged because you'll lose historical data, which is useful for graphing your progress over time. However, some people find it useful in the beginning after playing with the app for a while.

<@footer>

Habit is maintained by one dude: Tyler. Until Habit can make money, I need to stay afloat to fix bugs and add features. Consider it a donation :D

If ads make you sick, chime in on Habit's open business model discussion

<@footer>
{else} Login / Register With Facebook

Or

{/}

Game Over

Continue

Highly discouraged because red tasks provide good incentive to improve (read more). However, this becomes necessary after long bouts of bad habits.

<@footer> {#if lessThan(_user.balance,1)} Buy More TokensNot enough tokens {else} Re-Roll4 Tokens {/}

Habits

    {#each _habitList as :task}{/}

Daily

    {#each _dailyList as :task}{/}
    {#each _todoList as :task}{/}
    {#each _completedList as :task}{/}
Clear Completed
{#if _user.history.todos} {/}

Rewards

{gold(_user.stats.money)} {silver(_user.stats.money)}
    {#each _rewardList as :task}{/}
{#if _user.items.itemsEnabled}
    {#with _items.armor as :item}{/} {#with _items.weapon as :item}{/} {#with _items.potion as :item}{/} {#with _items.reroll as :item}{/}
{/}
{{#if @noDismiss}}{{/}}
{tokens(_user.balance)} Tokens
Reset
{{@content}}
{#if _loggedIn} {#unless equal(@type,'reward')}
{/} {/}
  •     
    {#if :task.history} {/}
    {#if :task.notes} {#if equal(:task.type,'reward')} {else} {/} {/}
    {#if equal(:task.type, 'habit')} {#if :task.up}{/} {#if :task.down}{/} {else if equal(:task.type, 'reward')} {:task.value} {else} {/}
    {:task.text}
  •       
    {#if @reroll} {else} {:item.value} {/}
    {:item.text}
  • {#if equal(_nodeEnv,"production")} {/}