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.
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:
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.
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.
Instead of explaining the architecture first, here's the system's actual behavior — the kind of entries that show up in its own log.
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.
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.
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.
"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.
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.
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.
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/babypoolA live ledger of standing wagers with the group chat, styled like a real sportsbook — bet slips, stakes, and countdowns to settlement.
sameer.us/bettrackerMy collection as a chronological timeline, plus the wishlist. Specs, references, and — regrettably — the running total.
sameer.us/watchesA doomsday-clock-style meter tracking exactly how unhinged our friend Q is right now. Deeply unserious. Rigorously maintained.
sameer.us/qmeterThis 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.
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.
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.
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:
From my phone, whenever the thought strikes: fix the countdown on the bet tracker or research double strollers. That's the entire spec.
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.
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.
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.
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.
No servers to babysit, nothing exotic — boring, reliable parts arranged so that a chat thread can drive all of them.
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.
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.
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.
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.
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.
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.