Show HN: A lightweight, stateless database for agent memory
polign.com · Read Story HN original
I've been working on Polign and built a small prototype around something I've been thinking about with agent memory. I have built a lightweight/stateless vector db + BM25 search which works really well with typed facts and structured queries.
It uses your own S3, or GCS bucket as primary storage, and restarting a node is fairly quick.
Demo + writeup: https://polign.com/blog-edge-agent-memory
Live search demo: https://demo.polign.com
Docs: https://polign.com
Comments
Litestream with SQLite would solve some of these use cases, and backing up to S3 or GCS works well.
Here I was focused on more dynamic workloads. For example, larger indexes and corpus that can be accessed by multiple readers. I didn't want to invest in local storage, so the data is made to stay cold until it's actually accessed into warm cache.
Also, one node can serve all of that in one collection while serving typed agent memory in another.
Perhaps I missed something, but storage, memory, and operational overhead is something I wanted to worry less about.
Open-sourcing parts of it isn't off the table. I kept the core closed for now to understand the interest in it.
Adoption of a system sans functional observability and mutation is of little utility. There's no reason to use a system that cannot be altered in design cycles (or larger model-release cycles), when memory systems aren't that complicated to begin with. RAG, Vector, simple KV, append-only buffers, are all in competition and used at different scales for good reasons.
I see your point on observability. I haven’t baked it into polign yet, but I have been thinking about ‘how’ I would do it a very user friendly way. Glad to have a conversation about it.
I'm throwing in a bit of stank in those questions because I don't see anything here that's particularly unique, and keeping this closed and costly is just... absurd. I've vibe coded the same exact thing multiple times. It works, but it's only as useful as the philosophy of the person using it allows it to be.
So why would someone choose your solution? A vector database hosted in S3 is effectively trivial to set up at this point in time. What are you offering that I can't get from prompting a powerful enough model? If the answer to that question isn't the first thing people read when they open this post, then you can just consider all of this worthless and save yourself the hassle.
Hosted db have query costs that grow with the corpus, and self hosted have operational overheads. They do add up over time and I wanted cost flat, which took a while to get it right.
If a vibe-coded version covers your use case, you don't need this. I have added my own experience working and optimizing the storage into this, and Im certain it holds up well for a growing corpus and with simplicity to use it across multiple readers.