AgentMeter: A Physical Usage Display for AI Coding Tools
How a small ESP32 desk display for Codex, Claude, Gemini, and Cursor grew into an encrypted Bluetooth bridge, a native macOS companion app, and desktop widgets.
Engineering blog
Deep dives, decision logs, and honest write-ups from building open-source software.
How a small ESP32 desk display for Codex, Claude, Gemini, and Cursor grew into an encrypted Bluetooth bridge, a native macOS companion app, and desktop widgets.
An engineering account of Salli, from brittle regular expressions to a conservative on-device classifier, encrypted local state, background Android capture, and a review loop designed to earn trust.
Enable Android SMS capture, understand the review queue, match accounts, correct categories, handle foreign currency, and troubleshoot messages that do not appear.
Set up a payday cycle, understand Safe to Spend, add the first transaction, and decide which Android permissions Salli should use.
Use budgets, accounts, goals, recurring payments, Payday Runway, Seettu, labels, receipt capture, and visual reports without moving personal data to a cloud account.
How a tuition class of 100+ students runs attendance, billing, and door check-in on one Go process with embedded SQLite, and why the mobile app treats offline as the primary state.
The transcript pipeline behind Vidura: why datacenter IPs cannot fetch YouTube captions, how a residential proxy and an ASR fallback fit together, and why translation happens in one structured-output call.
සිංහල අනුවාදයThe rendering stack behind Ceylon Hub: MapLibre, deck.gl, and PMTiles serving the boundaries, cities, postal codes, and demographics of Sri Lanka as static files, and an honest account of the data pipeline that does not exist yet.
How GeoPop answers point population queries in about 2ms by replacing spatial containment checks with integer arithmetic, and why the pre-built database dump matters as much as the code.
Why an agricultural platform for Sri Lanka starts with a provenance-tracked trilingual corpus instead of an app, and how location and human review are built into the schema.
How GridPulse merges official CEB outage data with anonymous neighbour reports on one offline-first map, and why the design starts from a phone on a failing connection.
The publishing model behind this studio: every open-source release ships with the reasoning that produced it, including the approaches that were rejected.
What a contained LangGraph, FastAPI, and Next.js experiment established about streaming agent responses end to end, why the repo is archived, and what carried forward into later projects.
How Mansariya turns passenger phone traces into verified bus positions with map matching, route inference, and DBSCAN clustering, covering a 65,000-vehicle fleet from a $9 per month server.
The design behind MendLog: Sinhala and English voice memos transcribed into structured repair records with semantic retrieval over pgvector. Nothing is wired up yet, and this post says so.
Why a solo payment platform for Sri Lanka runs as nine Go microservices over NATS JetStream, keeps every amount in decimal arithmetic, and signs merchant traffic and webhooks with two different schemes.
How OpenTreasury splits responsibility between PostgreSQL and Hyperledger Fabric: Postgres holds the treasury records, the chain holds Merkle proofs that those records have not been rewritten.
The architecture of a WebRTC voice partner for English learners: a LiveKit agent pipeline over Deepgram, GPT-4.1, and Cartesia, and why corrections are recorded silently and delivered after the session ends.
How TerraRun turns GPS traces into claimable polygons and challenges into geometry: Douglas-Peucker simplification, directed Hausdorff distance, an 85% buffer-coverage rule, and why every threshold is configurable.
Why VoiceMind streams audio to Deepgram Nova-2 while you record and re-transcribes the whole memo with Whisper afterwards: the live pass is feedback, the batch pass is the record.
The stack behind this site: pre-rendered Astro pages served from the Cloudflare edge, a lazily loaded three.js globe as the only heavy island, and AI-generated media that cost about six dollars in total.