Firebase is great until Google changes pricing, drops a product, or you need to migrate. Appwrite gives you the same features without the lock-in.
What Is Appwrite?
Appwrite is an open-source backend-as-a-service. Authentication, databases, storage, functions, messaging — all self-hostable, all with SDKs for every platform.
Quick Start
docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
appwrite/appwrite:latest
Or use Appwrite Cloud (free tier: 75K requests/month).
The SDKs
// Web SDK
import { Client, Databases, Account } from 'appwrite'
const client = new Client()
.setEndpoint('https://cloud.appwrite.io/v1')
.setProject('your-project-id')
// Authentication
const account = new Account(client)
await account.createEmailPasswordSession('user@example.com', 'password')
const user = await account.get()
// Database
const databases = new Databases(client)
const posts = await databases.listDocuments('db-id', 'posts-collection', [
Query.orderDesc('$createdAt'),
Query.limit(20)
])
// Create document
await databases.createDocument('db-id', 'posts', ID.unique(), {
title: 'My Post',
content: 'Hello World',
author: user.$id
})
// Real-time
client.subscribe('databases.db-id.collections.posts.documents', (response) => {
console.log(response.events, response.payload)
})
Firebase vs Appwrite
| Feature | Firebase | Appwrite |
|---|---|---|
| Self-hosted | No | Yes |
| Open source | No | Yes (Apache 2.0) |
| Database | NoSQL only | Documents + relations |
| Auth providers | 10+ | 30+ |
| Functions | Node.js, Python | 10+ runtimes |
| Vendor lock-in | High | None |
Key Features
- Auth — Email, phone, OAuth (30+ providers), magic links, JWT
- Database — Document-based with relations, indexes, permissions
- Storage — Files, images with built-in transformations (resize, crop)
- Functions — Serverless in Node, Python, PHP, Ruby, Dart, Swift, Kotlin, Java, .NET, Bun
- Messaging — Email, SMS, push notifications
- Real-time — WebSocket subscriptions for any resource
Free Cloud Tier
- 75K requests/month, 10GB bandwidth, 2GB storage, 750K function executions
Building apps or need backend solutions? Check out my developer tools or email spinov001@gmail.com.
Top comments (0)