Justin Schroeder@jpschroeder
Humans 👏 are 👏 shipping 👏 slop.
My take on why and some rules to stop the slop:
macOS is trash, Cursor is unusable, Claude Code is often broken, Notion is sliding, the Codex Mac app can’t even scroll… so here’s my diagnosis and three three rules to stop the slop:
I see a lot of takes that go like this:
1. AI-written code is slop.
2. So products made with AI-written code are slop.
This is fundamentally wrong. It's a human problem accelerated by coding agents, not caused by it.
Great software is the manifestation of a vision, typically of one person or, at most, a small group of people. Eventually, that vision is lost to external pressures and things devolve—but this is a failure of leadership, not technology. In the past, the “time and money” cost for new features served as a convenient rate limiter that forced prioritization, but the cost has plummeted, and vision and leadership are more important than ever.
This “slop” is not a new phenomenon. Devs have shipped slop for way longer than AI has been around. In fact, virtually all software has slowly tended toward it. Software eventually gets “bloated" enough some young upstart comes along with a “simple” and “focused” alternative, only to eventually find themselves becoming the bloatware.
AI has not changed this lack of leadership; it’s just greatly accelerated the cycle.
A lot of poor leaders are leading poorly.
In an effort to not be one of these, here are my three rules:
1. Never delegate the vision. The worst form of slop is unanchored. Every time you open your app, everything has moved around. Features are being shipped for the sake of shipping, not for the sake of achieving a vision. This is why I no longer use Cursor; it is clearly unanchored.
2. Fight for quality. Use your own product and be the arbiter of quality—not the AI, not even your customers. Does this feature get you closer to the vision? If the answer isn’t clearly “yes,” don’t ship it. Don’t have any parallel objectives for the software. If you had to hand-code this, would it still be worth doing?
3. Never ship bugs. If software is so cheap now, why do we still have bugs? Shouldn’t they be cheap to fix? Don’t ship bugs. That’s harder than it seems. How do you know there aren’t bugs? How do you know you aren’t introducing new bugs? How do you get feedback when those bugs arise? Spend more time on these problems and less on features no one cares about.
That’s it. Happy building.