Skip to content
View wmwallace's full-sized avatar
🤟
Vibe Engineering
🤟
Vibe Engineering

Block or report wmwallace

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
wmwallace/README.md

William Wallace, Solutions Architect. I dig into hard problems, weigh the alternatives, and ship what wins on performance and cost.


williamlwallace.com  ·  usekelvin.app  ·  trendytechtribe.com  ·  Contact@williamlwallace.com


Building in the open

Kelvin   release   open source · pre-alpha · usekelvin.app

My first open-source project: a local-AI photo editor for macOS, designed and built solo from first commit to public release. A small vision model reads the photograph on-device, then a deterministic engine turns what it saw into three or four fully-formed candidate edits you choose between. No cloud, no account, nothing uploaded. Open source under AGPL-3.0, with v0.1.0 downloadable from usekelvin.app.

Pipeline Decode once per file, keep everything interactive on a proxy, go full-resolution only on export — a 45 MP RAW stays responsive
Candidates Four options render as parameter swaps against a texture already on the GPU, so generating them is nearly free
Performance Brush-stroke rendering cut from 17.3 ms to 0.8 ms per frame
Division of labour The model makes categorical judgments only. Every number comes from a deterministic, unit-tested engine that can be benchmarked against baselines
Testing 479 tests — 390 over the core engine, 89 over the app — with CI on every pull request

Swift · SwiftUI · MLX (Qwen2.5-VL) · Core Image · Metal · SQLite


Built and running

A technology publication covering AI, semiconductors, EVs, energy, and markets. Designed, built, and operated solo. The site is the surface; the engineering is everything holding it up.

Architecture Static and serverless on Astro, Vercel, and PostgreSQL with a self-hosted search index, chosen to run at near-zero fixed cost
Editorial Every article clears verification before it publishes, and published work is re-checked as its sources change
Scale 8 languages, full-text search, PWA, multi-channel distribution
Reach Structured data, news sitemaps, and search-console analysis driving discovery
Monetization Live display and affiliate placements, with consent management, ads.txt ownership, and disclosure compliance

Portfolio and résumé. Next.js 16, React 19, Tailwind 4. HMAC-signed session auth with httpOnly cookies and timing-safe comparison, serverless routes backed by Redis, and a default-src 'self' Content-Security-Policy with HSTS and frame-ancestors 'none'.


Shipped upstream

Credited contributor to a native macOS menu bar app in Swift and SwiftUI.

Popover layout-recursion crash on macOS 26/27 (PR #265): native popover animation fed an unbounded layout loop; replaced with a SwiftUI entrance animation + click-race debounce. Thanks @Leewallace017

Upstream v3.2.0 release notes

How the crash was found

Clicking the menu bar icon crashed the app with EXC_BAD_ACCESS on macOS 26/27. The main thread was overflowing its stack in an AppKit and SwiftUI layout loop that never converged:

NSPopover.show
  └─ NSHostingView.windowDidLayout
       └─ updateAnimatedWindowSize
            └─ _NSPopoverWindow.setFrame:display:
                 └─ layout   (repeats ~6,500x)  →  stack overflow

The popover's hosting controller used sizingOptions = .preferredContentSize, added earlier to fix positioning, which continuously re-pushed the SwiftUI content size into the window. Paired with NSPopover.animates = true, the newer SwiftUI never settled the animated resize.

The fix disables the native popover animation so the resize cannot feed the loop, leaves the earlier sizing work intact, and replaces the motion with a SwiftUI fade and scale entrance that runs purely as a transform on a fixed-size view. A dismiss and re-open race in the click handler got a debounce on the way through.

Keep Awake  ·  in review (#282)

Sleep prevention so long agent runs do not die when the Mac idles. Built on a single named IOKit power assertion with one idempotent reconcile() owning create and release, so the kernel drops it automatically if the app exits.

  • Auto mode driven by real session activity, with a configurable wind-down
  • Injectable clock and assertion seams, so the state machine is testable without waiting on real time
  • 29 unit tests: timer expiry, wind-down, crashed-session sweep, persistence round-trips
  • 38 localization keys across all 13 supported languages

Also in review: session-naming fixes for the notch UI (#284).


Stack

Languages TypeScript · JavaScript · Swift · Python · SQL
Frontend React · Next.js · Astro · SwiftUI · Tailwind CSS
Backend Node.js · Serverless · PostgreSQL · Redis · Vercel
Native Swift · SwiftUI · AppKit · IOKit · Core Image · Metal · XCTest
On-device AI MLX · Vision-language models · Local inference · Evaluation harnesses
Data GIS and spatial analysis · Data visualization · Analytics
Practice System design · Performance and cost optimization · Technical SEO · Security hardening

Background

Six years in public health and state government. Currently leading strategic analysis and systems modernization across five statewide programs at Washington State Parks; before that, a team lead at the CDC's Seattle Quarantine Station through the COVID-19 response.

That work is where I learned to take an operational mess apart and rebuild it as something that holds.

A note on this profile

Much of what I build lives in private repositories, so the contribution graph here undersells the volume. The public proof is above: Kelvin's repository, the pull requests shipped upstream, and the sites themselves, which are live and running the work described.

Popular repositories Loading

  1. Kelvin Kelvin Public

    A local-AI photo editor for macOS. Everything runs on your machine.

    Swift 2

  2. Claude-Usage-Tracker Claude-Usage-Tracker Public

    Forked from hamed-elfayome/Claude-Usage-Tracker

    My contributions to Claude Usage Tracker (Swift/SwiftUI, 3k+ stars): shipped a macOS 26/27 crash fix in v3.2.0, plus a Keep Awake feature in review.

    Swift 1

  3. wmwallace wmwallace Public

    Config files for my GitHub profile.