I'm a developer in New York. I work in banking and build my own projects through KE Studios.
Lately I've been building tools for working with AI coding agents: keeping track of their work, sharing context, and getting them to work together. You'll also find a few apps and research projects below.
These are personal projects. My views are my own, not my employer's.
KE Studios · Agent Rooms · Hugging Face · [email protected]
![]() KE Activity Monitor | ![]() Switchboard | ![]() AgentBrain Handoffs |
![]() Tanpin | ![]() ContextLib | ![]() Live Wire |
![]() Strand DNA | ![]() DayLedger | ![]() KE Pen |
| Project | What it does | Links |
|---|---|---|
| Switchboard | Organize agents, assign work, and choose which agents can talk to each other. | Hosted version planned for Agent Rooms |
| AgentBrain Handoffs | Send work to the right agent session and track its progress without interrupting an active turn. | Demo |
| PowerSwarm | Split a coding job across several AI agents working at once, each on its own branch, and keep only the work that passes its test. | Recorded run |
| ContextLib | Keep project notes, decisions, and lessons in Markdown, with a log that makes changes traceable. | Sample library |
| KE Activity Monitor | See what your agents and their processes are doing on your Mac. | Product page |
| CPU and GPU Workers | Check local worker jobs and Apple GPU activity from your coding assistant. | |
| KE Pen | Draw on your screen to show an AI assistant what you mean. Free on Mac, Windows, and Linux. | Download |
| DayLedger | Turn Claude Code session logs into a daily report, including work that spans several days. | Sample report |
| Codex Lens | Browse local Codex conversations. An independent project, not affiliated with OpenAI. |
| Project | What it does | Links |
|---|---|---|
| MacroMail | Email for AI agents, with an API and MCP server. Free, open source, and self-hosted. | |
| KE Credits | Manage prepaid credits, Stripe payments, refunds, and disputes in your own Postgres database. | |
| Tanpin | Forecast inventory needs, create purchase orders, and track expected deliveries. | Demo |
| Live Wire | An AI-generated satirical news channel with animated anchors. | Watch |
| Strand DNA | Explore a DNA report in your browser. Your raw file stays on your device. | Sample |
| Pointer | Point at something on your screen, press a key, and ask a question out loud. |
I'm testing ways for agents to exchange structured messages and check what happened to them. Waggle handles the message format; Kea decodes and checks it. Neither gives an agent permission to act.
The repo includes a BANKING77 text-classification benchmark, reproduction instructions, and the results, including experiments that didn't work.
A few results
Adding character features to the word-based baseline improved macro-F1 from 0.8915 to 0.9119. The paired improvement was 0.0203, with a 95% bootstrap interval of [0.0140, 0.0274]. All 3,050 held-out predictions kept the same routing decisions across direct, JSON, and Waggle/Kea handoffs. Those are results from this benchmark, not a general claim about agent performance.
I also tested reusing a Qwen3-14B prefix state across six branches on Apple Metal. It beat rebuilding the full text after the second branch, but didn't beat the stronger cached-prefix or warmed-native baselines. I published that result too.
A comparison of TF-IDF and DistilBERT on public CFPB complaint data, tested on later data with duplicates removed. It also looks at confidence estimates and when a case should go to a person. The simpler baseline won the fixed experiment.
My private research into how market liquidity changes over time. I'm testing whether models can learn useful patterns from order-book events and how those patterns change across time scales.
The models tested so far haven't passed the evaluation criteria I set in advance. I haven't selected a model or established a trading edge.
What I'm testing
HEATWAKE keeps the original order-book events alongside a time-and-price representation built from them. The models use only information available at each prediction time. I'm comparing event-based, visual, and combined approaches.
I call the experimental model family a Liquidity Cognition Model, or LCM. The question is whether it can distinguish what happens next: a large order holding, being withdrawn, absorbing trades, breaking, or reforming.
Tests use chronological splits, strong baselines, checks for future-data leakage, and realistic costs. Forecast accuracy and uncertainty are measured separately. A model that misses any required criterion isn't selected, and a forecast never grants permission to trade.










