Appwrite is great — until you need background jobs and search
Appwrite handles auth and storage well. Centrali gives you the rest — background jobs, search, and automation — in one system. As your app grows, you start needing more than the basics.
What's missing when you need more
Appwrite covers the basics — database, auth, storage. But as your app grows, you hit gaps.
| What you need | What Appwrite gives you |
|---|---|
| Background jobs | Not built in — requires adding a job queue |
| Full-text search | Basic queries — no full-text search built in |
| Workflow automation | Functions exist, but no event-driven triggers or scheduling |
| Multi-tenancy | Projects act as tenants, but no built-in workspace isolation |
| AI tools | Not available — build your own or add a third-party service |
| Realtime with filtering | Realtime exists, but limited filtering and event types |
You end up adding services on top of Appwrite to fill the gaps. The backend grows — but so does the complexity.
Appwrite gives you a solid foundation — but you still assemble the rest yourself.
A more complete approach
Centrali gives you everything Appwrite does — plus the pieces you'd normally have to build yourself. You don't configure services — you just build.
| What you need | With Centrali |
|---|---|
| Background jobs | Run code on events, schedules, or HTTP — built in |
| Full-text search | Every record is searchable — no extra service |
| Workflow automation | Event-driven triggers, scheduled jobs, and multi-step orchestration |
| Multi-tenancy | Workspaces, teams, and data isolation — ready from day one |
| AI tools | Generate schemas from prompts, natural language search, data validation |
| Realtime | Live updates with filtering — your app stays in sync automatically |
Everything works together automatically — no integration, no glue code.
One API. One system. No gaps to fill.
Same backend task — very different setup
Store a record and trigger a background job
With Appwrite, you add infrastructure. With Centrali, it's already there.
// Store a document
import { Client, Databases, ID } from 'appwrite'
const client = new Client()
.setEndpoint('https://cloud.appwrite.io/v1')
.setProject('my-project')
const db = new Databases(client)
await db.createDocument('main', 'users', ID.unique(), {
name: 'Jane',
email: 'jane@example.com'
})
// Background job? You need a separate service
// (Bull, BullMQ, custom worker, etc.)// Store a record — everything else is already wired up
await centrali.createRecord('users', {
name: 'Jane',
email: 'jane@example.com'
})
// Background job runs automatically
// (triggered by event, configured once)No separate job queue. No extra infrastructure. Just one system that works.
At a glance
Here's how Appwrite and Centrali compare for common backend needs:
| Appwrite | Centrali | |
|---|---|---|
| Database | Document-based with basic queries | Structured or schemaless — your choice |
| Background jobs | Not available | Built-in jobs triggered by events, schedules, or HTTP |
| Search | Basic queries only | Full-text search built in |
| Multi-tenancy | Project-level isolation only | Workspaces, teams, and isolation built in |
| Auth | Built-in Appwrite Auth | Works with any auth provider (BYOT) |
| AI tools | Not available | Schema generation, natural language search, validation |
Want more details? See the full feature comparison →
Centrali replaces the stack — not just one part of it.
Start your backend in minutes
No credit card. No setup. Just run the CLI and start building.
npx @centrali-io/create-centrali-app --template saasTakes less than 5 minutes to get started.