A minimal, no-build web app kit using only Lit-based web components via importmaps
Find a file
2026-03-04 11:26:57 -08:00
components fixed a few bugs, fleshed out a few cornerstones 2026-03-04 11:26:57 -08:00
controllers first draft but not working yet 2026-03-04 11:13:15 -08:00
store fixed a few bugs, fleshed out a few cornerstones 2026-03-04 11:26:57 -08:00
importmap.json first draft but not working yet 2026-03-04 11:13:15 -08:00
index.html fixed a few bugs, fleshed out a few cornerstones 2026-03-04 11:26:57 -08:00
README.md first draft but not working yet 2026-03-04 11:13:15 -08:00

Architecture

  • Lit-based web components

  • No-build tooling (importmap only)

  • Zustand-moderated state management with IndexedDB storage mechanism

Layout

src/
  store/
    index.js          ← zustand store definition
    middleware/
      persistence.js  ← idb-keyval persist adapter
      sync.js         ← optional cross-tab broadcast
  components/
    app-root.js
    feature-a/
      feature-a.js    ← Lit component
      feature-a.css   ← adopted stylesheet or constructable
  controllers/
    fetch.js          ← ReactiveController for API calls
    3d.js             ← optional Three/WebGPU controller
  lib/
    idb.js            ← thin idb-keyval wrapper/schema
index.html
importmap.json        ← extracted importmap (referenced via <script src>)

The Complete Mental Model

IndexedDB
  ↕ (idb-keyval adapter)
Zustand persist middleware
  ↕ (vanilla store)
StoreController (ReactiveController)
  ↕ (requestUpdate → selector)
Lit Web Components
  ↕ (events / store actions)
User