6 Comments
User's avatar
Shane Kunz's avatar

Some interesting takes here. Can you further explain your "Personal Background Assistants" setup? I too want to lean into just using coding agent harnesses for phone assistance, but how does it wake up or stay running for cases like paying recurring bills or responding to a social media message?

Also, for building, I totally agree on shift left, answering as many questions as you can ahead of time is definitely the best way to use the models, but at the same time, if your goal is "often an insight or the answer to the what-if question" and it's not to ship, maintain, or sell a software product, I wouldn't really call that all general "Coding" project advice. That's more advice for a prototyping session.

Shrivu Shankar's avatar

Hey!

> how does it wake up or stay running

It runs in a tmux session on my 24/7 mac mini. The mac mini stays on and the tmux session lets me run the claude code session continuously even when I close out of the ssh window. The hardest part is talking from my phone to the agent, and for that I use that referenced MCP channel feature which lets me inject context into the claude code session w/o having to open the tmux session and type commands into claude code.

> ship, maintain, or sell a software product

Yup for that you can see my other post on modern software factories: https://blog.sshh.io/p/designing-software-for-software-factories

The underlying principle is still "shift left" but you are right that it takes a lot more thought and design to "code" in the context of production systems.

Joe's avatar

Thank you for sharing this!

You mentioned that you use Fable for writing requirements and specs, but I don’t think you mentioned which model you use for implementation. Do you use Fable, does TECH_PLAN.md specify which model(s) to use, and/or something else?

Shrivu Shankar's avatar

Thanks!

I just alternate now between fable + ultra code or sol + max effort. The plan doesn't include it although sometimes I'll have the plan intentionally call out parts that could be good to parallelize during impl and I let codex/claude code figure that out when it sees it.