The rewrite tax
Count the versions of your last real-world app. There is the Express or Nest version for the server. The handler you extracted and mangled for Lambda. The API routes you re-declared when the frontend moved to Next. And now someone is asking for an MCP server so agents can use it.
Same domain logic. Four incarnations. Every framework you picked made you pay this tax, because every framework has a home runtime and your code belongs to it.
Stone.js starts from the opposite premise: an application is not an object, it is an act. Application = Domain x Context. You write the domain once; the context (server, function, browser, agent) applies itself to your domain at runtime, not the other way around.
Show me






