Cloudflare
Workers runtime
Monorepo · Turborepo + Bun workspaces
connections HTTPS query SQL auth session store deploy / dev pre-commit User browser TanStack TanStack Start frontend / ssr Orpc oRPC type-safe rpc Hono http server Drizzle ORM orm / migrations BetterAuth better-auth auth Cloudflare D1 sqlite db Bun runtime / pm Turborepo build system oxlint / oxfmt lint & format Lefthook lefthook git hooks Alchemy Alchemy iac (typescript) request path out of bandhover to isolate · click to pin · esc to release
Pick a box to read why it is in the stack.
Everything inside the dashed region shares a single V8 isolate. That is why the HTTP layer is Hono and not a framework with a plugin system: on this runtime, the size of what you boot is a latency number your users feel, not a preference you defend in review. The two boxes outside it — the ORM and the database — are the parts that survive the request.
The two arrows that leave the request path both land on D1. Sessions live in the same SQLite file the application queries, so there is no second store to reconcile, no token to introspect against someone else's uptime, and a signed-in user is a row you can join against. That is the trade the stack is making: less isolation, far less distributed state.
Alchemy is in the monorepo, not in a console: the D1 binding the Worker imports and the D1 the deploy creates are the same TypeScript declaration. The dashed line crossing from the toolchain into the runtime is the only edge in the picture that is not traffic — it is the repo writing the platform, which is what makes the two halves of the diagram one system.