The fullstack framework that flows async-first
WebFluid sits on top of FastAPI and ships a complete toolkit out of the box. Async everywhere with a sync counterpart for every battery, one CLI for everything, and a modular runtime that grows with your project.
Everything you reach for, already wired up
Most frameworks make you assemble the stack yourself. WebFluid ships the batteries, keeps them consistent across sync and async, and lets you bolt on features through a clean module system instead of a pile of cross-imports.
Async-first, sync-compatible
Every battery exposes an async API and a matching sync one, so you pick the model that fits the job instead of fighting the framework.
CLI-first bootstrapping
Spin up a project, add modules, run the dev server. The wf CLI takes you from
empty folder to running app without glue code.
Modular Additives
Build features as self-contained sub apps that share one runtime. Version-pin them, pull them from the Hub, and keep modules from importing each other.
Batteries included
SQLAlchemy with sync and async binds, migrations, a mailer, a JWT manager with rotating secrets, runtime-cached i18n, events/queries and a cache that swaps between memory and Redis.
Vite and Tailwind, no setup
A single dev server drives SSR Jinja2, API-only modules, or parallel Svelte, React, and Vue frontends. Standalone Node and the Tailwind CLI come bundled.
Config-driven runtime
Configuration loads into the env at run time and the app starts as a subprocess. Toggle features and modules using flags, no code changes required.
From zero to running in a view commands
Scaffold a project, opt into the batteries you want, and start the (dev) server. Node and Tailwind are pulled in automatically the first time you need them.
wf create project myproject
cd myproject
wf create app myapp
wf run myapp [-d/--debug]
A Hub for modular Additives
WebFluid is modular by design. Ocean will be the place to publish, discover, and pull version-pinned Additives straight into your runtime, so sharing a module is as simple as declaring it in your manifest.
Ready to build something fluid?
Dive into the docs and ship your first Additive in minutes.