Blog

Micro apps: build full apps from an API key — no more microservices

·4 min read

Skip the n8n flows, the Appsmith internal tools, and the glue. Describe what you want, hand over an API key, and get a real app — with CI/CD, per-branch config, and collaboration already in the box. The unit of software is shrinking, and throwaway is finally cheap.

For a decade the answer to “how do I build software faster?” was to break it into smaller pieces. Microservices. Workflow automations. Internal-tool builders. Each one promised to remove work, and each one quietly added a new layer you had to wire, host, and babysit.

Micro apps flip that. The unit isn’t a service or a flow — it’s a whole, small app that does one job end to end. You describe it, you give it an API key, and it exists. No orchestration layer in the middle.

No glue layers

Most “low-code” stacks are glue. You still assemble the real thing out of parts, you just do it in a GUI instead of a file. Micro apps remove the glue entirely:

  • No n8n — you don’t draw the flow, you describe the outcome and the app holds its own logic.
  • No Appsmith or retool-style internal-tool canvas — the app is the tool, not a dashboard bolted onto a database.
  • No microservices to split, deploy, and version against each other.
  • No DevOps tax before you’ve shipped anything a person can actually use.

Full apps from an API key

An API key is enough to do real work: read the data, call the model, hit the service that matters. A micro app takes that key, builds the screens, wires the calls, and runs — a complete product surface, not a node in someone else’s pipeline.

That’s the whole pitch: you bring intent and a credential, and you get an app you can open, share, and iterate on by chatting. The logic lives inside the app, where you can see and change it, instead of being smeared across a flow editor.

No more microservices

Microservices solved a real scaling problem — for teams of teams. For everyone else they became overhead: more deploys, more contracts, more places for a request to die. When building a whole app is as cheap as describing it, splitting it into services to “stay flexible” stops paying for itself.

Micro apps are the smaller unit that actually makes sense now: small enough to build in one sitting, complete enough to use on its own, cheap enough to throw away and rebuild. You don’t architect around them — you just make another one.

CI/CD, branches, and collaboration — already in the box

A micro app isn’t a toy because the boring parts come with it. Every project ships with CI/CD already wired, and state is per-branch — so a branch is a real, safe place to try something:

  • Change a var on a branch — a different API key, model, limit, or feature flag — and that branch builds and runs with it, without touching anyone else’s.
  • Branching is where creativity lives: spin one off, push it somewhere weird, and if it’s good you keep it, if it’s not you delete the branch. No blast radius.
  • Collaboration is included — teammates open the same project, work their own branches, and the pipeline builds each one, so “let me try a version” stops being a meeting.

You’re not bolting CI, environments, and review onto a side project after the fact. They’re the floor, not a milestone — which is exactly what lets a micro app be disposable without being flimsy.

Throwaway, on purpose

How many times have we written code we knew we’d replace — and paid full price for it anyway? Set up the repo, the pipeline, the deploy, the access, all to solve one thing that a small script or a tweak could have handled. The cost wasn’t the logic. It was everything around it.

Now you build an app for each project you have and throw it away when you’re done — and redo it the moment the need changes. We’re back to the spirit of “a simple script solves it,” except the script is a whole app with a UI, a pipeline, and a URL. A simple bychat app solves it.

We used to write expensive code we knew we’d throw away. Now a simple script solves it — and a simple bychat app solves it.