The main concept is straightforward: embed text, store the vector, and query it later. The time-consuming part was everything else.
I created a memory layer that maintains context across AI tools using Cloudflare Workers, D1, Vectorize, and Workers AI. All this operates on the free tier. Here’s what I didn’t realize at first.
Two stores, kept strictly separate
D1 stores structured entry data, including content, tags, timestamps, importance scores, and the exact vector IDs put into Vectorize. Vectorize holds the embeddings, linked by UUID.
export interface Env {







