← All work

Product · 2024

Yoombaa

One product, three surfaces: a web app, an iOS app and an Android app, all against one API.

3 surfaces · 1 API2024React · React Native · Express · MongoDB

Role

Schema design, REST layer, auth, web frontend, and the React Native build.

01

The constraint

The mobile apps and the web app had to stay in step without maintaining two backends or two sets of business rules — and the mobile build had to survive both store review processes.

02

The decision

One Express API owns every rule; both clients are thin. Auth is shared, so a session issued to the web app is the same shape the mobile app receives. React Native rather than two native codebases, because the surface area is mostly forms, lists and media — not platform-specific interaction.

03

The tradeoff

React Native costs you the last ten percent of native feel, and store review adds a release cycle that the web app does not have. In exchange one engineer can ship all three surfaces, which was the actual constraint.

04

Where it stands

Live at yoombaa.com with the mobile app shipped to production on both stores.

Stack

  • React
  • React Native
  • Express
  • MongoDB