Bevel.ts: The Framework Bun Deserves — And It's Just Getting Started
"Why do we have Vite for frontend, but nothing for backend?"
This was the question that sparked Bevel.ts.
As developers, we’ve seen the JavaScript ecosystem evolve at blistering speed — from CommonJS to ESM, from slow Webpack builds to lightning-fast Vite, from monolithic backends to microservices on the edge. But in the backend space, Bun has arrived like a freight train, and yet...
Where’s the framework that feels like Bun?
- ✅ Ultra-fast by default
- 🧠 Feels like Vite or Next.js in setup and DX
- 🔥 Natively supports TypeScript, ESM, and edge runtimes
- ⚒️ Real CLI, not just another router
- 🤖 Built for the AI-native era — from day one
✨ What Makes Bevel.ts Different?
Feature | Bevel.ts | Express / Fastify | Elysia / Hono |
---|---|---|---|
Runtime | Bun | Node.js | Bun |
Architecture | Intent-driven | REST | REST |
CLI-first | ✅ Yes | ❌ No | ⚠️ Partial |
AI Native | ✅ Built-in | ❌ Plugin-needed | ❌ None |
Edge Ready | ✅ Vercel / Cloudflare | ❌ Limited | ⚠️ Worker-optimized only |
DX Philosophy | Precision & Speed | Boilerplate-heavy | Lightweight routing |
🚀 Enter: Bevel.ts
Bevel.ts is my ongoing effort to build the first fullstack backend framework for Bun — designed from scratch for clarity, precision, and speed.
It’s inspired by the architectural concept of a "bevel": a clean, intentional cut that reveals the true form underneath. That’s how I believe APIs should be structured: with intent first, not REST boilerplate or GraphQL complexity.
🧠 What It Will Be
bunx bevel new my-app # scaffold in seconds
bunx bevel generate intent # define APIs by intention
-
defineIntent("user.login", schema, fn)
instead of defining routes - Native OpenAI Function Calling support — automatically exportable
- Playground UI to test and introspect your API intents
- Deployable to Vercel Edge, Cloudflare Workers, or Bun-native servers
🧩 Think: Rails meets Vite meets GPT
— on Bun.
⚠️ What It Is Right Now
Let’s be honest: it’s not ready yet.
- The CLI is under construction
- Some generation commands are stubs
- Not all integrations are wired in
But the architecture is real. The vision is clear. And the core is moving fast.
📌 OSS is a process, not a product.
🦫 Meet the Mascot: BevelBeaver
Say hello to BevelBeaver, the sharpest, most precise backend architect in the forest.
Why a beaver?
- Beavers are nature’s engineers — structured, meticulous, and fast.
- Just like Bevel.ts, they carve with purpose and build with clarity.
“Code should be cut, not cluttered.” — BevelBeaver
BevelBeaver reminds us that every line of backend logic should be intentional, elegant, and fast as Bun.
🧱 All-Star Stack Behind Bevel.ts
Here's what powers Bevel.ts under the hood — a carefully curated set of modern tools that work seamlessly with Bun:
Runtime: Bun (Edge-native, zero cold start)
Framework: Bevel.ts (Intent-Driven)
Routing: Hono (Ultra-fast)
Schemas: Zod + tRPC (Type-safe and LLM-compatible)
Database: Drizzle (SQL builder, typed, schema-first)
Auth: Lucia (Lightweight, composable)
AI Support: OpenAI, Claude, LangChain (Function calling-native)
UI Playground: React + shadcn/ui + Framer Motion (DX focused)
CLI Tooling: Bevel CLI (bunx-based, zero config)
🧠 Every layer was chosen to optimize for speed, clarity, and future-proof DX.
🧭 Why Write This Now?
Because OSS isn’t about perfection. It’s about momentum.
Because I believe others might be asking the same thing:
"Where’s the framework that actually feels like Bun?"
If that’s you — come along. Watch the repo. Star it. File an issue. Or just send a 👍.
This is just the beginning.
Top comments (8)
This is still a work in progress — I'm actively shaping what Bevel.ts should become.
If you’ve got feedback, questions, or just thoughts on the direction, I’d love to hear them. Every bit helps sharpen the vision. 🛠️
And if this project resonates with you, a ⭐️ on GitHub would mean a lot right now.
I'm putting a lot into building this out in public, and your support helps keep the momentum going. 🙏
All the best @yukisihikawa
Building a backend framework for Bun that thinks in intents, not just routes.
It’s early, but the core is working and the ideas are sharp.
Would love your eyes (and maybe a ⭐️) if you're curious.
My Bevel.ts github
Pretty cool seeing someone tackle backend for Bun without waiting for everything to be perfect first.
Thank you — that means a lot! 🙏
It’s still early, but I’m putting out the core ideas as they come.
If it resonates, a ⭐️ on the repo really helps keep it moving:github
The goal with Bevel.ts isn’t just to recreate Express on Bun —
it’s to rethink backend structure entirely: from boilerplate to intent.
I want to make defining APIs feel more like shaping thoughts than stitching routes.
Still early, but the vision’s sharp — and moving fast. 🦫⚡