system-type-edge-offline
Installation
SKILL.md
System Type: Edge & Offline-First
Patterns, failure modes, and anti-patterns for systems that operate under intermittent connectivity and constrained resources.
1. Offline-First Architecture
The fundamental assumption shift: the network is not a dependency — it is an optimization. An offline-first system is fully functional without connectivity and becomes better when connectivity is available. This is the opposite of how most systems are built, where the server is the source of truth and the client is a thin rendering layer that breaks the moment the network disappears.
The Offline Spectrum
| Model | Description | Network requirement | Complexity | Example |
|---|---|---|---|---|
| Online-only | Server renders everything. Client is a viewport. | Continuous | Lowest | Traditional server-rendered web apps |
| Offline-tolerant | Works online, degrades gracefully offline. Shows cached data, queues writes. | Expected, with brief gaps | Low-medium | Gmail offline mode, Google Maps cached areas |
| Offline-first | Full functionality offline. Sync when connected. Network enhances, does not enable. | Optional, intermittent | High | Notion mobile, Field Service apps, CouchDB/PouchDB apps |
| Local-only | No server component. Data lives entirely on device. | None | Low (no sync) | Local note apps, single-player games, calculators |
| Local-first | Local-only experience with optional peer or cloud sync. User owns the data. | Optional, for collaboration | Highest | Automerge-based apps, Obsidian with sync, Linear's local model |