Engineering notes

What offline-first changes in a mobile product

Lessons from Remnesa: local study data, optional synchronization, and ownership through import and export.

Start with the working experience

Remnesa stores flashcards and study sessions on the device. A connection is an option rather than a condition for learning. That changes the architecture: the local data model must support the real product, not merely cache a server response.

Make the connected boundary explicit

The connected option uses versioned mutations, retries and an API backed by PostgreSQL. Study remains local, while synchronization is a separate concern with its own failure cases.

Make ownership part of the interface

Import, export and media workflows are part of the engineering and the user experience. They help people keep control of the material they build. Those flows deserve the same attention as the main study screen.

The product behind the decisions

Talk through your product