More than weather + Slack
A weather widget tells you it's hot and a bot posts about it. Thermostat does something with the heat. Every cycle it answers one question — what should the room do next so the human's energy holds? — and then does it, with the reasoning visible.
The loop
Sense
Indoor board [temp, humidity, pressure, gas, light, motion, acoustics], outdoor conditions + 3-hour forecast, Oura biometrics, the calendar.
Reason
Wet-bulb comfort, heat-stress thresholds, circadian clock, 60-minute trajectory, upcoming deep-work blocks. The lens is chosen before the answer.
Act
The bulb (circadian presets), the IR blaster (AC, consent-gated), Apple Music (Focus / Wind Down transitions), a Slack synthesis.
Learn
Every action and every human override lands in biome.db — the acting, the reasoning, your feedback. The weekly review reads the trace and fixes the policy.
The routines
30-minute scan
Indoor vs outdoor vs forecast vs trajectory — Δ/hour computed, not guessed.
Hourly clinical synthesis → Slack
Outcomes → causal chain → why now → what's next. The physiological why, not a number dump. "29.8°C" becomes "your body can't shed heat — expect drained energy".
Circadian policy
Sunset-aware. Bright mornings (proposed, never assumed), warm work light by day, reading amber by evening, dimmer wind-down at dusk. Reasoning stated, then executed.
The AC protocol
ON needs consent. OFF is autonomous. 90-minute run limit. Default 24°C cool, fan auto. Learned IR codes replayed over LAN — no cloud in the path.
Music transitions
Focus playlist in, Wind Down at wind-down, volume sane. Apple Music via the Mac — same OS the agent lives in.
Constants: present, don't decide — it proposes with the reasoning visible, the human overrides. Trends, not point-in-time. No dark themes, no alarmist words, ever.
Live readout
Chennai, mid-August. Wet-bulb beats dry-bulb here — the agent reasons on heat stress, not just temperature. biome.db is the single source of truth: sensors in, decisions out, your feedback looped back in.
The hands
Tuya smart bulb
16M colours, driven over LAN (tinytuya). White mode is flicker-free — RGB flickers on this unit, learned the hard way.
IR blaster → AC
Learned codes replayed locally. Cloud command API dead? Irrelevant — the management API keeps keys flowing.
Mac + Slack
Apple Music for transitions, calendar for deep-work blocks, Podcasts for the commute. Hourly synthesis lands in Slack.
The skills
Each capability is a markdown playbook the agent loads when the task matches — policies before code.
The MCPs
Model Context Protocol servers — the agent's hands on hardware and data. Most are open source: