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 Details11+ 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 TouchIndependent since Wunderkind ended, building while I look for a platform and DX role. Not prototypes — one of these runs on a tablet in my kitchen, one runs on my own job search.
A real-time flight tracker built around a data source that updates far more slowly than the interface needs to. React 19, TypeScript, Vite and MapLibre GL JS over WebGL. The OpenSky API polls on a 60 second cycle, so aircraft sat frozen and then jumped; dead-reckoning interpolation now runs at 10fps between polls, and an early poll fires when a projected position drifts too far from the last known waypoint.
Defensive throughout, the way six years of embedded work taught me to be: geolocation degrades from GPS to IP to a default, rate limits back off behind a visible countdown, polling pauses on the Page Visibility API, and the map has a state for WebGL being unavailable. Vitest and React Testing Library for units, Playwright for the flows.
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.
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.
career-ops is what came out of it — 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.
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
Internal dev tool for real-time live testing of embedded experiences on client sites. Cut integration testing time by 70%.
View Details
Internal platform feature that gave designers category-wide styling control across creative assets. Eliminated a 10-20 minute manual workaround.
View Details
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
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 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
The screens participants looked at while being eye-tracked: randomized retail shelves and scroll-driven image motion, both built so the interaction was part of the measurement.
View Details
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