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.
The project is currently focused on integrating the Merkl native APR into the aToken display. The Express server has been wired to show the combined base APR and native APR, but this hasn't been tested against the deployed Next.js static export.
The APR numbers haven't been checked in a deployed environment, which could lead to discrepancies.
Test the standalone Express APR server end-to-end against the Next.js static export to ensure the APR display functions correctly.
Test the standalone Express APR server end-to-end against the Next.js static export.
This is the single blocker between the current work and a production-ready APR display — everything else is already wired up.
Sign up for AI-suggested next steps →Context Health
Recency + completeness
✓ Strong context — you can resume this project instantly.
Why things are the way they are
No decisions logged for this project yet.
Session
1 day 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
4 days 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
7 days 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
9 days 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
Project "Fieldbook — Inventory App" created
about 4 hours agoImplemented the sum-of-deltas merge for offline stock edits — works correctly for the two-device case in testing.
1 day 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
4 days 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.
7 days 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
9 days agoNext: Build local SQLite storage so scanned items and stock counts work fully offline.