All demo projects

Live demo — you're browsing real sample data. Nothing here can be edited.

Create your own free →

Fieldbook — Inventory App

Healthy
Last worked about 4 hours ago
react-nativemobileoffline-first
Mission

Offline-first inventory tracking app for small warehouse teams — scan barcodes, sync when back online, works on cheap Android devices.

Current Goal

Get offline sync working reliably before onboarding the first pilot warehouse next week.

Next Action

Explicitly test the 3+ device sync conflict case before the pilot launch.

Resume Context

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.

Resume Briefing
example output
Where you left off

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.

Current blocker

The APR numbers haven't been checked in a deployed environment, which could lead to discrepancies.

Recommended next action

Test the standalone Express APR server end-to-end against the Next.js static export to ensure the APR display functions correctly.

Suggested Next Stepexample output

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

100/100
Healthy

✓ Strong context — you can resume this project instantly.

Decisions (0)

Why things are the way they are

No decisions logged for this project yet.

Sessions (4)

Session

1 day ago

1h 5m

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

1h 30m

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

1h 25m

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

1h 40m

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.

Ideas (0)

No ideas logged for this project yet.

Timeline

Chronological history of this project

Project "Fieldbook — Inventory App" created

about 4 hours ago

Implemented the sum-of-deltas merge for offline stock edits — works correctly for the two-device case in testing.

1 day ago

Next: 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 ago

Next: 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 ago

Next: 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 ago

Next: Build local SQLite storage so scanned items and stock counts work fully offline.