← all projects
Case study

Field Notes

An offline-first notebook for people doing important work beyond reliable Wi-Fi.

Designed for the real environment

Field Notes starts with a simple constraint: the core workflow must stay dependable without a network. Changes are saved locally first, then reconciled when a connection returns.

type SyncState = "local" | "queued" | "synced" | "conflict";

export function canEdit(state: SyncState) {
  return state !== "conflict";
}

The result is a tool that feels predictable in the moments when predictability matters most.