Published on

I ran a weekend IRL experiment with a “focus lantern”

avatar for Jigar PatelJigar Patel
3 min read

I wanted a signal I could trust when I keep saying “just 10 minutes more.” So I built a tiny IRL experiment:

  • a desk lamp that changes color with my focus state,
  • a shell script that tracks session state,
  • a cheap local stream I can glance at from the phone.

No dashboards, no SaaS, no analytics noise. Just a visible reminder loop.

The setup

I kept it stupidly simple:

  • a USB smart bulb that accepts local commands,
  • a bash script with three states (work, break, offline),
  • one cron job to keep stale sessions from getting stuck.
# states map to simple colors
default: offline -> blue
work: full focus -> amber
break: recovery -> green

I wanted the workflow to be readable at 10pm when I am tired and still know what to do.

Command-driven behavior

# start a 25-minute session
./focus.sh start 25m

# switch to break mode immediately
./focus.sh break

# force offline when work is done
./focus.sh stop

The script logs each transition to a local file:

tail -f .focus/state.log

I also added a backup check:

# if the script crashes, clear stale focus state
pkill -f focus.sh && echo "offline" > .focus/current

What I observed in practice

The system did not make me more productive by magic. It made me more aware of drift:

  • I stopped chaining 3-minute tasks without real breaks.
  • I stopped pretending I was “in flow” while checking random tabs.
  • I started ending sessions on time because the light made it visible.

The experiment also exposed a weakness: color-only signals get annoying in shared spaces. For weekends with visitors, I added a phone vibration companion and stopped the light after 2 sessions.

Checklist I kept after each week

  • Did the session timer match the actual work window?
  • Did I take at least one off-screen break?
  • Did I write a one-line summary for each work session?
  • Did the system recover from accidental script crashes?

Learning outcomes

  • Tangible rituals are often more effective than new apps.
  • Visibility beats intentions for habit loops.
  • Tiny hardware+script experiments are cheap and reversible.

What to improve next

  • Replace ad-hoc logging with a tiny SQLite file so trends are searchable.
  • Add a “skip to next” rule when a meeting drops in unexpectedly.
  • Add a Sunday reset script to archive logs and remove stale timer state.