Maximilian Henrich (@mojitane) header
Maximilian Henrich (@mojitane) profile picture

Running a Japanese Deli & building enterprise commerce at scale. Agentic workflows, design systems · Lead Frontend @IBMiX DACH. Opinions are my own.

Germany
Joined April 2016
Photo by Maximilian Henrich (@mojitane)Photo by Maximilian Henrich (@mojitane)Photo by Maximilian Henrich (@mojitane)Photo by Maximilian Henrich (@mojitane)Photo by Maximilian Henrich (@mojitane)Photo by Maximilian Henrich (@mojitane)Photo by Maximilian Henrich (@mojitane)Photo by Maximilian Henrich (@mojitane)Photo by Maximilian Henrich (@mojitane)Photo by Maximilian Henrich (@mojitane)
Maximilian Henrich retweeted
It's sort of fun to observe how LLMs are turning everyone into middle managers with all the usual middle manager problems
It's so funny to see people who never used AI to code still think in categories like "OK, but then it will break the production and no one will be able to understand what's going on to fix it!" They cannot imagine that no one will be needed to understand anything: They will just send a new prompt "This thing produced this wrong value. Find the reason and fix it."
13
71
2
3,422
190,611
Maximilian Henrich retweeted
Been thinking about this a lot: there's still a gap between humans and agents in development. Not capability; agents will keep getting smarter. It's three things that look like weaknesses but aren't: Curiosity, pushback, and rest. Curiosity: we wander off & try things nobody asked for. We get bored/obsessed, want things to exist (like me with state machine tooling), and a lot of really awesome things come from that. Agents can explore, but only inside a "prompt" someone else wrote. They can't come up with ideas on its own (prompting "come up with ideas" doesn't count!) They can build our ideas and riff on them, but they don't have ideas of their own that they obsess over on their own. Pushback: "is this actually needed?" "will this move the needle?" We ask questions like that because we have experience/scar tissue. We've been burned by recognizable patterns before, and push back because of the emotional toll of being the one that has to maintain it. Agents push back too sometimes but there are no stakes; it's just them pretending to pushback without real emotional motive. Of course you can tell them to push back, but ironically that's just another instruction they're obeying. Rest: We know when to stop, more or less. We get tired, call it a day, and that boundary (not laziness!) is a feature. Every change widens the blast radius. Stopping is where you can check the last batch of work and verify everything before the state space explodes again. Agents working in their fancy overnight loops nonstop looks more productive, but it's just accumulating tech/cognitive debt faster than can be paid off. And sure there are tests, but tests catch what you thought to test for; they don't shrink the state space of things that can go wrong. Exhaustion is a feature: it tells us our judgment is slipping. Agents degrade too (context length, drift, etc.) but they don't "feel" it like we do. They just push on with full confidence and worse judgment. Sure you can approximate all three with fancy skills or prompts or harnesses or whatever. They help, but they're all simulations, because those three things come from the one thing agents don't have: a "self" that persists and needs to pay for its own mistakes. They don't need curiosity; we need to scratch an itch, they don't They don't need to give pushback; nothing's at stake for them They obviously don't need rest; although sometimes I wish they'd chill out they were close to hitting their token limits 😅 And no, this isn't something that's "fixed in the next model update" or "this harness/tool/skill/etc solves it". All these things are really the same thing: - Curiosity = what's worth doing? - Pushback = is it actually worth doing? - Rest = when is more not worth it? Agents are incredible at the *doing* part, but they don't have much to say about *worth*, because worth only matters to whoever has to live with the result. That's the human part. IMO it's still extremely important and will continue to be, and it's not something we should automate away. It's what gives agents their purpose.
15
14
1
143
8,405
Maximilian Henrich retweeted
writing fables with Fable, call me Aeslop
124
682
61
10,532
345,112
Maximilian Henrich retweeted
If Fable is a steel glove and GPT 5.5 is two horses underwater, I'd describe Sol as a hurricane lantern
10
7
2
112
11,500
Maximilian Henrich retweeted
RIP GitHub Actions Cache Poisoning. 🫡 github.blog/changelog/2026-0…
4
38
1
232
46,565
Maximilian Henrich retweeted
Tegami v1 is now in beta: A tool to automate & unify the release pipeline of your packages, across npm, cargo, golang, and more via plugins.
11
13
4
187
11,307
Maximilian Henrich retweeted
the models are very capable. i'm not saying they're very smart. but the bottleneck with them is likely your own imagination proof is so many companies demo their ai product with "it can schedule stuff for you"
85
51
8
1,555
89,683
Maximilian Henrich retweeted
To ensure coding agents live up to our design standards, we built a system with a skill, linters, evals, and an updating loop. Learn how we did it and how to build your own ↓ vercel.com/blog/teaching-age…
13
45
9
819
216,852
Maximilian Henrich retweeted
You asked for TanStack skills, we built the whole pipeline. Introducing @tan_stack Intent (alpha) 📦 Ship agent-readable "skills" inside npm packages 🔍 Auto-discovered from node_modules 🔄 Knowledge sync with npm update 📂 Distributed - skills live in library repo 🧩 Composable - mix core + framework-specific skills 🌐 npm, pnpm, bun, yarn, deno No stale training data. Just npm install! 🔗 ⬇️🧵
54
168
39
2,228
178,493
Maximilian Henrich retweeted
🌐 next-intl 4.5: useExtracted → For humans & AI → Next.js-first by design → Full Turbopack support → SWC-based parsing
30
33
9
462
93,967
Maximilian Henrich retweeted
Node.js v22.18.0 is out 🎉 Type stripping is enabled by default 🔥🔥🔥🔥 You can just run `node file.ts` without `--experimental-strip-types` flag. nodejs.org/en/blog/release/v…
16
137
13
798
77,753
Maximilian Henrich retweeted
Wrote an article about how React Server Components integrate with a bundler. It's a deep dive into how code splitting works, how RSCs eliminate network waterfalls, how environment directives like "use client" work, CSS loading, etc. Check it out! devongovett.me/blog/parcel-r…
10
53
3
337
38,287
Maximilian Henrich retweeted
9
686
5
5,153
195,754
Maximilian Henrich retweeted
"The open source spirit: To let a billion lemons go unsqueezed. To capture vanishingly less than you create. To marvel at a vast commons of software, offered with no strings attached, to any who might wish to build." world.hey.com/dhh/capture-le…
106
264
101
2,412
218,464
Snaplet is now Open Source: supabase.link/O2eQSWS Last month, @_snaplet shut down. But that's not the end of the story. Some of the team joined @supabase, and we asked @appfactory if he'd like to open source the tech they built. Today they released 3 new projects: ↓🧵
6
65
12
465
52,418
Maximilian Henrich retweeted
Took this one a little further 🤏 Magic thing with CSS animations is that you can make them dynamic at runtime with custom properties ✨ :root {--how-high: 10px;} :root:has(a:hover){--how-high:50px;} @​keyframes jump {50%{translate: 0 var(--how-high);}} Change with JS even 🤙
Add some color? 🎨 .ring { border-color: oklch(58% 0.25 8); } @​keyframes hue { 50% { filter: hue-rotate(300deg); }}
10
37
2
378
39,924
Maximilian Henrich retweeted
gonna sound cringe but go do something today to appreciate your good health if you have it: even just take a deep breath through your nose for all the times your nose is blocked
4
10
190
5,369
Maximilian Henrich retweeted
I don’t think it’s correct to frame full-stack React frameworks like Remix and Next as encouraging devs to “Do as much of the work as possible on the server.” Most of the complexity of the apps I’ve worked on in the past five years has been on the frontend, and the goal of these newer frameworks is to give us a single development model for building full-stack features with the same high ceiling for rich interactions that we’ve come to expect from React. You should not think twice about using Remix features like fetchers and client loaders or turning a Next component into a client component with “use client” so you can use state and effects if the UI you’re building needs it. The entire point of these frameworks is to experiment with the lowest friction APIs we can imagine that will let app devs build full-stack apps without giving up any of the capabilities of React. – at Miami Beach, FL
10
22
1
245
48,822