Blog

Thoughts on building systems that reason, AI architecture decisions, Web3 experiments, and the occasionally crushing anxiety of optimizing for search engines that might not exist in three years.

2026

March 23, 20268 min read

Most AI governance frameworks collapse risk into a single score. ARA Eval decomposes it into 7 dimensions, applies deterministic gates, and tests whether LLMs can reproduce human judgment. The answer: only one model can. I open-sourced the framework.

aiagentsriskgovernanceevaluation
March 22, 20265 min read

Three Android phones, one weekend, zero successful WhatsApp transfers. The error is 'Failed to find provider info for com.whatsapp.provider.migrate.ios.' The fix is a shell script. The journey to get there involved ADB forensics, a 2014 APK from the Wayback Machine, and a manual database decryption pipeline I never needed.

androidioswhatsappmove-to-iosadb
March 9, 20265 min read

Making provisioning software usable by supply officers on phones in a warehouse. 320px minimum, 20px text, light/dark themes, bilingual — and what 'mobile-first' means when your users don't think in software terms.

ridgelineoutward-boundexpedition-planningmobile-firstaccessibility
March 3, 20269 min read

I spent 60% of my effort fighting a framework and 40% building domain logic. Then I looked at OpenClaw (500k lines) and NanoClaw (6k lines) and realized: a sturdy core plus skills that encode taste beats a large framework every time.

aiagentselizaosopenclawnanoclaw
January 13, 20266 min read

Counter-intuitive finding: forcing Cantonese (yue) on Whisper causes decoder collapse. Force Chinese (zh) instead for coherent, searchable...

whispercantonesetranscriptionaispeech-to-text

2025

December 13, 20252 min read

Using Claude Code and OpenRouter infrastructure to rapidly build model evaluations with Claude Opus 4.5 as the judge

aievalsllm
October 28, 202512 min read

How we learned to stop worrying and love the binary calendar. On deleting databases, removing cron jobs, and discovering that the oracle was encoded in...

architecturesimplicityi-ching8-bit-oracleengineering
October 28, 202522 min read

Complete technical comparison of MemMachine vs mem0, PostgreSQL graph alternatives (recursive CTEs, ltree, adjacency lists), and detailed...

architectureaimemory-systemspostgrestechnical-deep-dive
August 19, 20255 min read

A technical deep-dive into how we avoided a risky database migration by choosing an additive strategy for adding Simplified Chinese support to our...

internationalizationdatabase-migrationrisk-managementproduction-deploymentlocale-strategy
August 11, 20255 min read

My experience with Claude Code's productivity gains, the double-edged sword of rapid development, and lessons learned from over-engineering features.

claude-codeai-codingproductivitydevelopment-workflowrefactoring

2024

May 5, 20242 min read

Details on setting up authentication and database for the 8-Bit Oracle project using Next.js, Supabase (with Auth-UI for OAuth2), and Tailwind CSS...

supabaseauthenticationoauth2web3authsupabase-auth-ui
April 19, 20241 min read

A developer's comparison of using Claude Opus and GPT-4 (via Cursor.sh) as AI coding assistants, particularly when working with Next.js App Router vs...

ai-coding-assistantsclaudegpt-4ai-pair-programmingnextjs
February 29, 20244 min read

My initial thoughts on designing an AI service that can analyze and critique uploaded photos. I explore a multi-stage approach using CNNs, CLIP, and...

aiphoto-criticmulti-modalcomputer-visionimage-analysis

2023

November 26, 20232 min read

Exploring the difficulties in finding truly uncensored AI models. I discuss the influence of OpenAI's data and look at methods for fine-tuning base...

uncensored-aiai-model-traininghuggingface-modelsopenaigguf