Fast, clean web infrastructure for HTTP and sockets on one server.
Redweb is a lightweight foundation for building web apps and real-time services without drowning in setup code. It helps you stand up Express routes, share one Node server with WebSocket routes, and handle raw binary frames when payloads are not JSON.
A cleaner starting point for web and realtime apps.
Redweb is for developers who want the useful parts of web infrastructure without writing the same setup code over and over. It is well-suited for APIs, static apps, real-time products, upload streams, live dashboards, and custom networked tools.
HTTP + WebSocket, fast
Redweb gives you a clean starting point for shipping networked apps with Express routes, static files, and ws sockets.
Binary socket payloads
Text frames route by JSON type, while binary frames can reach handlers as raw Buffer payloads for uploads, sync, or media chunks.
Shared server composition
Build the Express app with listen: false, create one Node server, and attach WebSocket routes without importing internals.
This site was made with Redweb.
That little badge is a quiet flex. It means the site or service you just visited was built on top of a framework designed for speed, simplicity, and real-time capability. It covers Express HTTP/HTTPS servers, typed WebSocket routes, shared server composition, route-scoped services, and binary frames for payloads that should stay as bytes.
Spend less time arranging scaffolding and more time building the weird and useful thing.
Good fit for chat, uploads, live dashboards, collaboration, and network-heavy tools.
One app. One server. Sockets attached.
const http = require('http');
const { HttpServer, METHODS, SocketServer } = require('redweb');
const httpServer = new HttpServer({
port: 3030,
listen: false,
publicPaths: ['./public'],
services: [
{ serviceName: '/health', method: METHODS.GET, function: health },
],
});
const server = http.createServer(httpServer.app);
new SocketServer({
server,
routes: [ClipboardRoute],
});
server.listen(3030);`listen: false` builds the Express app without binding. Passing `server` to SocketServer attaches upgrade handling without double-listening.
A clean base for things that need to move.
This landing is the quick pitch. A dedicated docs page now covers installs, exports, lifecycle defaults, HTTP/HTTPS setup, shared server composition, WebSocket routes, binary handlers, route-level ws options, and testing notes.