DDuvapps

A business app is a database plus permissions.

Everything else is a preference. Invite someone and they land on the data they are allowed to see, in a grid they can actually work in. Then they shape their own screens on top of it, and any agent they bring inherits exactly their permissions.

No credit card. Your first app takes about four minutes.

What people get

Three surfaces, one definition

You decide who sees what. They decide how they want to look at it.

Data

The real tables, not a form over them. Filter, group, sort, summarise, edit in place. Everyone sees the same grid and a different slice of it.

Interface

Describe the screen you want and it gets built, on the same data. Kanban, dashboard, a form for one job. Keep the ones that help, delete the rest.

Connection

An MCP address, a REST base and a CLI, all carrying the permissions of whoever is holding them. Bring your own agent; it will not see more than you do.

The part that is hard

Permissions that hold everywhere

One rule engine answers the grid, the API, the CLI, the MCP server and the assistant. A field somebody cannot read is not hidden from them — it is absent.

Which tables
A table nobody in a group may read is not listed for them at all.
Which rows
“Only the deals you own” is a rule, not a filter someone can remove.
Which fields
A hidden column is absent from the row, the export, the API and the agent.
Which actions
Read, create, update and delete are decided separately.

Why it matters now

Your team already brought agents to work

They are pasting spreadsheets into chat windows because your tools have no door an agent can knock on. Duvapps gives every app one, with the same permissions as the person holding it.

# add your app to a coding agent
claude mcp add acme https://acme.gtable.app/mcp
# or from anywhere with a terminal
npx duvapps records list deals --view "Live pipeline"