
What we hold an interface to.
Rendered where it is fastest
On the server for a first view, in the browser for everything after it. A visitor sees content before any JavaScript has run, and interaction stays immediate once it has.
Responsive on a real phone
Measured on a mid-range device over a throttled connection, not on the machine it was built on. The device most visitors actually hold is the device the target is set against.
Usable offline
A mobile application that loses signal keeps working with what it already has, and reconciles when the connection comes back rather than losing what was entered.
Reachable by keyboard
Focus order, visible focus and a navigable component tree, in the framework where these are easiest to get wrong. An interface nobody can tab through is an interface that excludes people.
Two apps means two of every cost you keep paying.
One team, or two of everything.
The argument for a shared codebase is not that it is elegant. It is that two native applications cost roughly twice as much to keep alive, for as long as they live.
Two codebases means two sets of engineers who cannot cover for each other, two release trains that drift apart, and every bug found, fixed and reviewed twice. Every feature is specified once and built twice, which is also where the two platforms quietly stop behaving the same way. Most organizations can fund that for about a year, after which one platform falls behind and the people using it notice.
React Native takes the duplication out of the logic and leaves the interface where it belongs. Screens are assembled from each platform’s own native components, written in its own language, so the parts a person touches are the parts the platform ships. What is shared is the half that had no reason to differ.
Some platform-specific code remains, and anything reaching deep into an operating system is written natively and bridged across. It is a known cost on a known list, priced at the start.
On the web the same team and much of the same code produce the browser application. An organization that needs a site and an app usually gets both from one engagement, rather than from two vendors who each explain that the problem is on the other side.

Contact