← back

Projects

Shipped tools and systems — built end to end. Fewer, but finished; each one solves a problem I actually had.

witness

2026

A Claude Code / OpenCode plugin that keeps a person-centric archive of how you think and grow — not what your code did.

A coach-oriented (not clone-oriented) memory layer: it quietly mines each coding session for evidence-anchored observations about how you reason, get stuck, and change — then synthesizes them into evolving, bi-temporal "facets" that keep their own history, so the archive answers "how did I change," not just "who am I now." Collect-only and local-first: it captures and serves the archive over MCP but never injects anything into a session.

  • Four-layer archive — verbatim raw turns → mined observations → bi-temporal facets (with change history) → a regenerable narrative profile.
  • Single self-contained Go binary: no Python, no external services, no vector DB, no cloud key.
  • Pure-Go local multilingual (EN + ZH) embeddings via GoMLX (CGO_ENABLED=0) — verified to match ONNX Runtime exactly.
  • Pluggable "lenses" (a markdown EXTRACT/REVIEW prompt pair) let you track any domain — coding, math — through the same engine.
  • Go
  • MCP
  • SQLite
  • Local embeddings
  • Claude Code · OpenCode

manifold

2026

This site's hero terrain, ported to a native macOS screen saver and live wallpaper — a mountain rendered as breathing points of light.

A faithful Swift port of the homepage's math-generative terrain: a Gaussian-bump elevation field sampled on a 33×33 grid, projected through a fixed rotation and drawn as ~1000 elevation-colored dots that breathe, with glowing "walker" particles that periodically trace gradient-descent paths downhill and settle. The name is literal — the terrain is a 2-manifold — and nods to manifold optimization and to many-folded mountain ranges. Two builds share one renderer: a screen saver with a clock on the golden section, and a menu-bar live wallpaper with no clock — just the mountain breathing behind your icons, cross-fading between light and dark. Everything is sized as a fraction of the view, so it scales cleanly from 16:9 to 32:9 ultrawide.

  • Two builds, one shared renderer: a screen saver (.saver, in System Settings) and a "Manifold Wallpaper.app" live desktop wallpaper (menu-bar app, no clock) — pinned at the desktop level since macOS exposes no public API for animated wallpapers.
  • Builds locally with swiftc into universal (arm64 + x86_64) bundles — no Xcode, no Apple Developer account; local builds skip Gatekeeper quarantine, so install is one curl command.
  • The wallpaper is battery-aware: 30fps normally, 15fps on battery / Low Power Mode, and fully pauses whenever the desktop is covered, the display sleeps, or the screen is locked.
  • Colors are the exact light/dark values from the site, and switching themes cross-fades smoothly — a slow dawn/dusk transition — rather than snapping.
  • Swift
  • Core Graphics
  • AppKit
  • macOS