Live demo — you're browsing real sample data. Nothing here can be edited.
Create your own free →Offline-first inventory tracking app for small warehouse teams — scan barcodes, sync when back online, works on cheap Android devices.
Get offline sync working reliably before onboarding the first pilot warehouse next week.
Explicitly test the 3+ device sync conflict case before the pilot launch.
React Native + SQLite for local storage, syncs to Postgres via a queue table when online. Test device is a budget Android phone, not the emulator — emulator hides real performance issues.
React Native + SQLite for local storage, syncs to Postgres via a queue table when online. Test device is a budget Android phone, not the emulator — emulator hides real performance issues.
The main open item is: Explicitly test the 3+ device sync conflict case before the pilot launch..
Explicitly test the 3+ device sync conflict case before the pilot launch.
Explicitly test the 3+ device sync conflict case before the pilot launch.
Generated from Fieldbook — Inventory App's own logged mission, goal, and next action — this is what your projects look like once you start logging sessions.
Sign up for AI-suggested next steps →Context Health
Recency + completeness
Why (1)
Fix it
Resources
Why things are the way they are
No decisions logged for this project yet.
Session
about 2 months ago
Completed
Implemented the sum-of-deltas merge for offline stock edits — works correctly for the two-device case in testing.
Problems
Not yet tested with three or more devices editing the same item offline simultaneously — unclear if merge order matters at that point.
Decisions
Decided to explicitly test the 3-device conflict case before the pilot, rather than assume the 2-device logic generalizes.
Learned
A fix that works for the simplest version of a problem (2 devices) doesn't automatically prove it works for the general case (N devices) — worth testing the edge explicitly.
Next Action
Explicitly test the 3+ device sync conflict case before the pilot launch.
Session
about 2 months ago
Completed
Built the sync queue — offline changes get queued locally and pushed to the server in order once the device is back online.
Problems
Two test devices editing the same item while both offline caused the second sync to silently overwrite the first device's change.
Decisions
Decided against last-write-wins for stock counts specifically — instead, conflicting offline edits will merge as a sum-of-deltas rather than picking one value.
Learned
For counters (like stock levels), merging the change itself is usually correct; for text fields, last-write-wins is usually fine. One conflict strategy doesn't fit every field type.
Next Action
Implement the sum-of-deltas merge logic for the specific case of two devices editing the same item while both offline.
Session
about 2 months ago
Completed
Built the local SQLite layer — every scan, stock update, and item lookup now works fully offline with no network calls.
Problems
Realized partway through that timestamps saved locally in device time would cause problems once synced against a shared server clock.
Decisions
Standardized all locally-stored timestamps to UTC immediately on write, instead of converting at sync time — avoids a whole category of timezone bugs later.
Learned
Timezone bugs are much cheaper to prevent at write-time than to fix after data from multiple devices is already mixed together.
Next Action
Build the sync queue that pushes offline changes to the server once the device reconnects.
Session
about 2 months ago
Completed
Built the barcode scanning flow using the device camera — scan an item, look it up locally, show current stock count instantly.
Problems
Scanning worked instantly on the emulator but had a noticeable 1-2 second lag on the actual test Android device.
Decisions
Switched from decoding every camera frame to sampling every 3rd frame — barely affects scan speed for a human, but cut CPU load enough to remove the lag.
Learned
The emulator is not a reliable performance signal for camera-heavy features — always test on the cheapest real device you have access to.
Next Action
Build local SQLite storage so scanned items and stock counts work fully offline.
No ideas logged for this project yet.
Chronological history of this project
railway
about 1 month agoAPI_DOCS
Implemented the sum-of-deltas merge for offline stock edits — works correctly for the two-device case in testing.
about 2 months agoNext: Explicitly test the 3+ device sync conflict case before the pilot launch.
Built the sync queue — offline changes get queued locally and pushed to the server in order once the device is back onli
about 2 months agoNext: Implement the sum-of-deltas merge logic for the specific case of two devices editing the same item while both offline.
Built the local SQLite layer — every scan, stock update, and item lookup now works fully offline with no network calls.
about 2 months agoNext: Build the sync queue that pushes offline changes to the server once the device reconnects.
Built the barcode scanning flow using the device camera — scan an item, look it up locally, show current stock count ins
about 2 months agoNext: Build local SQLite storage so scanned items and stock counts work fully offline.
Project "Fieldbook — Inventory App" created
2 months ago