I'm a Solution Architect at SSW in Brisbane. I've been in the Microsoft ecosystem since .NET 2.0, championing Azure DevOps since it was TFPreview, and a Microsoft MVP every year since 2014. These days I'm designing and building in Azure, helping teams write better C#, and sharing what I find here.

Recent writing
Projects
Bar UISwift · SwiftUI · macOS · OpenTelemetry

A desktop dashboard for the telemetry ClaudeBar and CodexBar record. It imports their local OpenTelemetry files into its own archive, so limit history, token usage, API cost and burn rate are still there after the bar apps prune their files. A menu bar preview shows recent usage without opening the window.

MyTermSwift · SwiftUI · SwiftTerm · WebKit · macOS

An opinionated native macOS terminal for people who keep several projects open all day. It keeps long-lived terminal sessions and WebKit browser tabs inside named workspaces, with fast pane splitting and very little surrounding UI.

CodexBarSwift · SwiftUI · macOS

Your Codex usage limits in the macOS menu bar, in your timezone. Shows session and weekly usage, reset times, pace indicators, and model-specific limits straight from Codex. No cost tracking, no charts, just the numbers you need at a glance.

MacReactionsSwift · SwiftUI · macOS

A Swift package that recreates Apple's eight FaceTime camera reactions, like confetti, balloons, fireworks and lasers, as click-through overlays for any macOS app, either full screen or inside your own window. Each effect was tuned frame by frame against recordings of the real thing.

ClaudeBarSwift · SwiftUI · macOS

Your Claude usage limits in the macOS menu bar, in your timezone. The bar shows the highest percentage across your limits; the dropdown breaks each one out (session, weekly, and any model-scoped limits) with a progress bar and reset time. No cost tracking, no charts, just the numbers from Claude's usage page at a glance.

PullUpTauri · React · Rust · macOSPrivate preview

Pull up a chair and review the pull request. A local, AI-assisted PR reviewer for macOS: import a PR as a bundle, walk the diffs file by file, and leave review comments before syncing them back. Everything stays on your machine.

Books