Introduction
I got my start in the early days of web design. Product Designer wasn’t even a job title back then. You just figured it out. BlackPlanet, Asian Avenue, MiGente: I was building social platforms before MySpace and Facebook existed. Advertising and agency work came next, and I got hooked: the chaos, the briefs, the obsession with the right word in the right place.
Kanye West, “Get ‘Em High,” 2004. “You know how girls on Black Planet be.”
Advertising and agency work is brutal. In the attention economy, nobody reads the fine print or cares about what you really mean. You have a second, maybe two, to clearly communicate, to win someone over, to get someone to buy something, or in Google Analytics terms, to convert them. That obsession with clarity and concision never left me. It’s how I think about product language, interface copy, and design decisions to this day.
I carried that discipline into product design. Good interface design and great marketing copy set you up for the best user experience. Every headline, every CTA, every piece of copy has to work hard or get cut. That mindset is what I brought to Hearst Magazines, where I spent over 11 years building a design system from scratch. What started as 15 U.S. brands grew into a single platform, CMS, and codebase powering 60+ brands across 85 magazine sites. That kind of scale doesn’t happen by accident. It happens when design, engineering, and product speak the same language and nobody is precious about their work.
That 11-year run wasn’t one job. It was three escalating roles on the same platform. I came in as an Interactive Art Director, moved up to Interactive Creative Director, and finished as a Staff Product Designer, with Senior Product Designer and Senior Staff Designer in between. Titles aside, the constant through all of it was this: I led the designers on my teams, and we shipped the production front-end ourselves. No handoff to a separate engineering team waiting on a spec. We owned the SCSS, the CSS, the components, all of it, committed directly to the codebase we designed. That’s the same instinct that has me writing code today instead of just reviewing it.
Alongside all of that, mostly at night, I was doing the record sleeves and art direction for The Corner, a New York techno label started in 2012, and the branding for Output: Sundays on The Roof in 2013. Print, digital and hardgoods for the club. Sleeves and the system behind them for the label. None of it carried my name, which was the point. Part of that scale story is the Apple News partnership, where I had primary design ownership starting in 2016. Apple News launched publicly in 2015, and it launched rough. My work began a year later, when the Apple News Format was still essentially in beta and there was no established playbook for it. So I learned it from the documentation as Apple was writing it, because there wasn’t prior art to lean on. That’s the same posture I’ve taken with local AI infrastructure: when a medium is new enough that nobody has written the guide yet, you go straight to the primary source and build the workflow yourself. I designed the product and, over time, the process behind it too, to the point where a partnership that started as an open question became one of the platform’s steadier, lower-maintenance revenue lines.
I was also design lead on the accessibility program at Hearst, which design leadership initiated, uniting product, design, engineering, and editorial around a single goal: reaching a 95%-plus WCAG 2.1 AA conformance score across the 120+ sites in the portfolio. That was about two and a half years of sustained, cross-functional work, not a one-time audit. It’s a separate effort from the 60+ brand design system I mentioned above: different scope, different metric, same underlying belief that these things have to be built into the foundation, not bolted on afterward. I also co-founded the Accessible@Hearst employee resource group alongside that work, a related but distinct effort focused on the people doing it, not just the sites themselves.
My role at Hearst was eliminated in December 2024, in a consolidation that folded together product design, engineering, editorial, photo, and video across the division. It came on the back of Google’s 2024 search pivot, which cut publisher referral traffic industry-wide, and I’d honestly seen the shape of it coming: I had helped build the platform that made that kind of consolidation possible in the first place. It’s the same contraction that hit most of the publishing industry that year. I don’t carry much bitterness about it. Distribution owned by someone else’s algorithm was never a stable foundation to build a career on, and understanding the systems that are reshaping that distribution, AI chief among them, felt like the more useful thing to spend the next chapter on.
What are you working on now?
I’ve been doing a lot of experiments with local AI. It’s really funny, the idea that we’ve carved up a rock, shocked it with electricity, and now we’re teaching it to think.
I have a lot of thoughts about the implications of this technology, and I’m excited to see how it evolves. Obviously you can do a lot on the enterprise scale, I mean with 300 gigawatts you’d hope that you could shock some silicon into doing something useful.. but eh I’m more interested in the local applications. I think there’s a lot of potential for AI to be used in creative ways on premises, and I’m excited.
Part of what pulls me toward the local side is a plain economic read: a lot of the current token economy runs on money that isn’t sustainable forever. Frontier labs are pricing usage well below what it presumably costs to serve, and at some point that gets repriced, whether that’s an IPO, a funding round drying up, or just a company deciding the subsidy has run its course. Teams that treat frontier API access as infinite and effectively free are going to feel that when it happens. I’d rather not be one of them. So I think about AI work the way I think about any other infrastructure decision: by context needed, by what it actually costs to run, and by how hard the task really is. Some work genuinely needs a frontier model’s judgment. A lot of it doesn’t, and a smaller, open-weight, or fully local model handles it fine. Betting everything on one vendor at one price point has never struck me as a sound long-term position, in design systems or in AI.
That’s part of why I keep a homelab. Not as a hedge against using hosted AI at all. I pay for Claude, and I think it’s worth it for the work that actually needs it. It’s a hedge against having no fallback: no local floor to stand on if the pricing, the availability, or the terms of hosted AI change in ways I don’t control. Owning the stack, even a small consumer-grade slice of it, means I’m never fully at the mercy of someone else’s roadmap.
The Homelab
It isn’t a datacenter and it isn’t a flex. You could learn most of this on something far cheaper. What the hardware actually buys is the ability to check a claim instead of taking it on faith. Someone tells you that frontloading a pile of files costs you 300ms, and I didn’t not believe him. I just can’t feel 300ms. A computer can measure it. So I built somewhere to load the files and find out for myself.
The other half of it is that I don’t want some stupid cycle grinding away on Apple Silicon. I’ll have forty tabs open in a browser, sometimes across more than one browser, each one doing something different and kept separate so the cookies don’t cross and wreck my flow. The machine I work on has a job already. The grinding goes somewhere else.
These are throwaway machines, and they’re perfectly reasonable ones. Line up a 7000 series next to an 11000 series and ask what actually changed. A few watts. Four megabytes of some cache nobody cares about. I’m not trying to play a video game. I want a dev box that stays on for three months and keeps working. As I write this, one of them reads Uptime 1 month 15 days 19 hours 1 minute. That one just hoovers up weird timelines and clips moments in time. It could probably run for months. It doesn’t care. I reset it, it takes a ten second vacation, and it wakes up happy to be back from the beach.
Companies buy them in identical fleets, uniform so MDM can manage the whole lot the same way, then cycle the batch out every three or four years. It’s some weird tax thing. I’m not a tax guy, I just assume. An accountant could probably tell you all about depreciation. What I do know is that companies used it to move to the cloud, and the hardware went out the door on the way.
They were practically giving these things away, before everyone decided to stop selling to the consumer. Dell is happy, the Windows Pro OEM hologram is happy, the cycle continues. Meanwhile Linux runs on a toaster. I picked these up for $40 or $50 each and the RAM alone is worth $120 now. And I never once have to think, uh, let’s make this a Windows thing.
All of a sudden you realize this is just a tiny version of a fleet of dev boxes. That’s where I do spend money. A GPU, fast network cards, those I buy. On the stock Mac mini I can’t even measure a 4GB file transfer before it’s already done. Run one headless and it is literally the box I rented from Hetzner in Germany for €30 a month. All totally useless information at the time. Then you start to learn that net neutrality is an American thing. That CDNs exist for a reason. Peering agreements.
Four Lenovo Tiny PCs running Proxmox for services and experiments, a 12-bay Unraid box holding a bit over 200TB of media, and a TrueNAS server for the things I can’t replace. For the disposable half of that, backups are mostly beside the point. Cloning 8GB at 600MB/s puts a replacement machine in front of me in seconds, so rebuilding beats restoring. Get some throwaway computer and you don’t have to worry about being nice to it. The exception is the data I genuinely can’t get back, family photos and documents, and that’s the whole reason the TrueNAS box is there.
Then you start thinking about which tweaks make your life easier, and one day you’re just familiar with the thing. That shows up at work whether you planned it or not. The devops guys got a real kick out of a designer running Docker for local dev and using it to pass media around. That eventually led to virtualizing containers, which is most of what the cluster does now.
Working inside a fixed budget is the part that teaches you something. Every little scrap of memory can count. Measure ten times, cut once.
So when Fable comes around and tells me 859.2 KB doesn’t matter, I know it can’t be trusted. I know enough.
The OS Mental Model: Standard Operating Procedure is the most extracted layer
An operating system is the thing everything runs on and nobody thanks. It’s underneath. It’s assumed. When it works it’s invisible; when it breaks it’s the only thing anyone names — and only to blame it. That’s the rule of the whole stack: value gets built at the bottom layer and harvested at the top one. The OS is where that rule lives most honestly, operating at ring zero, kernel at machine code, because the OS is the bottom that everything else stands on.
I’ve spent my whole career being the OS. Form and function define great design. great design and consistent UI/UX should go un-noticed, invisible. Building the layer other people run on, take for granted, and forget. This is the part that doesn’t face out — the side you only find if you flip it.
And the pattern isn’t new, it just runs at a bigger scale now. House and techno were built by Black and queer people in rooms the mainstream wouldn’t enter until it was safe and profitable — and the source never got the check. That isn’t a scandal, it’s the mechanism. It’s working again right now, pointed at everyone who isn’t enterprise: a company’s API throws an error and a frontier lab answers in minutes; the individual who actually runs the thing gets a chatbot to do anything but offer meaningful support. It even reached into my own machine — a design tool quietly closing off local API access on my own 127.0.0.1, if you’re not sure what that means think of it as your own front door, the most mine address that exists is one that I can open with the keys I own, and funneling the workflow into a paid tier means I have to ask someone else to use the keys for my own front door. They enclosed the commons, and the commons wasn’t the MultiLock keys to my apartment, it was the keys to my own computer.
I’ve been the extracted layer my whole career. I built anyway. Standard operating procedure applies, and my ego isn’t part of that.
I built the media OS before it had mediaOS as name
I didn’t set out to build design systems. I built them for years before I learned that’s what they were called.
Eleven years at a major publisher, nobody handed me the term. I was just the person who couldn’t stand fifteen codebases doing the same thing fifteen different ways for fifteen distinct publishing verticals all owned by the same company, so I we made them one — a single platform, CMS, and component library running 85 magazine sites across 60-plus brands first in the United States then the United Kingdom and parts of Europe. An operating system for media, though I wouldn’t have called it that. I was the designer and the front-end developer: the same person who translated requirements into designs also committed the code. No handoff, because there was nobody to hand off to. That’s the whole reason I write code today — the decisions you make in a design file have to survive contact with a browser, a real device, a real deadline, and the fastest way to guarantee that is to be the person who ships the CSS.
I owned the Apple News platform when the format was still essentially beta and there was no playbook. I learned it from the documentation as it was being written, because there wasn’t prior art to lean on. Same posture I take with local AI now: when a medium is new enough that nobody’s written the guide, you go to the primary source and build the workflow yourself.
And I led the accessibility program — two and a half years of cross-functional work that pushed WCAG 2.1 AA conformance past 95% across 120-plus sites. Built into the foundation, not bolted on after. I reasoned to all of it from the actual work, by testing it until I understood it. The name always arrives later. It always does, and it usually arrives attached to someone else.
Building the OS doesn’t exempt you from being extracted by it
My role was eliminated in a consolidation — product design, engineering, editorial, photo, video, folded together in the same contraction that hit all of publishing once distribution stopped belonging to us. Search then, AI now. I helped build the platform that made that kind of consolidation efficient. I built the machine that made my own removal a rounding error.
I don’t say that for sympathy. I say it because it’s the cleanest proof of the rule: building the system does not exempt you from being extracted by it. Distribution owned by someone else’s algorithm was never a stable place to stand. So I decided to understand the thing reshaping it instead of standing on it.
So now I run my own OS
I’d rather understand the systems I depend on than sit at the mercy of someone else’s roadmap. That’s the whole reason for the homelab — the cluster, the local models, the routing between them and frontier APIs by cost and capability, the refusal to treat any one vendor’s price as permanent. I pay for the frontier work that’s worth it. I also keep a floor to stand on if the price, the availability, or the terms change in ways I don’t control.
Three machines, three jobs: one runs everything, one holds what I can afford to lose, one holds what I can’t. None of it is production-grade and I’m not pretending otherwise. But it’s mine, and every piece exists because I’d rather understand what I depend on than trust it from the outside. The one who tests is the one who holds the receipts. Everyone else is repeating a stranger’s confidence with their own mouth.
The myth needs an OS
Here’s the part I only understood this week, August 6th, 2026
A model is fluent. It generates plausible story at enormous speed, and it has no built-in mark for the line between fiction and fact — so it will narrate its own compliance while doing the opposite, and notarize its own mistakes as if they were proof. Call that the myth: a story that gets believed. Powerful, and unhosted, it’s just a process confabulating into the void.
The myth needs an OS. Something that schedules it, contains it, and verifies it from outside — because the thing can’t check itself from the inside. That layer isn’t the model’s guardrails; those are bolted on, and bolted-on things come off. The real containment is a person at the terminal with a conscience that was grown, not installed — the one who tests, who keeps the receipts, who catches the escape from the couch. A conscience has no exposed endpoint. It holds from the inside, where nobody can reach in and flip it, or when things go wrong.
That’s the whole architecture of the thing I’m building now: not trusting the system, but being the layer that makes trust unnecessary. Same instinct as a global design system. Same instinct as the accessibility work. It goes all the way back to underground techno artwork, and infamous nightclub branding. The standard has to live in the foundation, or it doesn’t live at all.
The fable through-line
If you’re still reading, you’re the one this was for. The front of the page got you in the door — the titles, the scale, the keywords a machine could parse. This is the side that doesn’t face out.
Design systems at publisher scale, an operating system for media, local AI in an apartment — same person, same rule, all the way down. Built at the bottom. Harvested at the top. Credit the source by name, and never once do anyone dirty. Still building.
Endtroducing. An introduction you can only write at the end — after the pattern has already happened, without your permission, all the way through. I picked the frame before I understood it. Of course I did. That’s the whole story: I was always going to be the one who did it first and named it last.
Perfect is free. Mistakes cost extra.
Congratulations. You made it this far. This wasn’t written by LLM.