Fast & Lightweight
Built with Bun for blazing fast performance and minimal overhead.
A fun and fast framework powered by Bun and TypeScript, bringing simplicity and a fresh perspective to backend development. Stay in the Sponge Zone!
Built with Bun for blazing fast performance and minimal overhead.
Written in TypeScript for a better developer experience.
Organize your application with clean and scalable modules.
Generate modules, routes and boilerplate code in seconds.
Six things RiserBob gives you out of the box.
Organize your application into clean, reusable modules that keep your codebase structured and easy to maintain.
Protect routes and handle common request workflows with built-in middleware, without reinventing the wheel.
Built for Bun and TypeScript to deliver a lightweight HTTP core with speed at its foundation.
Validate incoming data with a simple, developer-friendly API—without the hassle of building validation from scratch.
Generate modules in seconds with commands like `bun run riser-bob g module users` and keep your development workflow moving.
Enjoy playful SpongeBob-inspired messages and errors that make debugging feel like a trip to the bottom of the sea.
Every Sponge method returns the app, so routes chain naturally. Middleware sits right next to the handler it protects.
1import { RiserBob } from "riser-bob";2 3const bob = new RiserBob();4 5// Chain routes, add middleware per route6bob.spongGet("/users", listUsers)7 .spongPost("/users", createUser)8 .spongGet("/me", me, auth.middleware);One central error handler gives every failure a predictable response.
| Situation | Response |
|---|---|
| No matching route | 404 Not Found |
| Path exists, method does not | 405 Method Not Allowed + Allow header |
| Handler throws an HttpError | The error's status and message |
| Handler throws any other error | 500 — details are never exposed |
| Handler returns no Response | 500 |
RiserBob is released under the MIT License. You may use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the framework, subject to the license terms. You must include the original copyright notice and license text in all copies or substantial portions of the software. Your applications and code remain yours.
Every feature in RiserBob is a module made of three focused files: a controller for the logic, a router for the paths, and a module that wires them together. Here is what a users feature looks like.
1import { RiserBob } from "riser-bob";2import { AuthMiddleware } from "riser-bob";3import { UsersController } from "./users.controller";4import { UsersRouter } from "./users.route";5 6export class UsersModule {7 register(bob: RiserBob): void {8 const controller = new UsersController();9 10 const authMiddleware = new AuthMiddleware((token) =>11 controller.verifyToken(token),12 );13 14 const router = new UsersRouter(15 bob,16 controller,17 authMiddleware,18 );19 20 router.register();21 }22}Powered by Bun and built with TypeScript, RiserBob brings performance and a playful developer experience together, making API development more enjoyable.
Preliminary results. Results come from one reported benchmark run. Performance can vary by runtime, hardware, and test conditions. Repeat testing is needed before drawing general conclusions.
Requests handled per second
GET /hello — JSON response: { message: "Hello World" }
Test methodologyDebugging is serious business. The messages don't have to be boring. Meet the friendliest errors under the sea.
Developer-friendly errors
Clear status codes. Helpful context. A little SpongeBob energy.
Choose a response
01 / 05Fun messages are for humans. HTTP status codes still do the serious work.
Lost in Bikini Bottom
“I checked my pineapple, but the endpoint isn't there!”
{
"error": "Not Found"
}[RiserBob] 🧽😂 Welcome to Bikini Bottom!
🔎 Requested Method: GET
🛣️ Requested Path: /api/krabby-patty
🤷 Route not found! Did Patrick register it?
🍍 SpongeBob: "I checked my pineapple, but the endpoint isn't there!"
🦀 Mr. Krabs: "NO ROUTE, NO MONEY!"Built with RiserBob's developer-first error philosophy.
Get started with RiserBob
Software Engineer · Creator of RiserBob
I engineer scalable backend systems and developer tools, and created RiserBob: a lightweight, fully tested, fun HTTP framework for Bun and TypeScript, inspired by the world of SpongeBob SquarePants, built for modularity, flexibility, and a better developer experience.
Star the repo, report a rough edge, or show us what you are building. Every idea shared makes the next project a little easier for someone else.