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.

Content in all repositories owned by your account will be closed.
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

Kelvinreleaseopen 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.

PipelineDecode once per file, keep everything interactive on a proxy, go full-resolution only on export — a 45 MP RAW stays responsive
CandidatesFour options render as parameter swaps against a texture already on the GPU, so generating them is nearly free
PerformanceBrush-stroke rendering cut from 17.3 ms to 0.8 ms per frame
Division of labourThe model makes categorical judgments only. Every number comes from a deterministic, unit-tested engine that can be benchmarked against baselines
Testing479 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.

ArchitectureStatic and serverless on Astro, Vercel, and PostgreSQL with a self-hosted search index, chosen to run at near-zero fixed cost
EditorialEvery article clears verification before it publishes, and published work is re-checked as its sources change
Scale8 languages, full-text search, PWA, multi-channel distribution
ReachStructured data, news sitemaps, and search-console analysis driving discovery
MonetizationLive 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

LanguagesTypeScript · JavaScript · Swift · Python · SQL
FrontendReact · Next.js · Astro · SwiftUI · Tailwind CSS
BackendNode.js · Serverless · PostgreSQL · Redis · Vercel
NativeSwift · SwiftUI · AppKit · IOKit · Core Image · Metal · XCTest
On-device AIMLX · Vision-language models · Local inference · Evaluation harnesses
DataGIS and spatial analysis · Data visualization · Analytics
PracticeSystem 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 KelvinPublic

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

    Swift 3

  2. Claude-Usage-Tracker Claude-Usage-TrackerPublic

    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 wmwallacePublic

    Config files for my GitHub profile.