15 stories
Journal
Product, design and motion, from the studio that builds them.
Stories

Springs, not curves: motion that survives a change of mind
How spring physics works, why it handles interrupted gestures better than duration and easing, and the exact parameters to use in SwiftUI, Compose and Reanimated.

Why we show clients running prototypes, not slides
What static mockups and decks hide, what a CEO decides better with a working app in hand, what prototypes cost, and how we keep them cheap enough to throw away.

Liquid Glass for app teams: what to adopt, what to leave alone
What Apple's Liquid Glass design changes in your app's structure, why the opt-out key ends with the iOS 27 SDK, and how native and React Native teams should respond.

How we review designs with clients: one prototype, one phone, one decision
Inside Ainur's review loop: prototypes that run full-screen on the client's own phone, feedback pinned to the exact screen, a clear decision per version, and what we've learned from running it.

Dark mode done properly: the checklist we run on every app
The checks we use for a dark theme that feels designed rather than inverted: surfaces, colour, contrast, assets, system bars, launch flashes, charts and testing.

What a tap should feel like: press states and haptics
Why every tappable element needs a pressed state in the first frame, which treatment to use where, and the small haptic vocabulary iOS and Android give you.

Edge-to-edge and predictive back: what Android 16 asks of a normal screen
A screen-by-screen teardown of what breaks when an Android app targets API 35 and 36, from the status bar to the keyboard, with the Compose and React Native fixes we use.

Where AI earns its place in a design studio, and where it doesn't
An honest account of how we use AI tools in research, copy, prototyping and imagery, the jobs we keep for people, and the four rules we work by.

Design tokens glossary for teams shipping React Native and web
Plain definitions of the token terms that come up when one design system feeds a React Native app and a website, from aliases and modes to dp, rem and OKLCH, with the structure we use.

A paywall teardown: where subscription flows lose trust
A screen-by-screen teardown of a composite subscription flow, with the trust breakers we see most, what Apple and Google's policies say about each, and the fix.

Rive or Lottie: choosing an animation tool for React Native and web
How the two formats, editors and runtimes differ in 2026, where each one struggles, and the simple test we use to pick one per animation.

Passkeys for app sign-in in 2026: what to build and in what order
How passkeys work across iOS, Android and the web, the domain setup that trips teams up, the sign-in patterns we recommend, and what Apple, Google and the FIDO Alliance added in the last year.