Software engineer · Maker · San Francisco

Brennan Stehling

I build native apps on Apple platforms, developer tools, and networked hardware — and I write about them here.

Bringing back the personal-website era, one project at a time

Portrait of Brennan Stehling
SF · CA

02

Agent skills

Installable skills that hand AI coding tools — Claude Code, Codex, Cursor — the hard-won patterns from my own work. Each loads automatically for the task at hand and steers the model toward correct code the first time, instead of after a debugging session. Open source, MIT-licensed.

S-01 Swift Guidance

Reviews Swift for modern concurrency and SwiftUI conventions.

Targeted reviews across async/await vs. GCD, @MainActor actor isolation, unified logging, and the @Observable macro — catching deprecated patterns and thread-safety bugs before they ship.

npx skills add brennanMKE/SwiftGuidanceSkill

S-02 Issues

A repo-local bug tracker built on plain markdown files.

Turns spoken descriptions, screenshots, and screen recordings into structured issues/NNNN.md files with a status workflow — a lightweight tracker that never leaves the conversation. A companion Mac app browses them visually.

npx skills add brennanMKE/IssuesSkill

S-03 Mac Release

Ship a macOS app outside the App Store.

A full release pipeline: Developer ID signing, Apple notarization and stapling, a drag-to-Applications DMG that clears Gatekeeper on a clean Mac, and Sparkle appcast auto-updates — with editable scripts and notes on real-world failure modes.

npx skills add brennanMKE/MacReleaseSkill

S-04 Xcode Cleanup

Strips boilerplate headers and metadata from new Xcode projects.

Runs on a freshly generated Xcode project to set minimal, consistent source-file headers and clear the auto-generated metadata cruft — so a new project starts clean.

npx skills add brennanMKE/XcodeCleanupSkill

S-05 ESP32 Guidance

Proven ESP32 patterns from my real hardware projects.

Non-blocking timing, the correct WiFi setup sequence (including an eero mesh fix), dual Serial + ESP-IDF logging, and board-specific gotchas — loaded automatically in PlatformIO projects so generated code is correct from the start.

npx skills add brennanMKE/ESP32GuidanceSkill

03

Projects

More open-source work — networked hardware and developer tooling.

P-02

FlaschenTaschen

Swift & Python ports for the FlaschenTaschen LED-wall protocol.

FlaschenTaschen is a networked LED art installation born at Noisebridge SF in 2016 — a 45×35 pixel wall (1,575 LEDs) driven by a dead-simple UDP protocol on port 1337. I contributed modern ports and tooling to the project org: a Swift package (FlaschenTaschenClientKit, content clients, 15+ generative demos, and a native macOS display server) and a pip-installable Python client. I added mDNS/Bonjour advertisement so display servers are automatically discoverable on the network instead of needing a hardcoded host.

Role
Contributor / porter
Languages
Swift · Python
Origin
Noisebridge SF, 2016

A community project by the Noisebridge community — original work by hzeller (flaschen-taschen) and cgorringe (ft-demos). I contributed the Swift and Python ports and the Bonjour discovery.

The FlaschenTaschen LED wall lit up, its crates glowing in red, blue, green, and magenta
Fig. P-02 · image pending

FlaschenTaschen LED wall running

Fig. P-02 — The FlaschenTaschen LED wall, driven over the port-1337 UDP protocol.
P-03

EasyWiFi

Painless WiFi setup for the ESP32-C3.

Drop-in WiFi configuration for ESP32-C3: automatic connection to stored networks, an access-point fallback with a captive portal and responsive web UI for entering credentials, persistent NVS storage, auto-reconnect, a REST API, and mDNS so the device is reachable at device-name.local. Your own pages live at the root URL; WiFi config sits under /wifi as a supporting service.

License
MIT · open source
Framework
PlatformIO / Arduino
Target
ESP32-C3
Release
v0.2.0
04

Making & hardware

I do a lot with ESP32 boards — especially the ESP32-C3 & addressable WS2812B LEDs. At Sequoia Fabrica, a member-run community makerspace on Potrero Hill I helped start, I built a five-strip LED installation controlled over MQTT to switch between lighting modes. A companion controller sits on a breadboard at the workbenches with an IR receiver and remote, so anyone can cycle through color modes by hand.

This hardware is where the ESP32 Guidance skill and EasyWiFi patterns came from. More about the space at sequoiafabrica.org.

05

Connect

Want to talk hardware, Apple development, or a project? Reach me here.

Primary

Open Circuit SF

My Discord for electronics builds — the best place to reach me and swap projects.

Join the Discord
Code

GitHub

Everything above is open source. Issues and pull requests welcome.

@brennanMKE