
The plugin model, explained to a bookkeeper who has never heard of a plugin
What a plugin is, in plain language. How minidesk plugins work. Why the model that lets a thousand developers build is the only one that respects the people who actually know the work.
Max Hilton · Founder, minidesk
A bookkeeper in Petaling Jaya who runs her practice on SQL Account does not care about "the plugin SDK." She cares that her WhatsApp works, that her ledger reconciles, and that the AI does not surprise her. So let us start there.
A plugin is a piece of the desk
Imagine the front desk of a real business. There is someone who answers WhatsApp. There is someone who chases overdue invoices. There is someone who writes up the day's takings. Each one of those is a "role," and each role is a plugin in minidesk.
minidesk itself only ships six of those roles by default — the ones every business needs. The rest are plugins, written by other people, that you can install in one click. The WhatsApp plugin reads your WhatsApp. The SQL Account plugin reads your ledger. The plugin that sends an overdue reminder reads both and writes a WhatsApp message back.
Why the model that lets a thousand developers build is the only one that scales
We are a small team. We cannot write the plugin for every accounting software in every market in every language. We do not need to. A freelance developer in Johor who knows SQL Account can build the SQL Account plugin, list it on the marketplace, and earn revenue from every install. A freelance developer in Hanoi who knows MISA can build the MISA plugin. The shape is the same in every market; the names of the local software are the local team's call.
That is what we mean by the plugin model. Not an app store. Not a SaaS. A community of developers who know the local software better than we ever will, building for the businesses who run it, on a contract that guarantees the data isolation is intact.
What the contract is
When a developer ships a plugin, they declare what data it needs (its "scopes") and what it does with that data. The declaration is the contract. The user sees the declaration before they install. The data isolation is enforced in the database regardless of what the plugin says — the declaration is for the user's information, not the security boundary. minidesk can revoke a plugin's scopes in an instant if the developer stops shipping or the marketplace flags a problem.
That is the whole shape. A plugin is a piece of the desk, written by someone who knows the work, on a contract that holds the wall.