Skip to content
Pocket Homelab
Get the appComing soon to the App Store

Pocket Habits

v0.4.5 · Self-hosted · MIT

The bullet-journal habit spread, on your server.

Pocket Habits is the one-page notebook spread that sticks, made digital: a month grid with your habits down the side, green for did it and red for didn't, with sleep and mood drawn underneath. Five minutes to set up, one minute a night to fill in.

Tonight's check-in on an iPhone: workout, morning page and brushing the dog done, stretch missed, two habits still to markTonight's check-in on an iPhone: workout, morning page and brushing the dog done, stretch missed, two habits still to mark

Month page

The whole month on one screen.

Days across the top, habits down the side, with counts and streaks for each. Sleep score and day rating run as lines over green, yellow and pink bands, so you can see how they line up with what you did.

October as a grid of green ticks and red crosses for seven habits, with sleep score, day rating, weight and headache rows belowOctober as a grid of green ticks and red crosses for seven habits, with sleep score, day rating, weight and headache rows below

Check-in

One minute a night.

Big buttons for each habit, 1 to 5 pills for your scores, a number field that shows the change since last time, and one good thing about the day.

  • Trackers for any 1 to 5 score, a measurement with a unit, or a yes or no question
  • Mark a day as important and it turns red on the month page
  • One reminder a day, only if something is still unmarked
The second half of the check-in on an iPhone: sleep score 4 of 5, weight 79 kg, no headache and today's good thingThe second half of the check-in on an iPhone: sleep score 4 of 5, weight 79 kg, no headache and today's good thing

Insights

See what moves your scores.

Completion rate, current and best streak and rate per weekday for every habit. Below, your sleep score and day rating on days a habit was green compared with days it was red.

  • Over one, three, six or twelve months
  • Seven-day moving averages for every score
  • Weather from Open-Meteo, compared with your scores
Insights for three months: rates, streaks and weekdays per habit, and how running and headaches move sleep and day ratingInsights for three months: rates, streaks and weekdays per habit, and how running and headaches move sleep and day rating

Habits

Habits on their own schedule.

Give a habit the days it runs on, so a Monday, Wednesday and Friday run does not count as missed on Tuesday. Swap habits out at the end of a month; ended habits keep their history.

  • Colours, ordering, start and end dates
  • Higher or lower is better decides which end of a tracker is green
Habits and trackers: run on Mon Wed Fri, workout on Tue Thu Sat, house renovation at weekends, and four trackersHabits and trackers: run on Mon Wed Fri, workout on Tue Thu Sat, house renovation at weekends, and four trackers

And the rest of it

  • In the Pocket Homelab app

    The companion app for iPhone, iPad, Mac and Android has tonight's check-in, the month grid and your streaks.

  • Automation

    Personal API tokens and a single check-in endpoint for iOS Shortcuts, Home Assistant or n8n, plus a dashboard endpoint for Homepage widgets.

  • A daily reminder

    One push at a time you choose, through ntfy, Apprise or any JSON webhook, and only when something is still unmarked.

  • One file to back up

    A single binary and one SQLite database, with backups from the settings, the command line or the API, and JSON and CSV export.

Install

One container, one volume.

Run the image with a data folder and open it on port 8080. Create your account, add up to seven habits under Habits and trackers, and check in tonight. Set TZ: it decides what today is and when the reminder fires.

Already installed on a Pocket Box, with sign-in through Pocket Core.

Every setting in the README →

docker run -d --name pocket-habits -p 8080:8080 -v $PWD/data:/data \
  -e TZ=Europe/Berlin -e BASE_URL=https://habits.example.com \
  ghcr.io/abjelosevic88/pocket-homelab-habit-tracker:latest