Its central idea is to provide an expressive, type-driven API and derive the rest: codecs, request validation, OpenAPI spec and frontend schemas (Zod and Melange). This keeps contracts in sync between server and client without maintaining separate definitions.
The framework includes an RFC-strict HTTP server, composable dependencies, WebSockets, SSE and high-level primitives for building MCP servers. It also provides production-ready essentials like distributed tracing, OT-compatible metrics, logging and other features you would expect. Speed was never the goal but the benchmarks show it running x2 faster than NestJS and x5 faster than FastAPI on a single core.
Give it a try.
Documentation: https://hyphatech.github.io/spindle/
Don’t like the “fresh off the AI block” feeling of the website but could be a bit more confident if I could see it used in the actual wild!
Add to your bin/dune:
(executable
(name main)
(libraries spindle eio_main)
(preprocess (pps ppx_wiretype)))**