Frontend Platform Engineer

11+ years building the infrastructure other engineers depend on
Embedded JS, third-party script delivery, a shared integration library, and internal DX tooling

My career started on a LAMP stack, figuring things out as I went. Over 11 years that shaped into something specific: I build the layer other engineers depend on. The shared integration library, the internal dev tooling, the standards that keep a team from solving the same problem twice. I’ve spent most of that time writing defensive JavaScript inside environments I didn’t control, where a single uncaught error could break a production site for a major brand. Zero degradation wasn’t a goal. It was the foundation.

Get in Touch
11+
Years in the browser layer

Since December 2025

Independent since Wunderkind ended, building while I look for a platform and DX role. Both of the first two are running, not prototypes — one of them on a tablet in my kitchen, the other on my own job search.

career-ops

An agentic pipeline that scans, scores and tracks roles against a framework I defined: comp floor, stack fit, geography, interview-loop signal, narrative alignment. The scanner stage hits ATS REST APIs directly before any model call, so cost stays proportional to signal rather than to volume. 100+ roles evaluated, 126 structured reports generated.

I use it on myself.

TabletHub

Kotlin and Swift are personal-project languages for me, not professional experience. What this was for was the debugging.

A native ambient display, built twice: an Android DreamService in Kotlin and Jetpack Compose, then a persistent iPadOS app in Swift and SwiftUI, same feature set on both. 3,250 lines across 26 files, four REST APIs, on-device ML for subject detection — MediaPipe on Android, Vision on iOS. 11,500 photos in live rotation on a physical tablet.

The iOS build deadlocked. Synchronous Vision work inside Swift task-group children was starving the cooperative thread pool, and it was invisible in the Simulator, where Vision throws immediately instead of doing the work. I found it by writing breadcrumbs to UserDefaults and pulling them off the device with devicectl. Moving the work to a dedicated queue behind a checked continuation cleared it: 10,822 photos scanned in about five minutes, no deadlocks.

Multi-agent development workflow

A daily-use setup where Google’s Antigravity IDE delegates discrete implementation tasks to Claude Code, across two vendor ecosystems. Every unit of output gets reviewed and corrected before it ships. The operating rule is the one I carried out of six years debugging embedded JavaScript in environments I did not control: never accept output I cannot explain.

Selected Work

Library patterns standards edge cases Client pages
Development Platform

Shared Integration Library

The curated set of reusable scripts and patterns every engineer on the team built against. I owned what went into it, set the standards, and kept it current as new edge cases turned up.

View Details
React Chrome Extension
Development

React Chrome Extension

Internal dev tool for real-time live testing of embedded experiences on client sites. Cut integration testing time by 70%.

View Details
EmberJS Category Styling Feature
Development

EmberJS Category Styling Feature

Internal platform feature that gave designers category-wide styling control across creative assets. Eliminated a 10-20 minute manual workaround.

View Details
FlightTrack real-time flight tracker plotting live aircraft on a map
Development

FlightTrack

Real-time flight tracker in React 19 and TypeScript. Plots live aircraft on a WebGL map and interpolates positions between polls so motion reads as continuous.

View Details
JS Integration Scripts
Development Scripting

Platform Integration Scripts

Defensive JavaScript integrations for embedding third-party scripts inside live client production pages. Built to run reliably in unpredictable environments we had no control over, under performance constraints we couldn’t negotiate.

View Details
Automated Testing Framework
Development QA

Automated Testing Framework

Gherkin suite in Cucumber.js and Protractor over Selenium, run across BrowserStack from Jenkins, validating interactive media before it went into research sessions.

View Details
Mobile Simulator
Development Scripting

Mobile Device Simulator

Mobile and tablet simulator that ran live eye-tracking off the device’s own camera, in any browser window, with no dedicated eye-tracker attached.

View Details
Randomized Image Shelf Set
Development Scripting

Customizable Shelf Layout

Randomized retail shelf layouts for product studies, so position did not ride along with the result.

View Details
Moving Image Script
Development Scripting

Dynamic Image Animation

Scroll- and interaction-driven motion for images inside study stimuli, with engagement recorded alongside the capture data.

View Details
HTML Password Overlay
Development Scripting

HTML Overlay Password Lock

Password gate for client assets that were not meant to be publicly reachable — and it had to sit over the page without breaking the capture running underneath.

View Details