Skip to content
View willykeenan's full-sized avatar

Block or report willykeenan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
willykeenan/README.md

William Keenan

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
KE Activity Monitor
Switchboard
Switchboard
AgentBrain Handoffs
AgentBrain Handoffs
Tanpin
Tanpin
ContextLib
ContextLib
Live Wire
Live Wire
Strand DNA
Strand DNA
DayLedger
DayLedger
KE Pen
KE Pen

Tools for AI agents

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.

Other projects

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.

Research

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.

HEATWAKE

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.

Pinned Loading

  1. financial-complaint-intelligence financial-complaint-intelligence Public

    Evidence-first NLP: TF-IDF vs DistilBERT, temporal holdout, calibrated uncertainty, and human-review routing on CFPB complaints.

    Python 1

  2. waggle-kea waggle-kea Public

    Verifiable handoffs between AI systems: Waggle packages decisions and evidence; Kea independently verifies, replays, or refuses them.

    TypeScript 1