Foundational libraries
Routing, codecs, virtual filesystems, schedulers, object pools, lifecycle management. The unglamorous layer every serious system needs and few teams should rewrite.
Research & Development · Australia
Nandlabs is a software R&D company. We research the primitives that enterprise systems are actually made of — transport, encoding, storage, scheduling, intelligence — and we rebuild them as libraries that are self-contained, production-ready, and free for anyone to use.
What we do
We are a small lab with a long horizon. Everything we learn becomes a library someone else can build a company on.
Routing, codecs, virtual filesystems, schedulers, object pools, lifecycle management. The unglamorous layer every serious system needs and few teams should rewrite.
One interface, many providers. Write against VFS, messaging, secrets or vector storage — then swap AWS, GCP, or Azure underneath with a single blank import.
A provider-agnostic GenAI layer with prompt templating, tool calling, embeddings and a model router — spanning OpenAI, Claude, Ollama, Bedrock and Vertex AI.
Open source
Every line we write lands on GitHub under a permissive licence. These are the projects under active development.
Our flagship: a self-contained toolkit of enterprise-grade Go libraries, deliberately built to minimise external dependencies. It spans HTTP routing and clients, WebSockets, messaging, codecs with validation, credential management with key rotation, a clustered task scheduler, a virtual filesystem, structured logging, and a provider-agnostic GenAI interface — all in one module.
assertion · cli · collections · config · errutils · fnutils · clients · rest · turbo · ws · messaging · codec · data · semver · uuid · genai · secrets · chrono · vfs · l3 · lifecycle · managers · pool
A Rust port of Golly, and the purest expression of the idea: its entire runtime dependency tree is Tokio plus the TLS stack. Encoding, config, HTTP/1.1 client and server, router, RFC 6455 WebSockets, hashing and a GenAI abstraction — all hand-rolled, all feature-gated so you compile only what you use.
AWS implementations of every Golly capability interface, on the AWS SDK for Go v2. S3-backed VFS, SQS and SNS messaging, Secrets Manager, Cognito auth, IAM authorization, Bedrock GenAI with tool calling, OpenSearch kNN vector storage, and DynamoDB leader election.
The same capability surface on Google Cloud: Cloud Storage VFS, Pub/Sub messaging, Secret Manager, Firebase auth, Cloud IAM policy evaluation, a Vertex AI and Gemini GenAI provider with streaming and structured output, plus Vector Search and AlloyDB pgvector backends.
The ecosystem keeps widening. Golly Azure brings Microsoft's cloud into the same provider pattern, while Golly Kafka implements the messaging interface against Kafka — so a producer written once runs on a local channel, SQS, Pub/Sub, or a broker.
Learning by example? Start with golly-samples, or browse all repositories.
Philosophy
// One interface. Any cloud.
import (
"oss.nandlabs.io/golly/vfs"
_ "oss.nandlabs.io/golly-aws/s3"
_ "oss.nandlabs.io/golly-gcp/gs"
)
func main() {
f, _ := vfs.Open("s3://reports/q3.csv")
defer f.Close()
// swap the scheme, keep the code
vfs.Copy(f, "gs://archive/q3.csv")
}
Get involved
Use it, break it, send us the patch. Issues and pull requests are open on every repository, and we read all of them.