§ The Runtime

No build step. The change is already running.

You change a function and the next request runs it. Nothing is compiled, nothing is bundled, and there is no repository checkout, no pipeline, and no deploy standing between the write and the run. That is the entire runtime claim, and everything else on this site rests on it. The mechanism is easy to state once you have seen the consequence: page code and Python live as rows in Azure SQL, and a request resolves the code it needs at call time.

This page is for developers. It describes the runtime on its own terms, with no assistant in the picture. If you want to know how an MCP-capable assistant operates this runtime, that is a separate layer on top and it is documented on its own page.

I

The Loop Is the Product

Most of the machinery in a modern web stack exists to move code from where you wrote it to where it runs. Transpile it, bundle it, commit it, push it, let a pipeline rebuild it, wait for the pipeline to tell you whether it worked, then look at the result. None of those steps are the work. They are the cost of the work being somewhere other than where it executes.

That cost is not paid once. It is paid on every change, including the one-line changes, including the ones that turn out to be wrong. The tighter the thing you are working on, the worse the ratio gets: a thirty-second wait is short enough that you stay at the screen and long enough that you get nothing done while you sit there.

Frames Studio removes the distance rather than optimizing the trip. The application is already where it executes. A save is a row write, and the next request resolves that row. There is no state in which your change exists but has not shipped, because there is nothing to ship.

“The build step is not slow because build tools are slow. It is slow because your code and your running application are in two different places and something has to keep reconciling them.”

II

What Rows Actually Buy You

‘Code in a database’ sounds like a storage decision. It is not. It changes what is addressable, what is queryable, and what a change is.

A function is addressable

Code is not buried inside a file that has to be read, parsed, and rewritten as a whole. A single function can be located and changed on its own, which is why a targeted find and replace is a normal operation here rather than a risky one.

Current state is queryable

What the application is right now is a question you can ask the database. Nothing has to be reconstructed from a checkout, and nothing depends on a local copy being up to date.

A save is an insert

Writes add rows rather than replacing them, so history is a property of the store instead of a separate system you have to remember to use. The version you just replaced did not go anywhere.

One entry point, always

Every write, from any path, goes through a single validated entry point. There is no lighter-weight route for automated writes and no second set of checks to keep in sync.

-- an edit is a row write, not a pipeline run
INSERT INTO dev_db.frames -- new version row
SELECT ... -- the edited source
-- relaunch the app; the change is live

Page code, Python, schema and desktop shortcuts are all records in the same store. That is why an application, the tables behind it, and the shortcut a user clicks to open it can all be changed in one place instead of three.

III

The Honest Trade

A runtime that removes the pipeline also removes the habits built around the pipeline. It is worth being direct about what changes, because these are the first questions a working developer asks and they deserve real answers rather than a feature list.

(1) Your Code Is Not Sitting In A Repository You Already Tool

The tooling you have wired around a repository does not automatically point at rows. What replaces it is not nothing: the current state is queryable, saves are inserts rather than overwrites, and every write passes one validated entry point. But it is different, and if your workflow depends on a specific repository integration, ask about it before you assume it.

(2) Review Happens On The Change, Not On A Pull Request

Edits run as a dry run first and return the exact byte delta before anything is written. That is a smaller and more precise review unit than a file diff, and it arrives before the write rather than after it. It is also not a pull request, and it does not carry the social process a pull request carries. If your organization needs review to be a named human approving a named change, that expectation has to be designed rather than inherited.

(3) Nothing Casual Reaches Production

Fast iteration and production are deliberately separated. Promotion runs through one gated path that moves code, schema, shortcuts and users together, so nothing arrives half-promoted. The speed described on this page is the speed of building and refining, not the speed of changing what your users are currently running.

(4) If It Has To Be Inside Your Boundary, It Can Be

The runtime does not have to be consumed as a hosted service. A self-hosted mode puts the whole thing inside your own environment, which is the honest answer when the constraint is where the data lives rather than how fast you can change an application. The three modes.

No build.
No pipeline.
Just the next request.

The runtime is the part worth judging first. If it holds up, the layer above it — an assistant operating this same surface through an MCP server — is a consequence rather than a claim. See that layer.

Want to try the loop?

Get a tenant and change something.

The fastest way to evaluate a claim about feedback loops is to change a function and reload the page. Tell us what you would build and we will get you a tenant.

Request Access