# When to use Jadpo, and when not to

Jadpo is an experiment. Try it to see what an agent writes when a strict compiler checks its work. Don't run a business on it.

## Use it for

-   **Experiments and prototypes**The first example needs no database or AI-provider credentials.fits
-   **Seeing what an agent writes when the compiler checks it**Every error says whether the next step is the agent's or a person's, and `jadpo check --json` gives the same to tools. [Hand it to your agent](/agents).fits
-   **Data-backed HTTP services with permissions**Stored records in PostgreSQL, who may see them checked on every query, and sign-in required unless a route says otherwise. See [signed in by default](/docs/routes-signed-in-by-default) and [when policy says no](/docs/when-policy-says-no).fits
-   **Several customers on one backend**Each customer's records are kept apart, and a permission applies only inside the caller's own customer. See [tenancy](/docs/tenancy).fits
-   **Evaluating the idea itself**Build one app step by step in [Learn Jadpo](/learn), or read the [28 example projects](https://github.com/jadpo-dev/jadpo/tree/main/examples), from a first function to an app that calls an AI model.fits

## Don't use it for, today

-   **Production**Nobody has shown it's ready for production, or that it performs as well there as it does locally.not today
-   **Anything that needs raw SQL or an arbitrary HTTP call**Jadpo code can't use either, and a way out isn't on the roadmap.not today
-   **Frontends and UI**A frontend can call the HTTP API Jadpo serves.out of scope
-   **Teams that need a mature ecosystem or a hiring pool**Jadpo has one maintainer and no public package registry, and nobody is hiring for it.not today
-   **Workloads that need proven edge performance**Workers builds pass local tests in `workerd`, Cloudflare's open-source runtime, but haven't run on Cloudflare itself. Performance is measured only locally.not measured
-   **Apps that need the language to handle personal data for them**Jadpo doesn't export, erase or expire personal data for you.planned
-   **A hard stop on loosened permissions**Errors mark the fix as your call, but the compiler accepts the change if your agent makes it.planned

[Status](/status) lists what is built. [Why](/why) gives the reasons.

## Jadpo in one paragraph

Jadpo is an experimental language for web backends. An AI coding agent writes the code, and the compiler checks who may see what, how data is read and changed, and where secrets go, before you review it. It fits prototypes and HTTP services that store data and control who sees it. It's also a good way to see what an agent builds when a compiler catches its mistakes. It's early, so don't run production systems on it yet. Jadpo code can't use raw SQL, and it doesn't build frontends.

[Try it with your agent](/agents)[Install it](/install)
