Working on Akyuu, a Nix-inspired DAG memory bank for persistent AI agents that allows chains of memories to be followed.
About
I'm Lilly, a programmer based in the north of England. I work well with Nix, having packaged almost all of my projects and configured all my systems using it. I write software primarily in Haskell and Rust, with other languages like Python, Swift and TypeScript where appropriate.
I'm currently looking for work while hacking on a variety of personal projects, and I spend much of my free time reading and researching both computer science and philosophical topics.
Projects
akyuu: a memory bank system for AI agents. Stores memories in a Nix-style content-addressable store, and builds a relational graph cache on top of it, using an embedding model for queries. It also provides a wiki-like interface through a web UI. Written in Haskell.
tiny-lm: I've been building a small language model, starting with a bigram table and working up to a transformer, to see how they work. I built an interpretability framework, and trained models up to 98.4M parameters in size.
nibble: a small agent harness designed for memory-constrained environments. Nibble uses lazy-loading and auto-unloading, and has a binary size <10mb and a memory footprint of around 50mb for the full GUI. It's designed to let cloud agents defer tasks to a small local model, giving them a way to save tokens on one-shot local tasks.
dq: a jq-like tool that takes advantage of directory trees being object-shaped. Entries are objects, walks are streams, and file contents form manipulable JSON. It gives both humans and AI agents a convenient way to programmatically read and manipulate complex file structures.
Contact
The best way to reach me is me@lillycham.com. I'm on GitHub as lillycham.