peopleanalyst

Fails

The work I couldn't ship.

A page for the projects that did not work, the bets that did not pay off, and the lessons I am still digesting. Every shipped application has a graveyard of attempts behind it; this page is where some of that graveyard becomes legible.

Direct realistic LoRA training on FLUX/SDXL

After several failed iterations on small-corpus FLUX/SDXL fine-tuning for realistic figurative work, I stopped tuning knobs. The problem was not parameters — it was scope. With 20–60 images, FLUX wants stylistic identity, not realism. Pushing it the other direction produced drifty adapters that captured pose and crop more than the artist's actual eye.

The corrective: drop direct-realistic LoRAs from the roadmap entirely. Train stylistic adapters on real-then-stylistic-transform corpora that compound at the rate the medium allows. That pivot is now the core LoRA strategy across Vela's image production.

The fail underneath the technical fail: I should have measured cluster coherence before iteration five. Calibrating confidence on new tooling means knowing when to stop iterating and reach for a different abstraction. I have a memory entry against this case so I do not lose the lesson the next time a niche ML tool refuses to do what I want.

Adobe local production fork — engineering shipped, workflow did not

Three assignments — face-detection + worklist, Photoshop Actions + droplet, re-upload + provenance — landed end-to-end on paper. The pipeline exists. I have never run the full chain start to finish.

The unblocker is not engineering. It is a runbook I can follow without re-discovering the click sequence each time, and a half-day of operating the chain on real images. Building production tooling without dogfooding the operator-side workflow is a failure mode I keep recreating across the portfolio. Engineers measure ship at code-merge; operators measure ship at runs-without-me-debugging-it.

Third-party integration sprawl in the analytics monorepo

A consolidation pass through the people-analytics monorepo added Coda adapters, Slack adapters, a vision-API wrapper, and an api-integration agent. None of them shipped into a flow. They were dropped roughly six months later when I noticed they had never been imported by another package in the workspace.

The lesson: an adapter that does not have a concrete first consumer at the time of merge will not acquire one later. Building generic integration capacity ahead of demand pulls velocity away from the surfaces that have demand. The same energy in the same window could have hardened a flow that already had users waiting.

More forthcoming

These three are the cases where the lesson is settled. There is a longer list in progress — bets where the verdict is not yet in, partial pivots whose payoff is still unfolding, and a few outright losses that need more distance before I can write them honestly.