WRITING
2026-03-21 · 10 min · Recall, Product
Introducing Recall

Two packages. @veclabs/solvec stores and verifies. @veclabs/recall retrieves and assembles. Together they answer a question no other database can.

Read more →
2026-03-20 · 8 min · AI Agents, Audit
Memory Inspector: what did your agent know?

When your AI agent makes a wrong decision, you need to know exactly what it had access to. Memory Inspector makes that possible.

Read more →
2026-03-19 · 14 min · WASM, Rust, TypeScript, Engineering
Phase 3: Compiling Rust to WASM so Node.js runs real vector search

The hardest part wasn't the WASM compilation. It was making Turbopack not trace the require path at build time while still loading the right binary at runtime.

Read more →
2026-03-19 · 14 min · WASM, Rust, Engineering
Phase 3: Running Rust in Node.js via WebAssembly

The hardest part was not the compilation. It was making the bundler not trace the require path at build time.

Read more →
2026-03-18 · 10 min · Solana, Anchor, Blockchain, Engineering
Phase 2: Deploying a Solana Anchor program for vector verification

Why Solana? Because posting a 32-byte Merkle root costs $0.00025 and takes 400ms. That's the cheapest notary in history for cryptographic proof.

Read more →
2026-03-18 · 10 min · Engineering, Verification
Phase 2: Cryptographic proof of AI agent memory

Why post a fingerprint of your vector collection after every write? Because trust is not a product feature.

Read more →
2026-03-17 · 12 min · Rust, Engineering
Phase 1: Building a Rust HNSW index from scratch

Three things got us to 4.7ms p99 at 100K vectors: no serialization boundary, no GC pauses, and cache-friendly memory layout.

Read more →
2026-03-16 · 6 min · AI, Origin
Why I built VecLabs

Every AI agent I built forgot everything between sessions. Not just forgot - there was no way to prove what it remembered, when, or whether anyone tampered with it.

Read more →