sameer.us Field Notes · No. 01
The System, Explained

The laptop
stays closed.

How I run a personal software platform — live websites, smart lights, e-ink displays, and an AI agent that works through my todo list on its own — entirely from my phone.

7 min read · 27 reads

Somewhere around 2 a.m. a few weeks ago, I shipped a feature to production. I was on the couch. My son was asleep on my chest. I had one thumb free, and I used it to type a sentence into a chat thread. A few minutes later the code was written, committed, deployed, and live on the internet — and I hadn't touched a computer.

That's not a stunt. It's just how my stuff gets built now.

Here's the situation: I'm a product manager working on AI/ML by day, and I became a dad this summer. Both of those things are wonderful. Neither of them leaves you with long, quiet stretches of laptop time. But the ideas didn't stop — little apps for friends, things for the house, dashboards I wished existed. For years the graveyard between "I should build that" and actually building it was the act of sitting down at a computer.

So I set one rule for myself and built a whole system around it:

"If it can't be done one-handed from my phone, it doesn't get built."

Everything that follows came out of that constraint. The interface is a chat thread on my iPhone. The output is real software: a public website, PIN-protected dashboards, live web apps my friends actually use, two e-ink displays in my house, smart lights that react to the World Cup — and an agent that checks my todo list four times a day and just… does the work.

The one-sentence version

I describe what I want in plain English on my phone; the agent I've set up writes the code, ships it, updates the displays, schedules the automations, and logs its own work — and I review it all from the same chat thread.

Exhibit A

What that looks like on a random Tuesday

Instead of explaining the architecture first, here's the system's actual behavior — the kind of entries that show up in its own log.

07:15scheduled · daily

E-ink displays refreshed. Both TRMNL panels in the house now show today's stats for my son: how old he is, last night's feeding range, tummy time, and his latest growth numbers. Pushed automatically over the TRMNL API.

09:00task runner · 1 of 4 daily runs

Inbox checked, one task completed. Found "add a settled/void state to the bet tracker" in the todo inbox. Wrote the code, pushed to main, Vercel deployed it, marked the task done, and wrote this log entry. No human involved.

13:58kickoff watcher

World Cup kickoff detected. Two minutes before the match, the living room Hue lights flash red, white, and blue. My phone never left my pocket; the schedule was scraped and armed days ago.

21:40dispatch · me, on the couch

"The baby pool needs a leaderboard." One sentence typed into the chat. Twenty minutes later there's a ranked standings view live at sameer.us/babypool, and my friends are arguing about it in the group chat.

system.log — every entry above is written by the agent itself, into a tab I read with my morning coffee
The Control Room

One dashboard, four tabs, PIN-protected

A private, PIN-protected dashboard is the management hub — designed for one-handed phone use: floating action buttons, bottom sheets, swipe gestures. It's where I talk to the system and where the system talks back.

ProjectsEverything the system has shipped. Each project is a live page with its own preview image and public/private access control.
ResearchDeep-dives I've commissioned. "Compare every convertible car seat" becomes a cited report I read later, on my time.
TodoThe inbox that runs itself. I drop in one-liners. An autonomous run picks them up four times a day and does the work.
SystemThe agent's own journal. Every autonomous action gets logged here — what was done, when, and why. Trust, but verify.
Control Room PIN ✓
Projects Research Todo System
Add leaderboard to baby pool
Done in run #142 · deployed 21:58
COMPLETED
Refresh watch wishlist prices
Queued · next run 15:00
IN QUEUE
Research: best white noise machines
Queued · will publish to Research tab
IN QUEUE
+
The Public Shelf

Real apps, real users (okay, my friends)

Each project ships as its own page at a clean root URL — sameer.us/whatever — with proper link previews, thanks to a little edge middleware. These are live right now; tap through.

🍼

Baby Pool

Friends guessed our son's birth date, weight, and gender. $20 buy-in, winner takes all. The single most-visited thing I've ever built.

sameer.us/babypool
🎯

Bet Tracker

A live ledger of standing wagers with the group chat, styled like a real sportsbook — bet slips, stakes, and countdowns to settlement.

sameer.us/bettracker

The Watch Box

My collection as a chronological timeline, plus the wishlist. Specs, references, and — regrettably — the running total.

sameer.us/watches
📟

Q Meter

A doomsday-clock-style meter tracking exactly how unhinged our friend Q is right now. Deeply unserious. Rigorously maintained.

sameer.us/qmeter
Off the Screen

The system leaks into the physical world

This is my favorite part. Software you can only see in a browser is easy to forget. Software that lives on your walls and in your light fixtures is different.

ZAIN · DAILYTRMNL
Day 24
3 weeks, 3 days old today
Overnight feeds4 · 2.5–3.5 oz
Tummy time11 min
Weight trend↗ 9 lb 2 oz

Two e-ink displays, updated daily

A pair of TRMNL e-ink panels around the house show our son's stats — his age, last night's feeding range, tummy time, growth. A scheduled job pulls the latest numbers and pushes fresh markup to both screens over the TRMNL API every morning. Grandparent-approved.

Kickoff in 2 min — living room, armed

Lights that know the World Cup schedule

The Philips Hue lights flash red-white-blue right before a FIFA World Cup match kicks off. A scheduled task watches the match calendar and fires the bridge at the right moment. Is it necessary? No. Does everyone who sees it immediately ask how it works? Every time.

The Part That Feels Like the Future

An agent that does the work without asking

Most AI workflows are conversations: you ask, it answers, you shepherd. The interesting threshold is when you stop shepherding. Four times a day, on a schedule, this happens with nobody watching:

1

I drop a one-liner in the inbox

From my phone, whenever the thought strikes: fix the countdown on the bet tracker or research double strollers. That's the entire spec.

2

The scheduled run wakes up

At 9, 12, 3, and 6, a scheduled agent run opens the todo inbox and triages what's there — code change, research request, or data update.

3

It does the actual work

Writes the code and pushes to main. Vercel auto-deploys. Research gets compiled into a report. Data updates land in the store and flow to the displays.

4

It writes down what it did

Every action becomes an entry in the System tab: what changed, when, and why. The task gets checked off. If something needs my judgment, it says so instead of guessing.

5

I find out later — and that's the point

Usually I discover finished work the way you'd notice a tidied kitchen. The feature is just… there. Live. Logged. The loop closed while I was doing literally anything else.

Under the Hood

The whole thing, on one screen

No servers to babysit, nothing exotic — boring, reliable parts arranged so that a chat thread can drive all of them.

Tap any component to see what it does
Interface — the only one
The brain & the heartbeat
Ship it
What people (and walls) actually see
📱iPhone · chat dispatch

The entire system is operated from a chat thread on my phone. New features, content updates, research requests, deploys — all of it starts as a plain-English message, usually typed with one thumb. There is no step two.

The Scoreboard

By the numbers

1
Interface
(it's a phone)
Autonomous runs
per day
7
Live projects
on the shelf
0
Lines of code
typed by me
Field Notes

What building this actually taught me

01

The bottleneck was never typing. It was sitting down.

I always assumed I didn't build things because coding takes time. Wrong — the real cost was the context switch: the laptop, the desk, the "okay, now I'm doing this" ritual. Remove the ritual and the backlog starts draining itself in stolen two-minute moments.

02

Treat the AI like a teammate, not a tool.

Tools wait for input. Teammates have an inbox, a schedule, conventions to follow, and a place to write down what they did. The single biggest unlock was giving my agent all four — especially the System log. An agent that documents its own work is an agent you can stop supervising.

03

Autonomy needs guardrails, not permission slips.

The agent ships to production without asking — but inside boundaries: everything is in git (nothing is unrecoverable), private things sit behind a PIN, public things are declared explicitly, and every action is logged. Design the blast radius, then get out of the way.

04

Small, real, and used beats big, imaginary, and perfect.

A baby pool my friends actually fight over is worth more than any half-finished "platform" on a laptop that never gets opened. Every project here shipped in hours, not weekends — and shipping fast from a phone means ideas get built while they're still fun.

What's Next

More autonomy, more atoms

The direction of travel is clear: fewer things I trigger, more things that just happen. Next on the list — letting the agent propose its own tasks instead of only draining my inbox, more hardware on the walls, and voice as a second interface for when even one thumb is too many (new parents will understand).

The bigger point isn't my baby dashboard or my light show. It's that the cost of turning "I wish I had…" into working software quietly collapsed, and the tools to do it are the same ones I use to send a text. The stack fits in a pocket now.

The laptop's still around here somewhere. I just can't remember the last time I needed it.

Visit sameer.us
Written, designed, and shipped from a chat thread on a phone — one thumb, naturally.
sameer.us · /projects · July 2026