Work
A look at how I approach software engineering, solve complex problems, and turn ideas into working products. From enterprise systems at Apple and Yahoo to AI-native development with SceneXP, here's some of the work I'm proud of.
Case study
SceneXP: Building a Scalable Platform with AI-Native Development
- Role
- Creator, product owner, and engineer
- Stack
- Three.js, vanilla JavaScript modules, Jest, NGINX on AWS
- Tools
- Claude Code as the primary builder, with me steering
- Outcome
- A shared engine, a launched platform, and a build time measured in hours
The situation
It started with one walkable 3D portfolio, the gallery. Then came the custom scenes: a tire shop with its actual service bays, a car dealership, and a series of personal tributes for family. Each one was a hit with the person it was built for, and each one made the next request more likely. That was the good news.
The problem
The second scene was built by copying the first and deleting what didn't apply. The third copied the second. It was fast at first, but every bug fix had to be repeated in every copy, the scenes quietly drifted apart, and building one still took days. If custom scenes were going to become a product rather than a hobby, a new scene had to take hours, and the fix for a door had to fix every door.
What I did
-
Paused and wrote the plan first
Before touching code I stopped feature work and wrote a short spec. It sorted every part of a scene into two piles: universal (movement, collision, doors, lighting, people, dialogs, checklists, telemetry) and scene-specific (the world itself, its characters, its story). That spec became the brief Claude Code worked from.
-
Extracted a versioned parts library
The universal pile became a shared, versioned library of modules. Each new scene pins the version it was built against, so a change to the kit can never quietly break a scene that already shipped. The existing gallery was deliberately left untouched, because a refactor that risks live work is a bad trade.
-
Made the code domain-agnostic
Every link, import, and asset path became relative, and the domain is read at runtime. The same scene can now be served from devsteve.com or scenexp.com without a single edit, which is what made launching a separate platform a hosting decision rather than an engineering project.
-
Reduced a new scene to a thin layer
A new experience is now a config file, a scene module, and its assets. The tributes for my dad, my wife, and my parents were each started by copying only that thin layer from the previous scene, and each one shipped with its own characters, conversations, treasure hunt, and social preview image.
-
Turned every lesson into a rule
Unit tests cover the engine modules, and I do the hands-on QA myself on desktop, phone, and a VR headset. When something bit us, it became a written rule the AI follows on every future scene: never build trim flush against the surface it decorates (it flickers), loop a silent audio element on iOS so the ring switch doesn't mute the music, and convert screenshots to sRGB before encoding them or they render dark when shared.
Working with AI, honestly
Claude Code generated most of the code for SceneXP, while I directed the architecture, defined requirements, guided implementation, and owned testing, validation, and deployment. My approach emphasizes clear specifications, automated verification, hands-on testing, and continuous refinement. AI accelerates the implementation, but engineering judgment and accountability remain essential.
The result
SceneXP launched in 2026 as a platform for browser-based 3D experiences and has since grown into a collection of interactive applications, games, and experiments. The first scene took weeks. Later scenes went from a conversation to a working world in a matter of days or hours, and a fix made in the kit now reaches every scene built on it. You can read the tour in Step Inside, or visit scenexp.com (opens in a new tab).
A few of the scenes
Four very different experiences, all built on the same engine. Click any card to step inside (each opens at scenexp.com in a new tab).
-
X's and O's (opens at scenexp.com in a new tab)
A football game where you call the offensive plays, then throw or run for points.
-
Fractal Garden (opens at scenexp.com in a new tab)
Plant and tend one-of-a-kind fractal trees and watch them change with the seasons.
-
High Water (opens at scenexp.com in a new tab)
A ninety-second water and weather study as a rising surf slowly overwhelms the shore.
-
Earth Defense (opens at scenexp.com in a new tab)
Fly an orbital ship and defend Earth from a dozen Martian raiders.
Highlights
-
Bolto, 2026
Took an offer-letter workflow from Figma mockups to production in under three weeks with React, Next.js, TypeScript, PostgreSQL, and Stripe, and expanded the Jest and Playwright coverage along the way.
-
Apple, 2020 to 2025
Built React and TypeScript interfaces and Node.js services for the internal CMS behind Tips content seen by millions, and served as the primary owner of the localization and validation services for more than thirty languages.
-
Yahoo, 2013 to 2015
Created an interactive SVG dependency visualization that helped bring outages caused by dependency-planning mistakes down to zero, alongside a SOX-compliant payroll approval application.
Working on something? I would love to help.
Get in touch