Case study

NoteSync

A production React Native app for iOS and Android. Real-time cross-device sync, offline-first persistence, biometric authentication and push notifications via a Laravel REST API.

NoteSync — Mobile app

At a glance

Year
2024
Scope
iOS and Android app, API, store releases
My role
Design, backend, mobile app, release
Stack
React NativeExpoLaravel APIRedisMySQLRabbitMQDockerCI/CD

Case study

01The problem

Notes have to be editable with no signal — on the underground, on a plane, on site — and once the connection returns, edits from a phone and a tablet must converge into one version without losing text. Naive "last write wins" quietly destroys the user's work, and in a notes app that is the one mistake you do not get forgiven for.

02What I built

  • A local on-device database is the source of truth — the interface never waits for the network and a save lands instantly regardless of signal.
  • Changes go into a queue and ship over RabbitMQ once the connection returns; the queue survives an app restart.
  • Merging happens per field rather than per note, so editing two different paragraphs in parallel never raises a conflict.
  • Biometric unlock and push notifications are served by one shared Laravel API across both platforms.

03What it does now

  • Genuine offline use: the app stays usable at zero signal and the sync catches up by itself.
  • One codebase serves the App Store and Google Play — a fix ships once, not twice.
  • Releases run through Dockerised CI/CD, so cutting a new version takes no manual steps.

04Why this stack

React Native with Expo, because two native codebases on this budget would have meant half the features on each platform. Laravel on the API side, because queues, authentication and notifications are already there and battle-tested.

All projects
Let’s start

Got a project in mind?

Describe it in a few sentences — I reply within 24 hours with a free quote and a proposed stack.