Introduction
RapidREST is a low-code TypeScript framework for building data-driven REST APIs and app services fast. It is hardened and battle-tested, having been meticulously designed to deliver industry leading performance without sacrificing code quality or speed of development.
At its core, RapidREST is a robust framework that provides a composable, decorator-driven TypeScript API that lets you focus on writing business logic instead of boilerplate. Everything you need to build a production-ready backend service is included, from basic HTTP middleware to powerful database abstraction, built-in validation, caching, telemetry, authentication and more.
Core Features
- A dramatically faster HTTP engine. Built on uWebSockets.js (or natively on Bun, auto-detected at startup), not Express. Running the exact same business logic, RapidREST beats Express and Fastify on every endpoint where framework overhead is the bottleneck, by as much as 28%. See Performance for the full, honest breakdown, including where it doesn't win.
- Decorator-driven, aspect-oriented APIs. Decorate a function with
@Route,@Get,@RequiresRole,@Validate, whatever the endpoint actually needs, and RapidREST composes it all around your business logic automatically. No middleware chains to assemble, no router to register, no boilerplate between the request and the one line of code that matters. - Zero-boilerplate persistence. One decorated model and a
CRUDRoute/ModelRoutesubclass is a complete REST API: list, get, create, update, delete, with pagination, filtering, soft-delete, optimistic-locked versioning, and cross-datastore transactions, working identically over MongoDB or SQL. - A complete authentication system, not just JWT verification. Password, TOTP, OTP, WebAuthn passkeys, FIDO2 hardware keys, MFA, and OAuth2/OIDC, all as one library (see Auth Library). Don't want to wire it up yourself?
auth-serveris a complete, ready-to-deploy reference implementation. Docker image and Helm chart included. - Row-level authorization out of the box. Roles-Based Access Control layered with per-record Access Control Lists, protect an entire class, a URL path, or one specific document, with no third-party permissions library required.
- Caching that actually moves the needle. One
@Cache()decorator on a model turns a database read into a Redis-backed cache hit that's over 14x faster in our own benchmarks, and the same caching extends to server-rendered React pages. - Server-rendered React, from the same server. SSR pages and hydration with no second framework or build server running alongside your API, plus a full static-export path for when you just need a static site.
- From empty folder to running API in minutes.
rapidrest generate server/model/route/authscaffolds your project, your models, your endpoints, and your login system. Prometheus metrics, automatic OpenAPI docs, health/admin routes, and Docker/Kubernetes manifests all ship generated, not hand-written. - Background jobs, done right. Schedule recurring work on a crontab-style schedule or interval by extending
BackgroundService, with the same dependency injection and configuration every other class in your project gets.
History
In late 2018, Jean-Philippe Steinmetz co-founded the award-winning Game Backend as a Service platform AcceleratXR. The mission of AcceleratXR was to build a democratized backend technology platform that was low-code, easy to learn, and yet powerful enough to be used at massive scale (serving millions of daily active users). In time the AcceleratXR platform became a hit with the indie game developer community, powering popular games like Armajet. A couple years later, in 2020, the team at AcceleratXR decided to release the framework that the platform was built upon as an open source project called Composer.js under the MIT license.
Staying true to its ancestry, RapidREST is the evolution of the very framework that made AcceleratXR successful. It is a fully featured low-code framework, built for high performance and massive scale, that makes it easy for any developer to rapidly build RESTful API services. Most frameworks offer only a simple HTTP router and frontend toolkit. RapidREST offers a batteries included solution that includes HTTP router, database management and persistence abstraction, integrated caching, JWT-based authentication, Roles Based Access Control, server-side rendering for React and more. It's never been easier to develop modern REST API services and web apps in a single unified codebase.
RapidREST Libraries
RapidREST is split into a small number of focused packages that build on each other:
| Package | What it does |
|---|---|
@rapidrest/core | Dependency injection (@Inject, @Config, @Logger), automatic class discovery, and shared utilities (JWT, notifications, telemetry). |
@rapidrest/service-core | The HTTP server itself — a dual-engine design (uWebSockets.js on Node.js, Bun.serve() on Bun, see HTTP Engine). Routing, models & persistence, auth & RBAC, background jobs, and automatic OpenAPI generation. |
@rapidrest/react (plugin) | Server-side-rendered React pages, layered on top of service-core. See SSR React. |
@rapidrest/auth (plugin) | Common authentication strategies: password, TOTP, OTP, WebAuthn passkeys/FIDO2, MFA, and OIDC. See Auth Library. |
@rapidrest/cli | Project scaffolding and the local dev workflow (rapidrest generate ..., rapidrest dev). |
You'll typically never install core or service-core directly, the CLI wires them up for you. react and auth are opt-in plugins, added only when a project needs them. auth-server is a complete, deployable service built from the auth plugin, for projects that want a working login system rather than assembling one from primitives.
What's next
- Performance — how RapidREST compares to Express, Fastify, and Next.js under load using real-world examples.
- Getting Started — install the CLI and scaffold your first project.
- Core Concepts — decorators, auto-discovery, dependency injection, and configuration: the mechanisms behind everything described above.