Search engine reboot hand-rolled from raw storage primitives
It rebuilds vector search and key-value storage from custom page formats up, keeping the dependency graph light and every byte offset immutable.
What it does
Resin is a rebooted C# project that packs a vector-space search engine, a vector database, and a columnar key/value store into one dependency-light package. It splits work across three modules: Resin.KeyValue for on-disk column storage, Resin.TextAnalysis for tokenization and vector math, and Resin.WikipediaCommandLine for lexicon tooling. Everything sits atop a custom storage layer that treats each column as an append-only set of keys backed by .key, .adr, and .val files.
The interesting bit
Rather than wrapping an existing database, Resin implements its own page-level column store with linked-list value chaining and strict key semantics—TKey must be a comparable struct with deterministic ordering. That design choice enables set operations like union and intersection across columns while keeping value offsets stable and cache-friendly.
Key highlights
- Custom append-only storage using
.key,.adr, and.valstreams; existing bytes are never modified in place. - Duplicate prevention via sorted column-wide snapshots and binary search, turning columns into sets that can be joined.
PutOrAppendlinks multiple values to a single key with fixed-size nodes tail-appended to the value stream.- Text-analysis utilities for bags-of-words/characters and vector similarity.
- Clean, dependency-light design intended to be extended rather than configured.
Caveats
- The README claims Resin can “produce large language models out of strings” but never explains how, leaving that feature opaque.
- Performance is described as “fast” without benchmarks or comparative numbers.
- Custom
TKeystructs are hashed tolongfor page-level storage, so uneven hash distributions or collisions can affect behavior.
Verdict A solid candidate if you need a hackable, from-scratch search or KV layer in C# without heavy dependencies. Look elsewhere if you want a proven, production-grade vector database with managed scaling.