Maximum Effort, Measured

When Claude Code’s Hardest Setting Earns Its Keep

Every prompt I send to Claude Code carries a hidden dial. Turn it one way and I wait twice as long, and pay nearly twice the tokens, for an answer I could have had sooner. Turn it the other way and I get a competent, forgettable response to a question that deserved judgment. The dial is called effort, and for the seven months I have used Claude Code I have never been sure where to leave it.

Continue reading

When Refusals Don’t Translate

An Experience Report from a German-Locale On-Device LLM

I was preparing a new release of my German verb-conjugation iOS app, Konjugieren, and I noticed something strange about its on-device AI tutor. The tutor would occasionally produce a polite German refusal, “Ich kann dir keine Filmempfehlungen machen…”, and then render that refusal inside the speech bubble as if it were a verb-conjugation lesson. The user, who had asked something perfectly reasonable, would see the refusal appear in the conversation as a totally normal-looking response. There was no error and no fallback. The model had simply declined, and the app had presented the decline as if it were content.

Continue reading

Trust, Then Verify

A Claude Code Skill for SwiftUI Build and UI Verification

The single highest-leverage practice in agentic iOS coding, as of mid-2026, is the one Anthropic’s Best Practices for Claude Code names directly: “Give Claude a way to verify its work.” On the iOS side, that practice has been hard to apply. I have built a Claude Code skill called ios-build-verify that makes it cheap.

Continue reading