ultrapolish
Two skills for AI coding agents that take an interface from competent to considered, inside the style it already has.
Then ask for it by name: /ultrapolish-ios or /ultrapolish-web
The ten laws
Seven of them hold on both platforms, and are numbered here as they’re numbered there. The three gaps are below: they’re exactly where the two part, which is most of what separates an iOS app from a web app once the taste is the same.
- 1One datum, one curve.Everything driven by the same value moves together, on the same curve.
- 2Out is faster than in.Exits run about 0.65× the entrance, accelerating, and never bounce.
- 3The 100× rule.Seen a hundred times a day, it doesn’t animate at all.
- 5The spinner travels.Progress appears where the result will appear, not only on the control that was pressed.
- 6Every state gets equal care.Empty, loading, error, offline, first run, overflow, reduced motion, dark.
- 8A disabled control says why.And a destructive action names its noun. Never a grey button and never “Are you sure?”
- 9One accent per view.The primary action carries the colour on its background, not on its label.
Where they part
What each one covers
Fifty-six reference files behind the two, each with its rules, its numbers, the code, and how to check you got it right. Twenty-six for iOS and thirty for web, grouped here into topics.
In both20
The craft that doesn’t care what it’s running on.
- Motion and transitions
- Gestures and physics
- Finding a style, when there isn’t one yet
- Colour, and how to choose a palette
- Typography, down to ligatures and figures
- Layout, spacing and hierarchy
- Buttons and controls
- Forms and text input
- Lists, tables and search
- Icons
- The app icon, and designing it at 16px
- Haptics
- Sound
- Video and audio playback
- Copy and naming
- Empty, loading and error states
- Onboarding
- Accessibility as polish
- Anti-patterns and AI tells
- A printable audit checklist
Only in ultrapolish-ios5
Where the platform has its own answers.
- Sheets, detents and navigation
- Notifications and badges
- Widgets, Live Activities and the Dynamic Island
- Liquid Glass
- Paywalls and StoreKit
Only in ultrapolish-web10
Where the browser has its own problems.
- Overlays and dialogs
- Files, uploads and downloads
- Surfaces and depth
- Theming and dark mode
- Scroll
- Performance as a design property
- Touch and mobile web
- Canvas and media
- Marketing pages
- Native feel on the web
What’s not here is the substance: the numbers, the cheat sheets, the code and the checks. That’s the part you install.
Then ask for it by name: /ultrapolish-ios or /ultrapolish-web