The opinionated application platform for Dart & Flutter. Standardizing architecture, signals state, go_router generation, Shorebird OTA, and Bloom UI.
BUILT ON THE SHOULDERS OF GIANTS
RSA-2048 Signed Patches · Deterministic Builds · Typed Route Safety
Make the good parts of Dart & Flutter
feel like one cohesive framework.
Bloom delegates mature low-level infrastructure (Flutter rendering, go_router, signals, Shorebird OTA) while owning the end-to-end developer experience.
Standardize Architecture
Establish unified directory conventions, configuration files, and project layout across all Flutter applications.
- Next.js-inspired `lib/app/routes` directory hierarchy
- Unified `bloom.yaml` central environment manifest
- Deterministic boot sequence before `runApp()`
// lib/app/routes/_layout.dart class RootLayout extends BloomLayout { @override Widget build(BuildContext context, Widget child) { return MainScaffold(body: child); } }
BUILD
Filesystem routing over go_router, zero-boilerplate signals state API, and automated CLI code generators.
SHIP
Integrated Shorebird over-the-air (OTA) updates, remote build pipeline, and instant cryptographic byte-patching.
BLOOM
shadcn-inspired UI primitives with live interactive design token controls and fluid Flutter micro-interactions.
Everything you need to ship Flutter apps
One cohesive platform across architecture, delivery, and UI — no glue code required.
File-System Routing
Next.js-style directory routing over go_router with typed params, layout groups, and route guards.
Signals Reactive State
Fine-grained reactivity with zero setState. Rebuilds only the exact widgets reading a signal at 60fps.
Bloom Query
Declarative server-state caching, background refetching, and pagination with optimistic mutations.
Shorebird OTA Updates
Code-signed over-the-air byte patches with canary rollouts, instant rollback, and zero App Store delays.
Bloom UI Studio
shadcn-style composable primitives with live design-token controls for Flutter Mobile & Web.
Deterministic Code Gen
CLI generators scaffold routes, controllers, and models deterministically on file save in sub-50ms.
Bloom CLI Tooling Matrix
One unified CLI orchestrating Dart, Flutter, build generators, and deployment channels.
Why Pure Dart & Bloom Destroy JavaScript at Scale
For years, developers underestimated Dart as a client-only language. In real-world multi-core benchmarks, Bloom’s zero-cost AOT abstractions, native isolates, and pure Dart ORM consistently outpace the dominant Node.js, Fastify, and NestJS ecosystems while consuming 30x less memory.
50,000 fan-out messages delivered in 640 ms across 1,000 active sockets at 3.70 MB RAM. Fastify & NestJS took 1,260 ms at 115 MB RAM.
5,000 point lookups completed in 400 ms. Prisma took 5,089 ms and Drizzle took 731 ms. Bulk 2,300+ row update finished in 2 ms.
Under 1,000 concurrent HTTP keep-alive connections, Bloom maintained 29.3 ms p99 latency with zero spikes. NestJS spiked to 1,120 ms p99.
10,000 bulk cache writes resolved in 84 ms with zero full widget rebuilds via fine-grained reactive Signals. TanStack Query took 132 ms.
Loved by Flutter developers
Built by Flutter developers, for Flutter developers. Join the conversation.
"Bloom replaced our fragmented state packages and custom router with pure file-system routing and signals. Our release velocity doubled in the first sprint."
"Shorebird-powered OTA through Bloom Cloud is magic. We patched a critical payment flow bug on 400,000 active iOS & Android devices in 1.4 seconds."
"The DI boot sequence and typed route generation in Bloom feel like Next.js for mobile. Finally a framework that respects Dart’s sound null safety."
"Bloom UI Studio’s shadcn primitives bring production-grade mobile tokens to Flutter. Customizing border-radius and color swatches live at 60fps is unreal."
"We migrated 6 production Flutter apps to Bloom in under two weeks. Zero boilerplate, instant hot reload state preservation, and crisp developer DX."
"Bloom Query eliminated 90% of our manual API state code. Automatic caching, optimistic mutations, and signals reactivity work seamlessly out of the box."
5,000+ contributors. Open to everyone.
Bloom is built in the open by Flutter core contributors, mobile architects, and developers worldwide. Join our Discord or star us on GitHub to shape the future of Flutter.
Everything you need to know about Bloom
Common questions about full-stack Flutter development, file-based routing, OTA code push, and shadcn-style UI primitives.
01Is there a full-stack framework for Flutter?
Yes. Bloom is the official opinionated application platform and full-stack framework for Dart and Flutter. It bridges client and backend engineering by unifying backend adapters (Serverpod for end-to-end type-safe Dart RPCs and Supabase for real-time Postgres & Auth), Next.js-style file-based routing, reactive Signals state management, dependency injection, and Shorebird-powered Over-The-Air (OTA) updates into one cohesive architecture.
02How does Bloom's state management compare to Bloc, Riverpod, or Provider?
Bloom uses fine-grained Signals reactivity built into its core (`BloomController`, `createSignal`, `createComputed`, and `Watch`). Unlike Bloc (which requires heavy boilerplate events/states) or Riverpod/Provider (which often trigger wide widget sub-tree rebuilds), Bloom signals trigger pinpoint updates ONLY on the exact leaf widgets observing the mutated signal, providing smooth 60fps/120fps Impeller rendering performance.
03Can I push Over-The-Air (OTA) updates to iOS and Android Flutter apps without App Store review delays?
Yes. Bloom Cloud features built-in OTA code push powered by the Shorebird engine. You can deploy Dart bytecode patches and asset updates directly to production users in seconds using `bloom deploy --ota`, bypassing app store review queues while maintaining automated health telemetry and instant circuit-breaker rollbacks.
04How does Next.js-style file-based routing work in Flutter with Bloom?
Simply create files in `lib/routes/` (e.g. `lib/routes/index.dart` for `/`, `lib/routes/users/[id].dart` for `/users/:id`, and `lib/routes/(auth)/login.dart` for route groups). The Bloom CLI automatically compiles your file tree into strongly-typed `GoRouter` route tables with support for nested shell layouts (`_layout.dart`), async route guards, and deep links.
05Does Bloom UI replace Flutter's Material Design or Cupertino?
Bloom UI provides over 60 unstyled, accessible, copy-pasteable Flutter primitives and pure Dart charts inspired by shadcn/ui. Unlike monolithic widget libraries, you own your code: install primitives directly into your codebase with `bloom ui add <component>` with zero external runtime dependencies and full support for 8 customizable style presets (Nova, Vega, Maia, Lyra, Mira, Luma, Sera, Rhea).
06What is Continuous Prebuild in Flutter and how does Bloom handle native iOS/Android code?
Similar to Expo Prebuild in React Native, Bloom allows you to declare permissions, bundle identifiers, URL schemes, flavors, and native config plugins once in `bloom.yaml`. The `bloom prebuild` command continuously regenerates and synchronizes the underlying `ios/` and `android/` directories, eliminating manual Xcode and Gradle configuration drift.
07Is Bloom open source and ready for production enterprise Flutter applications?
Yes. Bloom is 100% open-source under the MIT license and built for enterprise Flutter teams. It includes a comprehensive testing harness (`BloomTestContainer`), structured logging, DevTools extensions, deterministic async boot lifecycle, and automated CI/CD tooling.