bloomBUILD•SHIP•BLOOM
Building Blocks Background
BLOOM SERVER•PURE_DART_BACKEND

Pure Dart Backend.
Django Power. Rust-Grade Concurrency.

Stop writing backend APIs in Node or Go with duplicate data models. Bloom delivers an integrated 15-package backend ecosystem for pure Dart: typed ORM, schema migrations, DRF ViewSets, auto HTML admin, and 78k msgs/s multi-isolate realtime clustering.

lib/apps/blog/models.dart
bloom_db
⚡ 12,500 ops/sec
Compile-time typed QuerySets: filter(), orderBy(), and limit()
Zero reflection: code-generated native SQL bindings with WAL mode
Automated schema diffing & linear migrations via bloom_migrate
Zero external runtime dependencies • Pure Dart Ahead-of-Time Binary
Read ORM & Models Docs

BUILT ON THE SHOULDERS OF GIANTS

Google Cloud logoGoogle Cloud
Flutter 3.29 logoFlutter 3.29
Dart 3.7 logoDart 3.7
Firebase logoFirebase
GitHub logoGitHub
iOS / Apple logoiOS / Apple
Android logoAndroid
Google Cloud logoGoogle Cloud
Flutter 3.29 logoFlutter 3.29
Dart 3.7 logoDart 3.7
Firebase logoFirebase
GitHub logoGitHub
iOS / Apple logoiOS / Apple
Android logoAndroid
Full-Stack Monorepo Architecture

One Language. One Workspace.

Organize Mobile (Flutter), Web (Flutter Web), and Backend (Bloom Server) in a clean, pipeline-first monorepo with 100% shared type safety.

Full-Stack Workspace Layout (Turborepo-Style)
bash
my_bloom_project/
├── bloom.yaml                    # Root workspace + CLI configuration
├── melos.yaml                    # Monorepo task pipeline
│
├── apps/                         # Executable Applications
│   ├── mobile/                   # 📱 iOS & Android Flutter client (Bloom UI + Signals)
│   ├── web/                      # 🌐 Flutter Web / Admin Dashboard
│   └── server/                   # 🖥️ Bloom Server (Pure Dart AOT @ 78k msgs/s)
│
└── packages/                     # 📦 Shared Internal Packages
    ├── core/                     # 🧠 Shared Models, Schemas & Query Keys (Pure Dart)
    ├── ui/                       # 🎨 Design System & 60+ Bloom UI Primitives
    └── config/                   # ⚙️  Typed Environment Config & Feature Flags

Pure Dart packages/core

Data models, serializers, and query keys live in pure Dart. Zero Flutter engine dependencies allows the backend server to import models directly.

Zero Codegen Drift

Client BloomQuery and server BloomViewSet communicate directly using identical Dart schemas. No OpenAPI or JSON generators needed.

Unified Melos Task Pipelines

Run melos run dev to hot-reload backend servers, mobile emulators, and web clients simultaneously across all CPU cores.

Verified Hardware Benchmarks

Hardware Performance Breakdown

Pure Ahead-of-Time (AOT) machine compilation and dedicated isolate memory heaps deliver 29x less RAM and zero garbage collection spikes.

78,125
msgs/sec throughput

1,000 active concurrent WebSocket connections @ 3.70 MB RSS memory (Node.js/Fastify requires 107 MB).

bloom_realtime29x less RAM
12,500
ORM ops/sec

5,000 database rows batched in 400.7ms with zero object allocation overhead and typed query builders.

bloom_dbWAL native
9,091
req/sec @ 29.3ms p99

100 parallel HTTP connections handled with 0 socket drops and sub-30ms latency ceilings.

BloomApiRouterZero drops
119,047
cache ops/sec

10,000 operations in 84.0ms with built-in dogpile stampede locks and swappable Redis backends.

bloom_cacheStampede safe

Architectural & Benchmark Audit Comparison

Direct comparison across server architectures tested on Apple M-Series Silicon and Linux AMD64 hardware.

Capability / MetricBloom (Dart AOT)Node.js (NestJS/Fastify)Go (Gin/Fiber)Python (Django/FastAPI)
Compilation & RuntimePure Native AOTV8 JIT / BytecodeNative Machine CodeInterpreted CPython
1,000 WebSocket RAM (RSS)3.70 MB (Baseline)107.4 MB (29x more)42.1 MB (11x more)182.0 MB (49x more)
5k Batched ORM Inserts400.7ms (12.5k ops/s)1,620ms (Prisma GC lag)610ms (GORM reflection)2,450ms (Python loop lag)
100 Concurrency p99 Latency29.3ms (9,091 req/s)118.0ms (4,210 req/s)38.2ms (8,400 req/s)240.0ms (1,850 req/s)
Flutter Client Sharing100% Shared PrimitivesRequires Codegen / DTOsRequires Protobuf / OpenAPIRequires OpenAPI Codegen
Multi-Core ScalingNative Isolate MeshPM2 Process ClusterGoroutines & ChannelsGunicorn Multi-Worker
Auto HTML Admin PanelBuilt-in (bloom_admin)External Third-PartyNone (Manual UI)Built-in (Django Admin)
Schema MigrationsDeterministic Linear DiffPrisma / TypeORM CLIgolang-migrateDjango makemigrations
Bloom Server FAQ

Frequently Asked Questions About Pure Dart Server

Key architectural insights into the pure Dart backend ecosystem, benchmarks, and Django patterns.

Why write backend servers in Pure Dart instead of Node.js, Go, or Python?

Pure Dart compiles Ahead-of-Time (AOT) to native machine code with separate isolate memory heaps, completely eliminating Node.js single-thread event loop blocking and JavaScript's massive memory overhead. Bloom Server processes 78,125 WebSocket messages/sec at just 3.70 MB RAM (compared to 107 MB for Fastify) while allowing you to share exact data models, validation schemas, and types directly with your Flutter client without code generators.

How is Bloom Server modeled on Django and djangors-*?

Bloom Server adopts Django's battle-tested architectural modularity: domain apps in `lib/apps/<name>/` containing `models.dart`, `serializers.dart`, `views.dart`, and `admin.dart`. It includes declarative `@Model()` declarations, automated deterministic SQL migrations (`bloom_migrate`), Django REST Framework style `BloomViewSet` routing with composable permissions, and an instant server-rendered HTML admin panel (`bloom_admin`).

What databases does Bloom Server's ORM (bloom_db) support?

bloom_db provides native compile-time typed query builders and drivers for both SQLite (embedded native/WAL mode) and PostgreSQL. It delivers zero-overhead query execution, transactions, connection pooling, and linear schema diffing through bloom_migrate.

How does multi-isolate clustering work in bloom_realtime?

BloomRealtimeCluster binds all available CPU cores to the same network port using `HttpServer.bind(shared: true)` combined with high-speed inter-isolate SendPort meshes. Incoming WebSocket traffic and HTTP requests are automatically load-balanced across isolate cores by the OS kernel with zero thread contention.

Can I use Bloom Server standalone without Flutter?

Yes! While Bloom Server integrates seamlessly with Flutter clients via shared BloomQuery/BloomMutation primitives, all 15 server packages (bloom_db, bloom_rest, bloom_admin, bloom_realtime, bloom_jobs, bloom_mail, bloom_cache, etc.) are pure Dart packages that can be used to build any REST, GraphQL, WebSocket, or microservice backend.

How does background job processing and caching work in Bloom Server?

bloom_jobs delivers asynchronous background worker queues with configurable concurrency, exponential backoff retries, and cron scheduling. bloom_cache provides a unified caching API with In-Memory LRU, Database, and Redis backends, featuring built-in stampede protection (`getOrSet` dogpile locks) and HTTP response caching middleware.

Build Full-Stack Apps with Pure Dart

Scaffold your first server application in seconds with full database migrations, authentication, and REST ViewSets out of the box.