Optimistic Updates — Instant UI Response
When you tap to mark a scout present, award a point, or confirm a medication dose, the change appears in the interface immediately — before any server round-trip. This is called an optimistic update, and it means Wampums feels fast and responsive even on a slow or intermittent connection.
In the background, the action is queued for server sync. If the sync succeeds, the UI state is confirmed. If it fails, the item remains in the queue and retries automatically. You never see a loading spinner that blocks your workflow. The app stays usable regardless of what the network is doing.
Offline Attendance — Full Roster Available Locally
The complete participant roster for your group is cached locally on each leader's device. Opening the attendance screen works instantly with no network call required. Mark present, absent, late, or excused for every scout, add notes, and add guests — all without a single byte transmitted over the air.
The roster cache is updated automatically whenever connectivity is available, so you always have the most recent participant list before you leave for a remote location. Attendance data from offline sessions is timestamped accurately at the moment of entry, ensuring records reflect when events actually occurred rather than when they synced.
Offline Badge and Points Tracking
Badge requirements completed at a campfire activity, points earned during a team challenge, progress logged during a skills workshop — all of it can be recorded offline with the same interface leaders use at a regular meeting. The badge and points modules cache all current progress data locally and accept new entries without network access.
When multiple leaders are all offline simultaneously — common at a remote camp — each device maintains its own queue. When connectivity returns, all queues are merged and replayed in chronological order. Duplicate entries are detected and flagged for review so no scout ends up with double points for the same activity.
Offline Medication Dispensing
Health and safety cannot wait for a WiFi connection. The full medication dispensing workflow — viewing participant health profiles, checking dispensing schedules, confirming and logging doses — is available offline on every leader device. Medication profiles and timed alerts work the same way with or without internet.
Dispensing confirmations logged offline are stored in the mutation queue with accurate timestamps and synced as soon as connectivity returns. The permanent dispensing log therefore reflects exactly what happened in the field, not just what was uploaded hours later. For groups conducting multi-day camps, this creates a complete, reliable medication record across the entire trip.
Mutation Queue — Every Change Tracked
Behind the optimistic update layer is the mutation queue — a persistent local log of every write operation performed while offline or on a weak connection. Each entry records the action type, the affected records, the timestamp, and the leader who performed it. The queue survives app restarts and device reboots.
When connectivity returns, the queue processes automatically in the background. Leaders see a progress indicator and a final confirmation when all pending changes have been committed to the server. If any individual mutation fails due to a server-side conflict, it is flagged for manual review rather than silently dropped, so nothing is lost without notice.
Camp Mode — 10-Day Extended Cache
Standard caching keeps data fresh for 24 to 48 hours — plenty for a weekly meeting cycle. Camp mode extends that to 10 days and pre-fetches everything your leadership team will need for the trip: participant rosters, health profiles, medication schedules, badge progress, points history, and emergency contacts. Enabling it before departure takes one click.
Camp mode activates on all logged-in leader devices automatically once an administrator enables it for the event. It requires a full sync before departure to ensure all data is current, and it displays a clear indicator showing the last sync time so leaders know how fresh their local data is. After the camp, deactivating camp mode returns the app to its standard cache configuration.