ConceptPublished: November 3, 2025

Edge Notes

An experiment in fully offline-first note taking that syncs at the edge when you reconnect.

Tech stack

AstroIndexedDBCloudflare

Overview

Edge Notes was a prototype exploring how far an offline-first notes app can go with no traditional backend — storing everything locally and reconciling changes at the edge on reconnect.

What I learned

  • Conflict resolution is the whole game; the UI is the easy part.
  • A tiny, append-only change log beats trying to diff full documents.
  • “Edge sync” is a great fit for small, personal data.
// The core merge was intentionally tiny
type Change = { id: string; ts: number; op: 'set' | 'del'; value?: string };
const latestWins = (changes: Change[]) => changes.sort((a, b) => a.ts - b.ts);

Status

Archived as a concept — the ideas fed directly into how I approach sync elsewhere.

Knowledge base

Guides and notes related to this entry.

2 articles
  • Knowledge base

    Offline-first sync notes

    Append-only wins

    Edge Notes stored every mutation as a tiny change record. Merging became sorting by timestamp — not diffing documents.

    Takeaways

    • Conflict UI matters more than sync transport.
    • Offline queues need a visible pending state.
    • This stub stands in until a fuller write-up lands.
  • Knowledge base

    Why Edge Notes stayed a concept

    What worked

    Local-first storage felt instant. Edge reconciliation was good enough for personal notes.

    What did not

    Multi-device identity and sharing blew up scope. The ideas live on in later sync experiments — this modal stub captures the gist.

Tags:experimentoffline-first