DEV Community

Aurabase
Aurabase

Posted on Originally published at aurabase.cloud

Introducing Aurabase: The High-Performance Open-Source BaaS Built with Rust

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:

  1. Sub-millisecond Gateway Latency: Built on top of Axum and Tokio, Aurabase routes requests with virtually zero runtime overhead.
  2. Minimal Memory Footprint: Where Node.js or Go services may consume hundreds of megabytes under idle conditions, Rust microservices operate within a few megabytes.
  3. 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
Enter fullscreen mode Exit fullscreen mode

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);
}
Enter fullscreen mode Exit fullscreen mode

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();
Enter fullscreen mode Exit fullscreen mode

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:

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)