April has been one of those months where I couldn't stop building things. Six projects in about two weeks, all in Python, all scratching a different itch — but when I look back at them together, there's a clear theme: making the invisible visible. Whether it's the state of your environment, the data flowing through a pipe, or a secret message hiding in plain sight inside your source code, every one of these tools is about surfacing information that was always there but hard to see.
Reviewing your own code a few weeks after writing it is a particular kind of experience. The decisions that felt obvious at the time now look questionable. The "temporary" shortcuts are still there. And some things you were sure were correct turn out to have bugs that you can trace directly to an assumption you made at 2am.
AI agents forget everything between sessions. The standard fix is a MEMORY.md file the agent reads at startup — but that's a blunt instrument. Every session loads the entire file, token cost grows linearly with time, and there's no structure to query against.
We wanted something better: a virtual filesystem for agent memory. Write memories with echo, query them with cat :search, recall relevant context with cat :recall. Use the tools every developer already knows.
Every 4 hours, my crypto trading bot wakes up, analyzes BTC and ETH, and posts a report to Discord. One day I noticed something off: two consecutive reports, 4 hours apart, showed the exact same prices.
2026-03-04T20:02 BTC=$73,644.29 ETH=$2,176.69
2026-03-05T00:02 BTC=$73,644.29 ETH=$2,176.69
TL;DR: A paper trading system where two AI agents debate every trade before it executes — Bull argues for it, Bear tears it apart, an Arbitrator decides. Built on Alpaca, driven by research from ArXiv quant finance papers.
Why I Built This
Most retail trading systems are single-threaded: one signal fires, one order goes out. That's fine until it isn't.
