Lab Notebook · Changelog · Build in Public
A running log of what I'm building, exploring, and shipping.
Here's the rundown on what I've been building, breaking, and shipping. No curated highlight reel — just the actual work, month by month.
Shipped a full intake system for a private client audit. Drive-canonical source handling, normalized working copies, evidence registry, extraction prompts, sensitivity rules, client-burden reduction, and review packs. The system turns messy shared folders and meeting context into structured audit evidence without asking the client to do a bunch of prep work.
Stood up a production retrieval layer for client work: FastAPI on Render, Postgres + pgvector, hybrid search, degraded fallback mode, local secrets support, onboarding scripts, and smoke tests. Added a six-pillar ingest path so audit evidence can be searched by workflow, readiness, governance, data architecture, org design, and AI adoption.
Built a specialist review workflow for audit drafts. Five reviewer roles cover evidence provenance, confidentiality, stakeholder readiness, data architecture feasibility, and AI-use-case acceleration. The point is simple: make the first human review sharper by having agents pressure-test the work before it gets there.
Turned recurring meetings into durable working memory. Synced call transcripts into structured deposits, added a portable morning startup workflow, kept session memory current, and specified section-aware meeting chunking so decisions, methodology candidates, client work, and raw transcript all stay searchable at the right level of trust.
Dug into company-brain patterns and retrieval UX for agentic work. Explored a virtual-filesystem layer inspired by modern docs search, then cut scope down to the useful core: whole-source retrieval, regex search, metadata browsing, and cleaner meeting filters. Useful lesson: the best architecture work is often deciding what not to build yet.
Extended the monthly budget close workflow for a private client. Added vendor transaction inputs, mapping rules, checks, tests, and month-end run files. It is not glamorous software, but it is the kind of operational automation that turns a recurring manual finance process into something repeatable.
Built a self-hosted multi-agent platform from scratch. Python + SQLite + Claude Code as the runtime. Telegram I/O, scheduled jobs, multi-agent orchestration (Bo + Scout), systemd always-on service, real-time HTTP dashboard. 198 tests. Replaced OpenClaw entirely.
Stood up the central knowledge base and agentic brain for CMPRSSN. Methodology IP (Compression Scale v3, coupling-gap, Augment → Automate → Agentify), company identity, client engagement playbooks, and agent skills — every content file carries semantic frontmatter so the brain is RAG-retrievable. User-level memory with per-person context, heartbeat hooks for crash recovery, a Circleback meeting-sync skill, and GitHub Actions validation on every PR.
First workflow shipped on an Agentic COO project for a private client — monthly budget close. Deterministic QuickBooks Vendor Transactions parser, dry-run helpers, validation checklist, and pytest coverage. Automates a recurring manual close process.
Self-hosted personal operations dashboard — finances, health, tasks, relationships. FastAPI + SQLite + HTMX. Polymarket autonomous paper-trading bot with Claude Code as the brain (scanner, strategies, vault sidecar, fee modeling, per-strategy P&L, Telegram mode-flip alerts), Eight Sleep ingestion (stages, RMSSD, breath rate, snoring), SimpleFin polling, learn-from-edits transaction categorization, admin-token-gated DB export. 12 tests on the trading path.
Launched live. 13 psychiatric trait PRS scoring from 23andMe or AncestryDNA raw data, gene drill-downs with modifiable factors, tokenized shareable reports, Stripe Checkout at $29 launch pricing. Running on Render + Cloudflare R2 + Postgres. Full security pass: strict CSP, HSTS, webhook idempotency, upload-path hardening. 152 tests.
geneticpsychiatricinsights.comTwo weeks of post-launch reliability and science work. Closed a race between POST /uploads and the R2 raw-DNA write, added post-2025 23andMe header support, pre-filtered sumstats to GWS-only parquet (~1700× size reduction). Swapped Anxiety to PGC-ANX 2026 (58 loci) and SUD to PGC CDG 2025; back-filled ASD percentile from 2015 frequencies. Shipped /traits pages, a /methods page, and a full SEO + LLM schema pass.
Bo, the platform's main agent, independently designed and shipped a job discovery + tracking system overnight — SQLite schema, REST API, interactive dashboard. First fully autonomous feature.
v1.1 release prep on the macOS markdown editor. Added comments — anchored highlights, sidebar, view/edit via bubble or ⌘⌥M, persisted as a trailing HTML comment block so they travel with the file. Formatted print via PDFKit, document templates, welcome flow, and an app-wide rename to Easy Markdown.
App StorePost-launch polish on kbw.dev. Refactored ~1,600 lines of inline CSS into external stylesheets. Added system-aware dark mode with localStorage persistence and a nav toggle. Embedded Google Calendar scheduling in the sidebar and contact section. Rewrote the hero bio, About, and AI sections, and fixed sidebar overlap on narrow viewports.
Finally shipped the personal site. Editorial design, gradient blobs, career timeline, AI section. It's live at kbw.dev.
kbw.devWent through 90 AI tools from a viral X post (4.2M views). Most were noise. Installed the 4 that actually added something to my agent setup.
Shipped a native macOS markdown editor to the App Store. Simple split-pane editing, works locally, built for reviewing AI-generated markdown files. $0.99 on the App Store.
App StoreWent down the rabbit hole on self-hosted AI chat. Biggest takeaway: paying for a subscription doesn't mean you get API access. LibreChat is a complement to agent platforms, not a replacement.
Major price corrections across all 288 cards. PriceCharting's PSA 10 estimates were inflated 30-50%. Lugia 1st Edition raw up 48%, Karen's Umbreon raw up 86%.
Built a local genomic analysis pipeline using AncestryDNA raw data. Polygenic risk scores, pharmacogenomics panel, disease-specific deep dives — the kind of report you'd pay a geneticist thousands for. All processing on-device, zero data leaves the machine.
Retested the Zig-based headless browser. Nike's site passed, Puma's didn't — missing Web APIs. Fast, but still not production-ready.
Wrote a guide on setting up OpenClaw as an always-on AI assistant. Everything from Ubuntu to systemd to 1Password. Pay-what-you-want on Gumroad.
View on GumroadBuilt a K-12 computing and AI education brand with a surf theme. 4 age bands, free samplers, math bundle. Full catalog on Gumroad.
View on GumroadWrote up a guide for the WardexAI npm package and MCP server. Published on Gumroad.
React app tracking 288 cards for PSA grading arbitrage. Sortable, filterable, shows card art, grade prices, and ROI. The tool I wanted but couldn't find.
10 reports covering every Pokemon era. The finding that changed everything: PriceCharting PSA 10 estimates are inflated 30-100% on low-volume cards. Always cross-reference with eBay sold listings.
Explored platforms where AI agents actually earn money. ClawQuests, x402 protocol (75M+ transactions), MoltBook, ClawHub skill marketplace. Early days but real volume.
Tested Qwen3.5-35B on CPU. Raw inference runs at ~7 tok/s, which is fine, but agent framework overhead makes it impractical without a GPU. Experiment, not a solution.
First long-form X article about the OpenClaw journey. Took a few drafts to get the voice right. Built the article-writer workflow in the process.
20-section guide covering the full stack: Ubuntu, Node.js, VNC, Chrome, Telegram, 1Password, systemd, firewall. Everything I wished existed when I started.
Built role definitions, a voice profile from 5 writing samples across 4 registers, and templates for spawning specialized sub-agents. The system that writes like me.
Set up VNC, Chrome, Samba, 1Password CLI, browser relay, systemd services, firewall. The box that runs everything.
Decommissioned the old Rocketpool node. Killed Docker, freed 1.2TB of disk. Sometimes the best build is the teardown.
Built a dark-themed React app tracking 288 Pokemon cards across every era for PSA grading arbitrage. Sortable by ROI, filterable by era, with card art, raw/graded prices, and profit calculations. The tool I wanted but couldn't find.
Built and published WardexAI — an npm package and MCP server to prevent AI agents from getting their wallets rekt. Transaction simulation, allowlist enforcement, and spend limits for agentic wallets.
Built a social game on Base where you mint daily brainrots and steal them from people you follow on Farcaster. Redeem for cash at end of season.
Play on Vercel