Skip to content
KroustillePublic

About

Offline-first life companion PWA — typed lists (shopping, books, movies, recipes) with sync across devices

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

416 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Muni

Muni is an offline-first life companion PWA — a mobile-first second brain for typed lists that sync across phone and desktop. The name comes from Muninn, Odin's raven of memory.

Capture books, films, recipes, and shopping in a few taps; browse and update them offline; changes sync when you're back online. The UI is French (i18n message catalog); this README is in English.

Getting started

Features

Core (v1) — four typed lists with quick-add, search, ratings, and per-field sync:

List Highlights
Shopping Check off items, fast capture
Books Reading status, 1–5 star rating when finished
Movies Watch status, personal rating
Recipes Ingredients, steps, notes

Catalog extensions (spec-driven; see specs/):

Sign-in: Google or email magic link (SMTP). First use needs a network connection; after that the app works fully offline and an expired session never blocks local data.

Stack

Single Next.js 15 app (App Router): React UI + API route handlers in one deployable.

  • Architecture — domain-driven design, hexagonal (ports & adapters): pure domain, application use cases, adapters for IndexedDB, PostgreSQL (Kysely), SMTP, OIDC, and browser APIs
  • Client — IndexedDB is the UI source of truth; background sync to self-hosted PostgreSQL; Serwist PWA
  • Server — Node route handlers, sessions in PostgreSQL, no third-party BaaS or analytics

Details: specs/001-typed-lists-companion/plan.md and .specify/memory/constitution.md.

Local development

Clone, prerequisites, .env.local, Docker, migrations, and Mailpit sign-in: docs/GETTING-STARTED.md.

Checks: yarn typecheck, yarn test, yarn test:coverage, yarn test:e2e. Manual scenarios: v1 quickstart; catalog features add 002, 003, 004 when relevant.

Specifications

Features are specified under specs/ using GitHub Spec Kit (constitution, spec, plan, tasks). Start with specs/001-typed-lists-companion/spec.md.

Commits

Conventional Commits 1.0.0 — e.g. feat: add quick add bar, docs: update readme. See the constitution for project conventions.

About

Offline-first life companion PWA — typed lists (shopping, books, movies, recipes) with sync across devices

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages