Skip to content

Field notes

Short notes from our engineering work. Practical decisions that make products clearer, steadier and easier to maintain.

A page can fit and still be broken.

A mobile page can have no sideways scroll and still contain clipped text or tiny cards. A parent container may hide the overflow rather than solve it. We encountered this when an exported design changed its outer layout but kept desktop dimensions inside its components. The useful check is inside the page: can a person read each card, reach each control and follow the order of the content? Test real copy at several widths, especially the longest translation. Fix the component’s layout instead of hiding its edges.

An account change is a state change.

Signing in is only one of the ways a user’s identity can change. People also sign out, switch between two accounts or move between guest and signed-in use. Locally stored data can survive these transitions if its ownership is unclear. Treat cached data as belonging to a specific account. Clear or replace it whenever that identity changes, and test a direct switch between two signed-in users. The goal is simple: the screen should reflect the person using it now.

One optional service should not stop the product.

A product may use an external service for one feature, such as audio playback. If that integration is initialized while the whole application starts, its failure can prevent unrelated features from working too. Load optional integrations where they are needed, handle failures there and provide an honest fallback. Keep failures visible to the team. This makes the boundary clear: a problem with one provider should affect the feature that depends on it, not everything around it.

Have a problem in mind?

Tell us what you want to change. We’ll work out the next step together.

Let’s talk