Log habits and vices with a single tap, capture your mood and GPS location with every entry, and watch your streaks and totals build over time.
HabitLog uses your CharlesLogic account. Sign in with Google (one tap) or your email with a code.
Fastest. One tap if you're already signed into Google.
Enter your email, get an 8-digit code, type it in. Works everywhere.
The main screen shows a card for each habit or vice. Log an entry with one tap.
+ button — logs a positive entry. For a good habit this means you did it; for a vice it means you slipped.
− button — logs a negative correction. For a habit it means you skipped (or are undoing a mistaken tap).
Total count — shown on each card. Net sum of all + and − entries since you started. Can go negative for vices you're fighting.
Streak — number of consecutive days you've logged a + for a habit.
Each item is tagged as either a Habit (something you want to do more of) or a Vice (something you want to do less of). The color coding makes them easy to tell apart at a glance.
Cool colors — green, blue, teal, yellow. Each + is a win. Build the streak.
Warm colors — orange, red, pink, purple. Each + is a slip. Watch the total.
Every time you tap + on any habit, a popup card appears. At the top are two sliders for mood and energy — rate how you're feeling in that moment before dismissing.
Mood — from 😔 low to 😊 high. How you feel emotionally right now.
Energy — from 😴 low to ⚡ high. Your physical energy level.
Both default to the middle (3 out of 5). Just hit Got it! if you don't want to adjust them — the entry is saved either way after a few seconds.
Tap the 💭 mood button at the top of the habit grid to log a mood and energy reading without logging any habit. Useful for capturing how you feel at a random moment or when no habit event happened.
HabitLog automatically captures your GPS coordinates when you log an entry. Over time, this builds up a map of where you were when you did things.
Below the habit cards is a map showing colored pins for your recent logged entries. Each pin is color-coded to match the habit it represents. Tap a pin to see what was logged there and when.
The map also shows a dot for your current location when GPS is active.
Zooms the map to a 50-mile radius around your current location.
Zooms to fit all your logged pins on screen at once.
Expands the map to fullscreen. Tap ✕ Exit Fullscreen to return.
At the bottom of the page is the full activity log — every entry in reverse chronological order.
Tap the ▤ Activity Log header to expand or collapse it. It shows up to 25 entries at a time — tap Load more to see further back.
Each row shows the habit emoji, name, + or − delta, time, and any mood/energy values captured with that entry.
The filter bar lets you narrow the log to a single habit — tap any habit chip to filter, tap again to clear.
Tap the user icon (top-right of the header) to open the settings menu.
Tap + Add Habit or Vice. Pick an emoji, name it, choose Habit or Vice, pick a color, then tap Add. The ID is auto-generated from the name but you can customize it.
In Settings, tap any habit row to expand its edit form. Change the emoji, label, color, or type. Tap Save to apply. Reorder habits by changing the sort order.
Toggle Light Mode in the Appearance section. The app switches between dark and light without losing any data.
The danger zone: Reset all counts — start fresh deletes every log entry and resets all totals to zero. Habits themselves are not deleted — just the history. This cannot be undone.
When you're offline, HabitLog queues your entries locally in your browser. A yellow queued pill appears in the status bar showing how many are waiting.
As soon as you reconnect, the queue flushes automatically. You can also tap the queued pill to force an immediate flush.
● Online pill when connected, red ● Offline when not.
HabitLog is a PWA — install it on your home screen for fast one-tap access. On iPhone: Safari → Share → Add to Home Screen. On Android: browser menu → Add to Home Screen. It opens full-screen like a native app.
Each user's habits and log entries are completely private. Row-level security in the database means no user can see another's data.
HabitLog uses an append-only log — entries are never deleted or updated. Corrections are made by logging a compensating − entry, not by editing the original. This preserves the full history accurately.