EARL CAMERON · REMOTE

Senior software engineer building AI-native products, developer platforms, and unconventional systems.

I work across Go, WebAssembly, local AI, distributed systems, and product engineering. Currently building agentic systems at UKG. This site is the proof — rendered by a UI framework I wrote, over a gRPC bridge I built.

creator ofCashFlux·ArticleFlux·PixelFlux·CodeFlux·SchemaFlux
Everything above is server-rendered Go. The terminal below is the WebAssembly — a real shell over gRPC, not a screenshot. Try projects open cashflux neofetch or .
~/projects · featured
github.com/monstercameron ↗

Selected work.

Five products under one name — a budgeting app, a feed reader, an offline photo search, a coding agent and a typed LLM library. Each card opens a case study: what it does, what it is built on, what was hard, and how finished it honestly is. The framework and the transport underneath them are in Labs.

CashFlux
shipping

Local-first budgeting suite — 50 routes, live charts, a rules engine, an AI layer. All Go/WASM, no JS framework.

A full personal-finance app built entirely in Go compiled to WebAssembly on my own framework — transactions, budgets, goals, reports, household ownership, a financial to-do system and an on-device assistant. Offline-first, 221 internal packages behind 2,998 tests, with a motion system and i18n. Runs live at budget.earlcameron.com — try `budget`.

GoWASMgRPCSQLite
ArticleFlux
shipping

A self-hosted feed reader that is Go all the way down — the server, the client, and the CSS. Real gRPC in the browser; the only JavaScript that ships is a boot shim.

Google Reader's key map over a virtualised list at firehose scale — 151 subscriptions, 3,621 items — with SQLite FTS5 search, tags, notes, per-source hues and text-to-speech. Multi-tenant and deduplicated: a popular feed is polled once no matter how many people subscribe. The live demo is the shipping client with only the transport swapped.

GoWASMgRPCFTS5
PixelFlux
prototype

Search your photographs by what is in them, on a laptop, with nothing leaving the machine.

A vision model describes every photograph, a segmenter outlines it, a detector finds the faces, and all of it folds into one searchable vector — offline, on a Snapdragon X2. Blending the caption's text embedding with the image embedding took "red car" from 0.80 to 1.00 precision-at-five; fixing JPEG decode, not the model, took the face stage from 82 s to 25 s.

.NET 10ONNXlocal AIarm64
CodeFlux
prototype

A coding agent that assembles programs out of separately verified atoms instead of writing them in one pass.

An atom has a typed signature, a contract, declared effects and the evidence that it works; atoms compose into molecules and molecules into programs, each layer naming what discharges its guarantees. Authority comes from what an action is rather than what the model claims it needs, so a poisoned file can propose but never authorize. Written as an explicit bet, with a kill criterion.

GoagentsgRPC
SchemaFlux
v1.1.0

Typed LLM operations for Go — fluent builders that return the Go type you asked for, not a wall of text.

One public API over one execution path, with retries, structured-output contracts, logging, metrics and cost tracking centralized instead of re-implemented per call site. The result envelope keeps model claims separate from measured facts, and a snapshot test over the public API surface fails the build if it drifts.

GogenericsLLM
~/evidence · cashflux

Built at high velocity.

CashFlux went from first commit to a working local-first financial platform in six weeks — transactions, budgets, goals, reports, household ownership, a to-do system and an on-device assistant. These are counted from the repository, not estimated.

26documented releases
221internal packages
50application routes
2,998tests
6weeks, first commit to platform
uname -a · how this site works

The medium is the résumé.

01GoWebComponentsthe frontend is Go compiled to WebAssembly, a framework I wrote. Zero npm.
02gRPC bridgethe browser speaks gRPC-over-WebSocket through GoGRPCBridge. One same-origin socket.
03Go backenda real gRPC server streams content, stores messages, powers live status.
~/labs

Labs.

Infrastructure, experiments, and language research. Smaller bets — still built, still running.

⟠ GoWebComponentsv5.0.1A React-style UI framework in Go→WASM. Hooks, a fiber runtime, SSR/hydration, typed HTML. Benchmarked head-to-head with React — faster on overall geomean. This site runs on it.
◵ WASIBrowserprototypeA browser runtime where applications ship as WebAssembly components instead of JavaScript bundles.
⇄ GoGRPCBridgev1.1.1gRPC over WebSockets for the browser — no Envoy, no proxy. This site talks to its backend through it.
◐ WebGL Path TracerdemoPath tracing live in a browser tab — a dozen material models, rigid-body physics, depth of field, and a repeatable benchmark harness. Open the demo and watch it converge.
⧉ SemanticScriptresearchAn agent-first programming language — explicit, auditable source designed to be written and read by LLMs.
⎇ SemanticAssemblyresearchAgent-native assembly — a RISC-V-first layer with a soft semantic overlay that advises, never gates.
◮ SemanticPortraitprototypeA journaling app that turns entries into a living self-portrait graph via a local model.
~/anime · release radar

Anime, on RSS.

Two feeds, open to anyone. Copy either address and paste it into your feed reader.

Release RadarRSS · new episodes I'm tracking
Question of the DayRSS · a daily anime prompt
./contact

Let's build something.

Email me at cam@earlcameron.com. The terminal has a live contact form over gRPC.

Best fit: senior systems or AI-tooling roles — Go, WebAssembly, on-device ML, agent infrastructure.