{
  "gem": {
    "slug": "livestore-vg-0923",
    "name": "LiveStore",
    "description": "Event-sourced local-first data layer that keeps an in-memory SQLite read model derived from an append-only log of events.",
    "url": "https://livestore.dev",
    "domain": "livestore.dev",
    "author": "Johannes Schickling (@schickling)",
    "license": "open-source",
    "category": "Dev Utilities & Vibe-Coding Tooling",
    "subcategory": "Local-first & sync",
    "tags": [
      "local-first",
      "sqlite",
      "event-sourcing",
      "sync"
    ],
    "whyGem": "Event sourcing on the client, so time-travel debugging and undo come free.",
    "sourceType": "site",
    "image": "/api/public/library/og/VG-0923-480.webp",
    "pageUrl": "https://vibing.inc/library/livestore-vg-0923"
  }
}