Personal

Essays, observations, opinions, and subjects that do not need to justify themselves as projects or tutorials.

This section is intentionally open-ended. Its shape will emerge through use.

Posts

The Archive Nobody Else Could Build

I did not set out to make a documentary archive of festival work. I was working. Sometimes I had a camera with me. Over the years, the photographs accumulated: a crew getting ready before the gates opened, a quiet stretch of grounds that would soon be crowded, glitter going on, an armload of leis moving … Read more

Read More →

Four Food Photos Defined The AI Contract

I could have started Seasoned Pan’s meal estimator by connecting a camera to a vision model and asking for calories. That would have produced an impressive demo and a dishonest product. Instead, I put four awkward, ordinary food photographs in front of the proposed response format before building the feature: a homemade taco, a frosted … Read more

Read More →

Renaming A Live Product Without Renaming Its Plumbing

A working title can survive much longer than expected. By the time my nutrition plugin had public calculators, a private diary, recipes, goals, trends, and barcode lookup, the generic name “Food Toolkit” had spread through the codebase. It appeared in class namespaces, function prefixes, database tables, shortcodes, styles, and documentation. Then the project acquired its … Read more

Read More →

Why I Stopped Posting To X After 99 Posts

The X publisher was not broken. It had posted 99 times. The schedule worked, content moved through the API, and the account accumulated an orderly history of links. It generated effectively no traffic for SoCalNomad. When the API credits ran out, buying more would have meant paying to preserve an automation whose only demonstrated output … Read more

Read More →

The Stylesheet Bug The Unit Tests Could Not See

I knew the nutrition engine was correct. Its tests produced the expected calorie and macronutrient results. The REST endpoints returned the right values. The conditional fields had the correct JavaScript state. One of those fields still refused to disappear in the browser. The Application Was More Than Its Engine The form included controls that should … Read more

Read More →

The Ad Dashboard Was Counting A Different Audience

The ad server reported thousands of monthly impressions. The site had roughly 250 to 300 human visits per month. The server-side ad proxy delivered creative to crawlers as well as people, so both numbers could be technically correct. I could not prove the exact human-to-bot split from the ad counter alone. I could prove that … Read more

Read More →

Why I Chose Barcodes Over AI Food Recognition

Food logging fails at intake. The calculations can be perfect and the charts can be polished, but none of that matters if recording a familiar jar, package, or snack requires transcribing a nutrition label field by field. The obvious fashionable answer was image recognition. Point a camera at the food, ask an AI model what … Read more

Read More →

The Nutrition Tool I Built For My Mother

The first user for Seasoned Pan was never an abstract persona. It was my mother. She wanted a practical way to keep an eye on calories and protein without adopting another subscription, learning a complicated fitness platform, or being treated like a data-entry clerk every time she ate the same breakfast. That constraint made the … Read more

Read More →

The Writing System That Turns Work Into Posts

Most project work disappears because it was never captured in a useful shape. The decision was made in a chat window. The fix lived in a terminal scrollback. The reason for a tradeoff was obvious at the time, then impossible to reconstruct six weeks later. By the time a project is interesting enough to write … Read more

Read More →

Recovering My Old Reviews From The Wayback Machine

There is a strange kind of loss that happens when a site disappears. The work is still real. The bylines were real. The shows happened. The photos, deadlines, venue notes, and late-night drafts all existed. But if the site goes dark and the database is gone, the public record starts to dissolve. That is what … Read more

Read More →