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

Borrowing Taste from the Web

An iOS Port of Anthropic’s frontend-design Skill

Default SwiftUI is the iOS equivalent of AI slop. Left to its own defaults, a general-purpose coding assistant will hand you .body fonts everywhere, flat black or white backgrounds, list rows that run edge-to-edge without structural framing, and screens that look indistinguishable from, for example, the kind of toy app one builds while learning the primitives of SwiftUI. I have created the iOS Design Agent Skill to give Claude Code, Cursor, and the other Agent Skills-aware tools a design critic’s eye when they build or audit iOS interfaces.

Continue reading