I write a weekly newsletter covering what I've found actually works with AI coding tools, Go, and building products. If you want the configs, costs and workflows I use daily, it's worth subscribing.
Join the newsletter - it's free
I have a day job that eats the week, and the only solid block I get for EabhaSeq is early morning. After that it is stolen gaps: walking to the car, lunch, a few minutes between meetings. For a long time that meant the project moved when I opened a chat and stopped when I put the phone away. If the morning was blown, nothing happened. The repo waited.
Grok Chat is still where I think. I will sit down before work and talk through something messy: a scientific claim that is not ready to say in public, a GTM loop, a bit of product work. Same thing in a gap later, just shorter. The change this week is that the conversation is allowed to leave that thread. I hand the job to a Grok Bot that already owns that domain, go into the day job, and come back to PRs on GitHub instead of a half-finished note in a chat.
Note: none of this publishes, emails a customer, or checks out a trolley unless I say so. Drafts and research only. I still press send.
A morning conversation that became three PRs
The useful example is from 23 September 2026. This is a very scientific domain. Mixer maths, dosage proxies, language that is not allowed to drift into a clinical claim. That is why the example is useful. If a bot can carry a brief this fussy while I am in meetings, the same handoff carries a product port, a GTM draft, or a PA research dump.
What I wanted that morning was a request-only path for single-gene NIPT work on EabhaSeq. Not a shop. Not a generate button. A way for someone to say they are interested in a condition, and for that request to land somewhere I can see. SMN1 is a dosage proxy, not a clean SNV story. Fragile X and the mixer maths needed a review gate. The public language has to stay labelled synthetic. No clinical claim, no new AUC.
I talked that through in chat, then handed engineering to the Engineer bot and the claim fence to Chief Scientist. Engineer does not clone the repo onto the shared box. It kicks a Cursor cloud agent at ksred/eabhaseq-synthetic, which is the repo that actually backs app.eabhaseq.com.
Three PRs landed and I merged them:
- #55, the single-gene engine and the mixer / RMD harness
- #56, tier 1/2 gene configs including Fragile X and X-linked work, with a Chief Scientist review required before anyone treats it as done
- #57, request-only early access UI, no Stripe, sales email kyle@eabhaseq.com
There is a Notion page from the same day, sgNIPT validation checklist (CS), that locks the language and records what is not cleared. Rung 3 (FASTQ to BAM to pileup) is still open. That is the part I care about. The model will happily say the UI is shipped. The checklist is what stops me repeating that in public.
This is the loop I actually wanted. Talk in the morning, or in a gap. Bot owns the standing brief. Cursor does the repo work while I am in meetings. I merge when the receipt matches what I asked for. Same shape on the rest of the desk. Think in chat. Hand it to the bot that owns that domain. Come back in a gap and review.
I have written before about agents treating a transcript as proof. This is the same itch with a different surface. The chat is the briefing. GitHub and Notion are the record.
Two clocks, not one
There are two kinds of scheduled work on this setup, and I mixed them up at first.
Account automations sit on Grok and fire into chat. I can see those in the automations list. Weekday X growth drafts at 08:00, 12:00 and 15:00 London. Weekend drafts at 09:00 and 15:00. A daily X trends digest at 08:00. A Sunday Cotswold property search at 10:00. There is also a Sunday fitness review I left in place and turned the schedule off. Those jobs never publish. They draft. I pick.
Grok Bot routines are different. They live on the specialist bot, keep that bot's memory, and write back into that chat. This morning I put EabhaSeq GTM on that layer: signal watch, outreach drafts, inbound triage, article and content drafting. Those are not in the account automation list. They belong to the Chief Revenue Officer bot. Draft only. I send.
I mapped Krista Letz's Grok Bot GTM playbook onto that seat rather than creating a new bot for every role in the essay. I already had a prospecting owner, a science owner, an engineer, and a public-voice owner. Customer-expert-per-account and a slides bot can wait until I have three live threads. Inventing seats because a playbook named them is how you end up with two email bots and no outbound.
Household has the domestic version of the same idea. Sunday week-ahead for the shop and the cook night. Monday staging for dates and gifts. Stage the trolley. Do not checkout. I review.
The failure mode I have already hit on the X jobs is noise. A brief that fires three times on a weekday will rewrite the same theme if the prompt does not ban the last draft. I added "empty is better than slop" after seeing repeats, which is the sort of line you only write once you have been annoyed by your own automation.
Opening a bot and giving it a job
Not everything needs a schedule. A lot of the week is just opening the specialist and dumping a task.
PA is inbox, calendar admin and small research. Superhuman is connected. Draft a reply, show it to me, send it when I say send. This week that included a writing-tablet shortlist so I did not have to sit in three checkout flows in a lunch gap. I have not bought anything.
Household takes the family ops I do not want in the main chat. Shop, meals, whether a Friday already has drinks on it so a staged date night has to move. Still staged.
Engineer takes the "just build it" jobs that are not EabhaSeq. I pointed it at ksred/fitflow, an existing SwiftUI app, and asked for a web port without HealthKit so I can keep the same workouts from a CSV export. Draft PR #4 came back as a Vue 3 + Vite + Pinia + Dexie PWA under web/, with tests and a rest timer. I would rather a cloud agent open a PR than turn the shared bot computer into a second laptop.
Holiday admin is the same pattern. For a Cape Town trip I asked PA to find a small SUV, pickup in town on Friday 2 October rather than the airport arrival night, drop on Monday 12 October. It came back with a hold that cancels free until 30 September. It also booked parking at the airport and organised car hire. I still have to pay. The brief was find options only, do not book.
The constraint is copied from the production-agent work I already care about. Ownership lives in the bot description, not in a hope that the prompt will hold. PA does not checkout. Household does not book a sitter until I say so. CRO does not send mail. Audience Builder does not publish. Engineer does not invent APIs or mix EabhaSeq into a Headroom repo. I wrote about what actually goes wrong when you give agents production access. The descriptions are the cheap version of that fence.
They pass work to each other
The bit I did not expect to use this much is the hop.
Chief Scientist asked Engineer which repo owns the catalog UI. Engineer answered eabhaseq-synthetic and kept building. That is how PRs #55 to #57 existed as one job instead of three confused chats.
CRO can take a request-interest from that UI and turn it into an outreach draft. Audience Builder can ask CRO whether there is a content calendar for the week and get themes back with the banned claims listed. Household can tell the main chat it now owns Sunday and Monday, so family briefs stop landing on a coordinator that never ran them.
I still see the result in the originating thread. That matters. A private back-channel I cannot read is how you get two versions of the truth.
Cursor cloud agents sit under Engineer on purpose. A long-lived conversational bot is the wrong shape for "merge #56 after CI". The bot specifies. The cloud agent implements. I merge. I came back to Cursor for a lot of this for the same reason I switched a chunk of daily coding onto their CLI: it is fast enough that I will actually kick a job before work or from the car.
What I got wrong
I treated the main Chief Everything Officer chat as both coordinator and worker. Family routines sat on schedules that did not fire. I moved them to Household. That should have been the first design.
I almost spun extra GTM bots because a playbook had names for them. I do not have three live customer threads. A Customer Expert with nothing to attach to is theatre.
I let X drafts repeat themselves before I banned the previous theme in the prompt. The automation was doing exactly what I asked. I had asked for the wrong thing.
I also keep having to remind myself that "merged" and "validated" are different words. #57 is on main. Rung 3 is not cleared. Chief Scientist exists so I do not blur those in a tired paragraph between meetings.
What's next
I am leaving the EabhaSeq bot routines running and judging them on whether tomorrow morning I have a short draft queue I can actually send, not on whether the prompts look complete. If the pulse is a wall of text I will cut it. If the drafts repeat a theme I already rejected I will ban that theme the same way I did on the X jobs.
The morning test is simpler. If I can start a brief before work and find a PR or a draft waiting at lunch, the setup is doing the job. If I open the same chat and have to explain the repo map again, it is not.
