base.build
Foundation utilities across 26 JPMS modules: marshalling, configuration, reactive flow, graph algorithms, query, mereology, retry, telemetry, CLI parsing, version handling. The shared primitives everything else is built on.
A modular Java 25 ecosystem, domain demos built on top of it, and a documentation framework alongside.
A stack. base is the foundation; codemodel depends on base, spawn on those two, serve on those three, and spin on all four. Four I contribute to at Workday; serve.build is mine.
Foundation utilities across 26 JPMS modules: marshalling, configuration, reactive flow, graph algorithms, query, mereology, retry, telemetry, CLI parsing, version handling. The shared primitives everything else is built on.
A language-agnostic framework for representing software systems as a structured, serializable model. A CodeModel can be populated from compiled classes or .java source, then enriched, validated, and compiled through a plugin pipeline. The basis for annotation processors and code generation.
Programmatically launch and control processes, JVMs, and Docker containers. One abstraction (Platform, Application, Process) across all three. Define a Specification, launch it, get CompletableFuture lifecycle hooks back.
A script-free Java 25 build system. Inspects project structure through pluggable extensions, infers what to build, and runs the resulting dependency graph of tasks. Self-hosting.
HTTP for Java 25. Virtual threads, structured concurrency, zero magic.
MCP server for AI music composition. A typed, immutable music theory library covering pitches, rhythms, harmony, form, and transforms. Agents compose incrementally and export to MIDI and LilyPond.
An AI-native documentation framework. Docs structured so an agent can find what it needs without scraping prose, and so humans reading the same pages get a clear narrative too.
A hosted version I've thought about but am not building right now. Join the waitlist if you want to be told when that changes.