- Recorded by
- Incidental NFC tag at the door
- Condition
- First tap of the day is at or before 6:30. Taps before 4:00 don't count as waking up.
sleep.wake_at ≤ 390No data = missOn days I miss a routine I set for myself, my own money becomes a gift for a friend. Three projects work together: one judges routines from activity logs, one turns penalties into gifts, and one studies which penalties actually raise my completion rate.
hakaru passes each missed routine directly to haburn. komon only reads both databases and never writes to production.
Scroll sideways to see more. Dashed lines are read-only. Logos are trademarks of their respective owners.
I check what's left in hakaru, and friends receive gifts through LINE and haburn. Numbers are examples.
It distills only while you hold.
When full, it is shown once.
No amounts are shown, only what happened.
Collects activity logs, judges each routine, and passes only the misses to haburn.
Automations in the iPhone Shortcuts app run on events such as leaving home, paying with Suica, or joining the gym's Wi-Fi, and send a record to the hakaru server. Nothing has to be typed into an app. hakaru fetches GitHub and calendar data on its own.
POST /ingest stores it as an observationRules live in the database, so changing a threshold needs no deploy.No data = missmarks routines where missing data itself means it wasn't done.
sleep.wake_at ≤ 390No data = missactivity.steps ≥ 6000app.morning_launch ≤ 0reading.count ≥ 1No data = misscommits.total ≥ 1bodyweight.sets ≥ 1gym.visits ≥ 2payment.convenience.days ≤ 3oss.merged_prs ≥ 1Weight ×3Turns penalties for missed tasks into gift codes and sends them to friends on LINE.
Compares hakaru's results with haburn's penalties to find which penalties raise the completion rate.
Two conditions with the same expected value are randomly assigned day by day. Below: 10 days, each with 3 misses.
For someone who decides on expected value alone, the two B1 conditions are identical. If the completion rates still differ, the difference comes from how money is perceived. Kahneman and Tversky's prospect theory describes that distortion with two curves.
A loss feels stronger than a gain of the same size (loss aversion), but the pain per yen shrinks as the amount grows. On this effect alone, a large, rare penalty feels small, so the certain penalty should raise the completion rate more.
People overweight small probabilities (probability weighting), which is one explanation for why people buy lottery tickets and insurance. On this effect alone, a 10% penalty feels heavier than it is, so the lottery penalty should raise the completion rate more.
Relative felt pain. With these estimates, probability weighting outweighs diminishing sensitivity, so the lottery feels heavier. My own curves are unknown, so the experiment tests it.
I didn't compare ¥100 with ¥300 because standard economics also predicts that a larger penalty raises the completion rate, so it can't test prospect theory.
haburn works end to end on real data, from judging to receiving
hakaru starts judging only (no penalties)
Handoff from hakaru to haburn turned on; penalties start being recorded
komon starts experiment B1 (in progress)