All work
FieldnoteMobile
An offline-first notes app that syncs without conflicts
A sync engine and mobile app for a research notes product used in places where a good connection is a luxury.
- Client
- Fieldnote
- Industry
- Software
- Role
- Lead engineer
- Year
- 2023
- Duration
- 9 months
Built with
- React Native
- TypeScript
- SQLite
- CRDTs
- Node.js
Scope
- Mobile
- Sync engine
- Architecture
- Testing

- Notes synced without a lost edit
- 2M+
- App store rating after launch
- 4.8
- Sync conflicts users have to resolve by hand
- 0
The challenge
Fieldnote's users take notes in remote places with no signal, then sync days later. The old sync overwrote edits made on two devices, and every lost note turned into a support ticket and an angry review.
The approach
We designed for offline first, treating the network as a bonus rather than a requirement.
- A local SQLite database on every device, so the app is instant whether or not there is a connection.
- A sync engine built on CRDTs, so edits from several devices merge cleanly without anyone having to pick a winner.
- Property-based tests that replay thousands of random edit histories to prove nothing is ever lost.
The outcome
Since launch, Fieldnote has synced more than two million notes without a single lost edit. App store ratings climbed to 4.8 and sync-related support tickets disappeared.