Why Gramlot / Working with AI

AI can write your code.
Keep it understandable.

A generated application is still software you will need to understand. Expressive declarations can make that job smaller—and leave you more independent of the tool that wrote them.

Generating the first version is only one step.

An LLM can help you get an interface on the screen quickly. Later, someone asks for a different validation rule, another calculated total or a new section. You need to know which code owns that behavior and what a change will affect.

This is the question to ask of a framework in the age of AI: will I be able to understand and maintain what it helped generate?

Few lines are valuable when they say something clear.

Short code alone is not the goal. A dense expression can be harder to understand than a longer one. Gramlot’s value is that a small declaration names the relationship:

Python · the values and the result are visible together
pane.dataFormula(
    ".total", "price * quantity",
    price="^.price", quantity="^.quantity",
    _init=True
)

You can see where the result goes, which values it reads and which changes trigger it. The framework handles the subscriptions and result update. The business rule remains visible in the page.

The value here is how the declaration participates in Gramlot’s shared Data model. That gives both you and an LLM a defined place to make a change. It does not prove the rule is correct; you still review and test the result.

Read it. Change it. Check what happened.

Read the relationship
Source describes the interface; Data holds its values. Bindings, formulas and controllers state how they connect.
Make your own change
Adjust a field’s validation, change a formula’s inputs or add another view of a value without reconstructing a chain of unrelated handlers.
Inspect the result
Examine Source and Data in the inspector. Follow the declaration into the running page instead of relying only on how the screen looks.

Being in control means being able to explain and modify your application, not merely possessing its files. Gramlot still has a model to learn; the return should be a clearer application with less connecting code to maintain.

Try a change without asking the LLM to do it.

Take the stay-estimate form. Change the guest limit, make the long-stay discount start earlier, or lower the guest supplement. Follow the effects on the total and deposit. Each exercise changes one declaration, and the full editable project is provided.

If you can explain the result and make the next change yourself, the declarations are doing useful work. That is a more meaningful test than counting how quickly the first screen was generated.

Follow a change from Python to the result →