Skip to content

HTTP without the framework tax

A lightweight server built directly on jdk.httpserver, virtual threads, and structured concurrency. Routes are code. Dependency injection is explicit.

Virtual threads

One virtual thread per request. No thread pools to tune, no reactive model to learn.

JPMS-native

Every module declares explicit requires and exports. You know exactly what depends on what.

Routes are code

Wire routes with RouterBuilder. Everything is explicit — just a configure() method.

Pick what you need

19 modules across core, middleware, protocol, and template layers. Add only what your application uses.

$build.serve:serve-foundation:0.1.1
Get Started