Modern full-stack developers love Backend-as-a-Service (BaaS) platforms like Firebase and Supabase. They simplify authentication, database management, real-time sync, and file storage, allowing teams to ship features in hours instead of weeks.
However, existing platforms often face distinct challenges: heavy memory footprints, resource overhead, cold starts, and complex operational multi-tenancy.
That's why we built Aurabase β a high-performance, open-source BaaS engineered from the ground up in Rust.
Why Build a BaaS in Rust?
When orchestrating multi-tenant workloads, handling thousands of concurrent WebSocket connections, and proxying database queries, performance and predictability are paramount:
- Sub-millisecond Gateway Latency: Built on top of Axum and Tokio, Aurabase routes requests with virtually zero runtime overhead.
- Minimal Memory Footprint: Where Node.js or Go services may consume hundreds of megabytes under idle conditions, Rust microservices operate within a few megabytes.
- Rock-Solid Reliability: Compile-time memory safety, fearless concurrency, and type-checked database interactions with SQLx ensure stability under high loads.
Core Pillars of Aurabase
Aurabase provides everything you need to power production applications:
- β‘ PostgreSQL & Database Layer: Native PostgreSQL multi-tenancy with strict schema isolation, connection pooling via an integrated
aura-pgproxy, and seamless migrations. - π Enterprise-Grade Auth: Built-in authentication supporting JWT tokens, Multi-Factor Authentication (TOTP & backup codes), OAuth providers (Google, GitHub), with sensitive credential encryption backed by HashiCorp Vault.
- π Ultra-Low Latency Realtime: Real-time event streaming powered by PostgreSQL Change Data Capture (CDC) / Logical Replication, delivered to clients over resilient WebSockets.
- π¦ S3-Compatible Object Storage: Fast file uploads with presigned URLs, fine-grained access policies, and automated image transformation pipelines.
- π Modern Next.js Studio: An ultra-clean, minimalist developer dashboard (inspired by Linear and Vercel) for managing database tables, executing SQL queries, exploring schemas, and monitoring telemetry.
Developer Experience: The JavaScript/TypeScript SDK
We designed the Aurabase client SDK to be intuitive, fully type-safe, and ready for modern frontend frameworks (Next.js, Vite, Remix, Svelte):
npm install @aurabase/aurabase-js
Here is how simple it is to initialize a client and query your database:
import { createClient } from '@aurabase/aurabase-js';
// Each project is served with dedicated routing
const aura = createClient('https://my-project.aurabase.cloud', 'aura_anon_xxx');
// Type-safe queries with clean fluent syntax
const { data: posts, error } = await aura.db
.from('posts')
.select('id, title, content, published_at')
.eq('published', true)
.order('published_at', { ascending: false })
.limit(10);
if (error) {
console.error('Failed to load posts:', error.message);
} else {
console.log('Latest posts:', posts);
}
Listening to real-time database changes is just as straightforward:
const channel = aura.realtime
.channel('public:posts')
.on('postgres_changes', { event: 'INSERT', table: 'posts' }, (payload) => {
console.log('New post received in realtime:', payload.new);
})
.subscribe();
Open-Source and Cloud-Ready
Aurabase is 100% open-source under the MIT license. You can self-host it locally using Docker and Kubernetes (K3d / Helm), or deploy it in our cloud environment:
- π Official Website: https://aurabase.cloud
- π GitHub Repository: github.com/daylami555/aurabase
- π¦ NPM Packages:
@aurabase/aurabase-js
We're actively building and expanding the Aurabase ecosystem. Star the project on GitHub, try it out in your projects, and share your feedback!
Top comments (0)