Browser extensionPublished
Data Explorer for Force.com
A Chrome extension for running SOQL and SOSL queries directly against Salesforce with no intermediate server.
Tags / JavaScript
Browser extensionPublished
A Chrome extension for running SOQL and SOSL queries directly against Salesforce with no intermediate server.
Go UI frameworkActive
Local apps in Go, with a browser UI. One binary, shared state across tabs, and no separate JavaScript frontend.
13 connected postsStatic site generatorArchive
A flexible Node.js static site generator I built when existing tools felt too rigid and too tied to someone else's content model.
2 connected postsHow WebSockets work: the handshake, the frames, and the gotchas, learned from running real systems over them.

Building a small godom app in three stages: a counter, two islands on one page, then a multi-page layout with a shared-state dashboard.

godom's bridge.js builds DOM, applies patches, and forwards events. It does not evaluate expressions, hold state, or make decisions. The constraint is the feature.

A breakout game built on godom: laptop renders the game, phone is the paddle controller via gyroscope, both connected to the same Go process.

Go shells out to ffmpeg, decodes a video into JPEG frames, sends them to a browser canvas. No HTML video tag, no streaming, no codecs in the browser.

godom doesn't ban JavaScript; it pushes it to the edges where it actually pays for itself. Three tiers, one rule, and the trap to avoid.

I wrote a 3D engine in Go and let the browser draw 2D circles. No three.js, no WebGL, no JS math libraries. Just a list of 2D draw commands per frame.

godom's composition model: stateful islands, stateless partials, slot-based content, and the shared-pointer trick for state across islands.

I built a browser-based terminal in Go using godom and xterm.js. Then I ran Claude Code inside it. It just worked.

godom uses binary Protocol Buffers, not JSON, with a deliberate Browser→Go split between input value sync and explicit method calls.

How godom builds a virtual DOM tree in Go, diffs it against the previous tree, and ships only the patches the browser needs to apply.

I kept needing a UI for local Go tools and hating every option. So I built a framework where Go owns the DOM and the browser is just a screen.