— a momentum log

+ A progress log that writes itself.

Apple Health, Strava, your scale — any source you already use fills the log automatically. You add what they can’t see. Not a streak, not a habit grid: the actual record of what you did.

— works with

01

Today’s opportunities.

four entries · waiting on you or your gear · sample log
02

Active logs.

four kinds · each moves at its own pace
AB logC kindD heldE next entryF source
03

Field.log

12 entries · live · last 24h
A #B kindC practiceD whoE detailF sourceG when
01check-inDistance ladder · miRunner · Pacific NWLogged 5.2 mi. Strava verified.auto · verified22m ago
02skip held500 words / dayWriter · BrooklynSkipped Saturday. Streak holds — bank carried it.system2h ago
03goal setPull-up ladder · 1 → 12Lifter · AustinNew ordinal log opened. Twelve steps, climbing.tap2h ago
04milestone60 days of scalesCellist · BerlinDay 30 held. Halfway. Three skip days banked.tap3h ago
05check-inClimb ladder · ft gainedCyclist · BoulderLogged 1,820 ft via Wahoo. Verified.auto · verified4h ago
06comeback100 sketches · 90 daysDesigner · LisbonReturned after a four-day skip. Log resumes from day 41.auto · agent6h ago
07goal set10 customer calls / week · 12 weeksFounder · SingaporeNew calendar streak set. Weekly target.tap13h ago
08milestoneV-grade ladderClimber · Salt LakeCleared V5. Two steps left.auto · agent15h ago
09check-in30 lines / day · 120 daysTranslator · KyotoDay 64 logged. Steady.tap16h ago
10skip heldDaily commit · 90 daysEngineer · TorontoSkipped travel day. System held the line.system19h ago
11milestoneDistance ladder · mSwimmer · SydneyHit 2,000m step. New PR.auto · verified21h ago
12goal set20 pages / day · 60 daysReader · EdinburghCalendar streak set. Sundays optional.tap1d ago
12 entries · last 24h · liveview all →
04

Sources.

six sources · five auto · one manual fallback · one agent
Stravaauto

=STRAVA.activities("running", verified=true)

webhook12m ago
Apple Healthauto

=HEALTH.workouts(since=today)

daily pull47m ago
Garminauto

=GARMIN.steps(daily=true)

poll1h ago
OpenClawagent

=AGENT.post("events")

mcp · push3m ago
Webhookauto

=POST /api/events

bring-your-ownready
Tap (manual)manual

=QUICKADD("log", "value")

the fallback that always works
05

Plans.

two tiers · free does the work · autopilot does the typing
logfree · always
$0/foreverno card, no nag

= LOG.everything()

— what’s held
  • unlimited goals
  • unlimited entries, manual or tap
  • full history, all of it
  • public progress pages
  • challenges & shared logs
  • themes & dark mode
  • webhook in, agent push
no card requiredstart today
autopilotpower-up
$8/month · or $72/yrannual saves $24

= LOG.everything() + AUTOPILOT.sync(sources=*)

— added on top of free
  • Strava · runs & rides, verified
  • Garmin · steps, sleep, workouts
  • Apple Health · workouts & activity
  • GitHub · commits, PRs, contribution days
  • bring-your-own webhook, configured
  • agent · MCP push from OpenClaw & co.
  • weekly recap, written for you
  • priority support when a source breaks
effectively unlimited synccancel any time

a log that fills itself.

— ready when you are

Start your log.

Pick one practice. Wire one source. Tomorrow the log opens with one entry waiting — written by your gear, or by you. No streaks to keep, no checklist to clear.