01
Give your agent backend expertise
Apso gives Claude or Codex repeatable rules for schema design, tenancy, auth, migrations, extensions, and deployment. The agent can apply the right backend pattern without waiting for you to name it.
The backend foundation for AI-built software
Apso turns your product model into a consistent, scalable backend. You own the generated code, APIs, migrations, and infrastructure.
01 / Intent
A multi-tenant project workspace with members and tasks
✓ Workspace-scoped data
✓ Member roles
✓ Project and task CRUD
✓ REST endpoints
02 / .apsorc
source of truth{
"version": 2,
"language": "typescript",
"entities": [
{ "name": "Workspace" },
{ "name": "Member" },
{ "name": "Project" },
{ "name": "Task" }
]
}03 / Output
generatedPOST /Projects
GET /Projects/:id
PATCH /Tasks/:id
Starter backends
Each starter gives Apso a detailed schema brief for a real application pattern. Choose one, adjust the entities and relationships, then generate the backend in your preferred language.
Save Weeks of dev time
Tenant workspaces, scoped members, invitations, billing, keys, and limits.
Save $50-500/user
Contacts, companies, deals, pipeline stages, activities, and follow-up tasks.
Save $29-299/mo + fees
Products, variants, carts, orders, payments, inventory, and promotions.
Save $250-2000/mo
Plans, subscriptions, invoices, payments, usage records, and coupons.
Save $10-25/user
Projects, tasks, milestones, dependencies, sprints, boards, and time entries.
Save $5-100/mo
Posts, authors, categories, media, revisions, comments, and SEO metadata.
Full-stack workflow
Use Next.js Server Components and Server Actions as your BFF, or call the generated REST API from a web or mobile client. The TypeScript SDK handles queries and mutations without hiding the HTTP boundary.
Choose a backend modelimport { ApsoClientFactory } from '@apso/sdk' const apso = ApsoClientFactory.getClient({ baseURL: process.env.APSO_API_URL!, apiKey: process.env.APSO_API_KEY!}) export default async function ProjectsPage() { const projects = await apso.entity('Projects') .where({ status: { $eq: 'Active' } }) .orderBy({ created_at: 'DESC' }) .findMany() return <ProjectList projects={projects} />}Next.js
UI + BFF
Apso SDK
Typed queries
Generated API
Owned service
Built for the whole product team
Backend developers get code they can review and extend. Product teams get a clear model of the system. AI agents get Apso's rules for schemas, access boundaries, extensions, and migrations, plus a repeatable process that produces the same structure across every service.
Inspect predictable NestJS, FastAPI, or Gin code and add product logic without losing it when the schema changes.
Turn entities, relationships, and rules into a working API without hand-assembling every backend layer.
Run locally, deploy through Apso Cloud, or take the generated service to infrastructure your team controls.
Generated
Rewritten by Apso
src/autogen/
entities/
controllers/
services/
dto/
migrations/
Owned by your team
Preserved across generation
src/extensions/
billing/
workflows/
webhooks/
reports/
+ your product logic
How it works
Apso gives Claude, Codex, and other coding agents repeatable backend rules, specialized workflows, and project-aware tools. You describe the outcome. The agent designs, generates, and verifies the foundation.
Backend expertise in context
Schema design, access boundaries, extensions, migrations, generation, and verification become part of the agent's working context.
01
Apso gives Claude or Codex repeatable rules for schema design, tenancy, auth, migrations, extensions, and deployment. The agent can apply the right backend pattern without waiting for you to name it.
02
The Apso MCP server gives the agent access to the current schema and generation tools. It can inspect, design, validate, and build from what your project actually contains.
03
Describe the workflow in plain language. Your agent chooses the Apso process, proposes the model, generates the service, and verifies the result before you review the code.
Generated foundation
Apso creates the repeated service layers from one schema. The result is a coherent backend in your repository with no required Apso runtime.
The schema and CLI version determine the generated entities, controllers, services, and DTOs.
Generate NestJS with TypeORM, FastAPI with SQLAlchemy, or Gin with GORM.
Preview schema changes locally and commit language-native migration files with the service.
Use Better Auth or another JWT provider and carry tenant scope through generated request handling.
Connect through standard HTTP or use the SDK for fluent filters, sorting, pagination, and mutations.
The generated service lives in your repository. Run, test, extend, and deploy it anywhere. Apso is not required in production.
Inspect the output
The generator writes ordinary framework code and keeps custom application logic in a separate directory. Review the files, run the tests, and use the same deployment tools you use for other services.
project-api/
.apsorc
src/
autogen/
Project/
Task/
extensions/
migrations/
test/
docker-compose.yml
Build on a foundation you own
Start in the service builder or connect Apso to Claude or Codex. Apso teaches your agent the backend conventions, gives it the project tools, and keeps the generated service consistent as it grows.