Principles
Every decision,written down first.
Every part of Screenshot Studio was argued out in a written RFC before it was built. These are the decisions that shape the product, quoted from the documents that made them.
Principles
How we build it.And why.
Thirteen commitments. Each links to the document it comes from.
- 01
Freeze the promise
The promise is narrower and better: give us what you shipped, and we turn it into polished, ready-to-publish content. Everything else has to earn its way in.
“Do not promise "AI runs your entire marketing department."”
RFC 009 - 02
Build inside out
Deterministic primitives first, then recipes, then an agent, then autonomy. Each layer calls only what the layer below has proven.
“If we reverse this order and start with the agent, we debug hallucinated workflows instead of building a product.”
RFC 009 - 03
Recipes before agents
Control flow is code. Models fill in text at fixed points with validated output, so a bad run points at one step instead of a shrug.
“A recipe that fails names its failing step.”
RFC 015 - 04
Objects, not transcripts
A campaign is a database object. Chat is one way to change it, along with a form, an API call, or a scheduled job.
“We do not store campaigns as conversation.messages[]. That is a trap.”
RFC 014 - 05
The workspace over chat
Every action available through chat is available without it. The copilot is an accelerant, not the product.
“AI manipulates the workspace. The workspace is not merely the output of AI.”
RFC 018 - 06
Approval is structure
Approval is a server-side state machine that no tool call can skip and no API key can pass.
“Approval is the human gate the whole platform rests on.”
RFC 019 - 07
Safe tools
Agents get domain capabilities, not infrastructure. No SQL, no arbitrary HTTP, no credentials, and no way to name another workspace.
“The model decides what to do. The application decides how it is done safely.”
RFC 016 - 08
Cite or ask
A launch that invents a benchmark costs more than a launch that asks one question.
“A claim citing a source that does not exist, or citing nothing, is removed and turned into an open question.”
Launch intelligence - 09
Manual beats scraped
Automation fills empty fields. It never overwrites what a person wrote.
“A user-typed description always wins over extracted content.”
RFC 032 - 10
Degrade into something useful
Copy without a creative beats nothing. A form beats a spinner. Partial results are kept and labeled.
“The floor is that a founder always reaches a workspace with something to act on.”
RFC 021 - 11
Late beats twice
When delivery is uncertain, a person decides. Nothing is blindly sent again.
“Duplicate announcements to customers are worse than late ones.”
Customer email and release broadcast - 12
Autonomy is earned
Users choose their level. A mode never widens what a role is allowed to do.
“The progression Manual → Copilot → Autopilot replaces any jump directly into autonomy.”
RFC 031 - 13
Measure the return
A team that runs one launch and never comes back received a demo, not a product.
“Return rate is the one that matters.”
RFC 021
Related