DEV Community

Cover image for Bevel.ts — The First Real Backend Framework for Bun (Still in Progress)
Yuki Nishikawa
Yuki Nishikawa

Posted on • Edited on

Bevel.ts — The First Real Backend Framework for Bun (Still in Progress)

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
Enter fullscreen mode Exit fullscreen mode
  • 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.
Image description

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)
Enter fullscreen mode Exit fullscreen mode

🧠 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)

Collapse
 
yukinisihikawa profile image
Yuki Nishikawa

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. 🛠️

Collapse
 
yukinisihikawa profile image
Yuki Nishikawa

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. 🙏

Collapse
 
shishantbiswas profile image
Shishant Biswas

All the best @yukisihikawa

Collapse
 
yukinisihikawa profile image
Yuki Nishikawa

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.

Collapse
 
yukinisihikawa profile image
Yuki Nishikawa • Edited
Collapse
 
nathan_tarbert profile image
Nathan Tarbert

Pretty cool seeing someone tackle backend for Bun without waiting for everything to be perfect first.

Collapse
 
yukinisihikawa profile image
Yuki Nishikawa

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

Collapse
 
yukinisihikawa profile image
Yuki Nishikawa

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. 🦫⚡