A Progressive Web App built for dead zones, apartment basements, and rural routes. The service worker caches the walk list. IndexedDB queues every disposition, note, and survey. When signal returns, it syncs in the background.
— Capabilities
Most canvassing tools assume connectivity. Beacon was built the other way around — every screen the canvasser uses works without a tower, and the data goes when the data can go.
/01 — CACHE
The app shell, walk list, contact details, and survey definitions cache to the device on first sync. Open the app at the door — no network round trip needed.
/02 — QUEUE
Every disposition, note, and survey response writes to IndexedDB first. Persistent across browser closes and phone restarts — nothing lost when the battery dies.
/03 — SYNC
When the device sees a connection, the queue ships in a batch. Server-side conflict resolution preserves duplicate visits as separate records.
— On the door, off the grid
Disposition buttons, survey forms, AI talking points cached from the last sync — all rendering from local storage. The "Online" pill at the top of the walk list goes red when signal drops; everything else keeps working.
See the canvasser flow →
— How an offline shift runs
/01
Open the app on wifi, tap sync. The walk list, contact details, survey definitions, and territory boundaries cache to the device.
/02
Walk the list. Log dispositions, fill surveys, leave notes. Every action writes to IndexedDB. The "Online" pill turns red but nothing else changes.
/03
The phone catches signal at a coffee shop or on the way back to HQ. The queue ships in the background. The pending counter clears.
/04
Knocks land in the activity feed. The map fills in. No spreadsheet hand-off, no end-of-day reconciliation.
— FAQ
Q / 01
Every offline interaction writes to IndexedDB on the device. The moment the phone sees a connection, queued interactions ship to the server in a batch. The server handles conflict resolution — two canvassers visiting the same contact stay as separate records.
Q / 02
Data persists in IndexedDB. It survives browser closes, app restarts, and phone reboots. Open the app again, get connectivity, and the pending queue ships normally.
Q / 03
No. Beacon is a Progressive Web App. On Android, Chrome offers "Add to Home Screen." On iOS, tap the Safari share button and choose "Add to Home Screen." App icon, full screen, no app store account.
Q / 04
The app shell is under 2MB on first load. A typical 500-contact walk list fits under 1MB. Once cached, the app uses no data until sync. A heavy day of door knocks (100+ logs) typically syncs in well under 500KB.
— Start walking
Open an account, install the PWA on your team's phones, run a sync. The list works whether or not the bars do.