\

Show HN: Spindle โ€“ a full-featured, type-safe web framework for OCaml 5

29 points - last Thursday at 10:45 AM


Spindle is a multicore-by-design, eio-native web framework for modern OCaml.

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/

Source
  • B4uler5

    today at 3:49 PM

    Will keep an eye on this project, love me some Ocaml! Do you have an example of it deployed and in use?

    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!

    • andsoitis

      today at 2:13 PM

      Cool to see some Lisp in this OCaml project:

      Add to your bin/dune:

          (executable
            (name main)
            (libraries spindle eio_main)
            (preprocess (pps ppx_wiretype)))**

        • mpalmer

          today at 2:17 PM

          These are S-expressions, not Lisp. It's part of dune, which is the build system for ~40% of OPAM packages.

    • sroerick

      today at 3:06 PM

      Very cool! Congrats. Looking forward to trying