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.
