Flutter · React Native · Code Push · Analytics · Messaging

The backend built for mobile developers

Stop stitching together five different services. Auth, database, functions, feature flags, code push, analytics, and cloud messaging — one SDK for Flutter and React Native.

main.dart

Built on production-grade infrastructure

Flutter· Native SDK
React Native· Native SDK
Deno· Function Runtime
Dart· Function Runtime
PostgreSQL· Database
Cloudflare R2· Object Storage
WebSocket· Realtime
AES-256-GCM· Secret Encryption
40
DB Migrations
2.4.0
Flutter SDK
1.4.1
React Native SDK
21+
Signups

Authentication

User auth that works out of the box.

Register, login, verify email, reset passwords — all in your Flutter or React Native app with a single SDK. Sessions are JWT-based and scoped per environment.

  • Email + password with verification
  • JWT sessions scoped per project environment
  • Forgot password and secure token reset
  • OAuth support (Google)
auth.dart
// Register a new user
final user = await Koolbase.auth.register(
email: 'user@example.com',
password: 'securepassword',
);
// Get current session
final me = await Koolbase.auth.currentUser();
// Logout
await Koolbase.auth.logout();
database.dart
// Insert a record
await Koolbase.db.collection('posts').insert({
'title': 'Hello Koolbase',
'body': 'My first post',
});
// Query with filters
final posts = await Koolbase.db
.collection('posts')
.where({'author': userId})
.limit(10)
.get();

Database

Flexible JSONB collections. No schema migrations.

Store any shape of data in collections. Define read, write, and delete rules per collection — public, authenticated, or owner-only.

Access Rules

Control who can read, write, or delete records at the collection level.

Realtime Subscriptions

Stream live record updates to your app over WebSocket with zero extra setup.

GIN-Indexed JSONB

Fast queries on any JSON field without predefined schema.

Storage

Upload, serve, and manage files from Flutter.

Backed by Cloudflare R2. Upload files directly from the device with presigned URLs — no server relay needed. Organize files in buckets per project.

  • Direct device-to-R2 upload with presigned URLs
  • Secure download URLs per file
  • Bucket-based organization
  • File metadata stored in PostgreSQL
storage.dart
// Upload a file
await Koolbase.storage.upload(
file,
bucket: 'avatars',
path: 'user_123.jpg',
);
// Get a download URL
final url = await Koolbase.storage.getDownloadUrl(
bucket: 'avatars',
path: 'user_123.jpg',
);
send-welcome-email/index.ts
export async function handler(ctx) {
// Access your encrypted secrets
const apiKey = Deno.env.get('SENDGRID_KEY');
// Read from DB
const user = await ctx.db.find('users', {
id: ctx.request.payload.user_id
});
// Send email, call external API, etc.
return { ok: true };
}

Functions

Serverless logic that runs when your data changes.

Write TypeScript (Deno) or Dart functions and deploy them from the dashboard or CLI. Trigger via HTTP or bind to database events.

Deno + Dart Runtimes

Deploy TypeScript functions on Deno or Dart functions on the Dart runtime — your choice per function.

DB Triggers

Automatically fire functions on database events — no polling, no glue code.

Retry + DLQ

5-retry exponential backoff with a Dead Letter Queue for permanently failed executions.

Mobile Infrastructure

The control layer every mobile app needs.

Feature flags, remote config, version enforcement, OTA updates, code push, and analytics — built specifically for mobile release cycles where you can't redeploy instantly.

Feature Flags

Roll out features to a percentage of users. Kill-switch anything instantly without a new app release.

Remote Config

Update UI copy, pricing, API endpoints, or any app value without touching the App Store.

Version Enforcement

Force or softly prompt users to update. Block legacy versions with a custom message and store link.

OTA Updates

Push asset and config bundles to your app silently — no App Store or Play Store release required.

Code Push

Update config, flags, and UI layouts in production without a store release. Versioned, signed, and rolled back in one click.

Server-Driven UI

Push new screen layouts and onboarding flows OTA using rfw — change your app UI without shipping a new binary.

Analytics

Track screen views, custom events, and user behaviour. View DAU, WAU, MAU, top events, and top screens — no third-party SDK needed.

Cloud Messaging

Send push notifications to your users via FCM — register tokens, broadcast to all devices, and track delivery from the dashboard.

Logic Engine

Define conditional app behavior as JSON in your bundle. Control navigation flows and feature gating from the server — no code changes needed.

Workflow

How Koolbase Works

From project creation to production in minutes. One SDK, one dashboard, everything your Flutter and React Native app needs.

1

Create a project

Production
pk_live_8231...
Staging
pk_live_4190...
Development
pk_live_7714...

Sign up, create a project, and get your API keys. Separate environments for production, staging, and development — all isolated from day one.

2

Add the SDK

main.dart
# Add dependency
dependencies:
koolbase_flutter: ^2.1.0
# Initialize once
await Koolbase.initialize(KoolbaseConfig(
publicKey: 'pk_live_...',
baseUrl: 'https://api.koolbase.com',
));

Add koolbase_flutter or koolbase-react-native to your project and initialize with your public key. One call gives you access to auth, database, storage, realtime, flags, functions, and code push.

3

Build your app

app.dart
await Koolbase.auth.login(email, pwd);
await Koolbase.db
.collection('posts')
.insert(data);
await Koolbase.storage
.upload(file, bucket: 'avatars');
final show = Koolbase.isEnabled('new_ui');

Use auth, database, storage, and realtime directly from Flutter or React Native. Control feature flags, remote config, and code push from the dashboard without touching your code.

4

Ship with confidence

send-welcome-email
91ms
bundle v7 → ios/stable
100%
process-payment
30s
1 failed → retrying with backoff

Deploy serverless functions, set up DB triggers, push code updates OTA, monitor execution logs, manage secrets, and control rollouts — all from one dashboard.

SDKs

Flutter and React Native. More coming.

Published SDKs for Flutter and React Native — auth, database, storage, realtime, feature flags, functions, code push, analytics, and cloud messaging. One dependency, your entire backend.

koolbase_flutter
Flutter / Dart SDK · pub.dev
v2.4.0Stable
v1.0.0
Feature Flags + Remote Config + Version Enforcement
v1.1.0
Authentication (register, login, sessions)
v1.3.0
Database (JSONB collections, queries, realtime)
v1.8.0
Offline-first (Drift, cache-first, optimistic writes)
v2.0.0
Code Push (bundle cache, verifier, runtime override)
v2.1.0
Server-Driven UI (rfw, KoolbaseDynamicScreen)
v2.2.0
Logic Engine v1 (event-driven flows OTA)
v2.3.0
Analytics (DAU/WAU/MAU, events, screen views)
v2.4.0
Cloud Messaging (FCM token registration, send)
pubspec.yaml
dependencies:
koolbase_flutter: ^2.4.0
koolbase-react-native
React Native SDK · npm
v1.4.1Stable
v1.0.0
Auth, Database, Storage, Realtime, Functions
v1.1.0
Feature Flags + Remote Config + Version Enforcement
v1.2.0
Code Push (bundle cache, runtime override)
v1.3.0
Analytics + Logic Engine v1
v1.4.0
Cloud Messaging (FCM token registration, send)
terminal
$ npm install koolbase-react-native

More platforms in development

Swift (iOS)Soon
Kotlin (Android)Soon

Why Koolbase

Built for the problems mobile teams actually face.

Firebase is Google-locked. Supabase isn't mobile-first. Shorebird only does code push. Koolbase is the complete infrastructure layer built specifically for mobile teams.

Feature flags, remote config, version enforcement, OTA updates, and code push — built specifically for mobile release cycles where you can't redeploy instantly.

Mobile-first by design

Auth, database, storage, realtime, functions, code push, analytics, and cloud messaging in one SDK. No stitching together multiple services with multiple billing accounts.

One SDK, everything included

Functions have a test mode with a mock DB so you can validate trigger logic without touching real data. DLQ with replay means no silent failures.

Production reliability built-in
~100ms
Avg function execution
Automatic retries on failure
AES-256
Secret encryption standard
v2.4.0
Flutter SDK

Pricing

Pricing that scales with your product.

Start free. Ship faster. Scale without re-architecting.

Free

Start building and ship your first version.

$0/mo
  • 1,000 monthly active users
  • Auth + Database + Storage
  • 5 feature flags
  • Basic remote config
  • Version enforcement
  • 1 environment
  • 10 function deployments
  • OTA Updates (3 bundles)
  • Community support
Get Started
Most Popular

Pro

For teams shipping to production — with control and safety.

$19/mo

Everything you need to control production behavior — safely.

Includes usage. Scales as you grow.

  • 50,000 monthly active users
  • Auth + Database + Storage + Realtime
  • Unlimited feature flags
  • Advanced targeting & rollouts
  • 3 environments
  • Unlimited function deployments
  • Function secrets + DLQ + retry
  • OTA Updates (unlimited bundles)
  • Code Push (stable + beta channels)
  • Server-Driven UI (rfw)
  • Logic Engine (OTA flows)
  • Analytics (DAU/WAU/MAU)
  • Cloud Messaging (FCM push notifications)
  • Priority support
Start building

Enterprise

For large-scale production infrastructure.

Custom
  • Unlimited monthly active users
  • All Pro features
  • Unlimited environments
  • SSO / SAML authentication
  • Role-based access control
  • Custom function limits
  • Custom bundle limits
  • SLA guarantee
  • Dedicated support engineer
Contact Sales

No credit card required. Upgrade only when your app grows.

FeatureFree
Pro
Enterprise
Monthly Active Users1,000
50,000
Unlimited
Environments1
3
Unlimited
Authentication
Database Collections5
Unlimited
Unlimited
Storage (Cloudflare R2)1 GB
50 GB
Custom
Realtime Subscriptions
Feature Flags5 flags
Unlimited
Unlimited
Remote ConfigBasic
Advanced
Advanced
Version Enforcement
Function Deployments10
Unlimited
Unlimited
Function Secrets
Retry + DLQ
Trigger Observability
OTA Updates3 bundles
Unlimited
Unlimited
Code Push
Server-Driven UI (rfw)
Logic Engine
AnalyticsBasic
Full
Full
Cloud Messaging
Team Members1
5
Unlimited
SSO / SAML
SupportCommunity
Priority
Dedicated Engineer

FAQ

Frequently Asked Questions

Everything you need to know before building with Koolbase.

Which platforms does Koolbase support?
Koolbase supports Flutter and React Native. The Flutter SDK (v2.4.0) includes auth, database, storage, realtime, feature flags, remote config, version enforcement, OTA updates, code push, server-driven UI, logic engine, analytics, and cloud messaging. The React Native SDK (v1.4.1) includes auth, database, storage, realtime, feature flags, remote config, version enforcement, code push, analytics, logic engine, and cloud messaging. SDKs for Swift (iOS) and Kotlin (Android) are in development.
How is Koolbase different from Firebase, Supabase, or Shorebird?
Firebase is Google-locked and has no feature flags, version enforcement, or code push. Supabase is excellent but not mobile-first and has no mobile infrastructure layer. Shorebird only does code push. Koolbase combines a full BaaS (auth, database, storage, realtime) with mobile-specific tools (feature flags, remote config, version enforcement, OTA updates, code push, server-driven UI, logic engine, analytics, and cloud messaging) — all in one SDK for Flutter and React Native.
What is Code Push?
Code Push lets you deploy Runtime Bundles — versioned, signed packages containing config overrides, feature flag overrides, directives, and assets — to your app without a store release. On cold launch, the SDK checks for a newer bundle, downloads it in the background, verifies its integrity with SHA-256, and activates it on the next launch. Bundle values transparently override Remote Config and Feature Flags with no code changes required.
What is Server-Driven UI?
Server-Driven UI (powered by Flutter's rfw package) lets you push new screen layouts and onboarding flows to your app OTA. You define a widget tree on the server using a declarative format — the SDK renders it using a registered widget library. If a screen is unavailable or fails to parse, the SDK silently falls back to the local compiled widget. Never crashes, never blocks.
What is the Functions runtime?
Functions run on Deno 2.7.7 in an isolated subprocess. Each function gets full TypeScript support, access to ctx.db for database operations, and Deno.env.get() for encrypted secrets. You can also deploy Dart functions using the Dart runtime. Timeouts are configurable at 5s, 10s, or 30s. Max function size is 1MB.
What happens when a function fails?
Failed trigger executions are automatically retried up to 5 times with exponential backoff (1, 2, 4, 8, 16 minutes). If all retries fail, the event moves to the Dead Letter Queue. From the dashboard you can inspect the error, fix your function, and replay the event with one click.
How are secrets stored?
Secrets are encrypted with AES-256-GCM using a server-side key before being written to the database. Secret values are never returned by the API — only names are exposed. At function execution time, secrets are decrypted in memory and injected as Deno environment variables.
What are database access rules?
Each collection has three configurable rules — read, write, and delete. Rules can be set to: public (anyone), authenticated (must have a valid session token), or owner (only the record creator). These are enforced server-side on every request.
What is version enforcement?
Version enforcement lets you set a minimum required app version per environment. If a user is below the minimum, the SDK returns a force_update flag along with a configurable message and store URL. You can use this to block legacy versions after a breaking API change or critical security patch.
Is there a free tier?
Yes. The Free plan includes 1,000 monthly active users, auth, database (up to 5 collections), 1GB storage, 5 feature flags, remote config, version enforcement, 10 function deployments, and 3 OTA bundles. No credit card required.

Your mobile app's entire backend in one SDK.

Auth, database, storage, realtime, feature flags, remote config, version enforcement, OTA updates, code push, analytics, and cloud messaging — Flutter and React Native. Stop stitching together multiple services.

Free to start. No credit card required.

Flutter SDK v2.4.0React Native SDK v1.4.1Deno + Dart FunctionsPostgreSQLCloudflare R2Code PushAnalyticsCloud MessagingAES-256-GCM Secrets