Mosaic

Koder Mosaic — Universal Organization Management App

  • *rea:*Foundation (flagship product side)
  • *ath:*services/foundation/kompass/app
  • *ind:*Cross-platform Flutter client for the Kompass engine

Role in the stack

Koder Mosaic is the flagship Koder product that lets any kind of organization — a company, a church, a school, a nonprofit, a condominium, a sports club, a cooperative — run its entire operation from a single crossplatform app. It is the consumerfacing companion to the Koder Kompass engine.

The name reflects the product's central metaphor: every organization is a mosaic of different pieces (members, units, roles, events, projects), and Mosaic's job is to let each piece shine as part of a bigger picture — regardless of whether the organization is a Fortune 500 company or a local chess club.

Distinctive features

  • *ingle codebase, all platforms*— Flutter targets for Android, iOS, Linux, macOS, Windows, and Web from one repository
  • *erminology-aware UI*— every label in the app is rendered through Kompass's Terminology Engine, so a church sees "Ministry" where a company sees "Department"
  • *ast org switching*— users with multiple organizations (company + church + condo) toggle instantly via a top-level menu
  • *odule-aware shell*— the app loads the active org's Kompass modules, shows a Home summary first, and renders navigation only for enabled modules
  • *ffline-first mobile*— local cache of the active org, sync when online

Primary couplings

Consumer / dependency Relationship
services/foundation/kompass/engine Engine backend — org APIs, /me/bootstrap, modules, terminology
services/foundation/id/platform Authentication via Koder ID OIDC
services/foundation/pass/app Companion identity app (shared sign-in)
suite/kmail, suite/talk, ai/gateway, suite/cadence, suite/drive Integrations surfaced inside org modules

Interfaces

Surface Contract
MosaicShell Restores the last destination per org and renders module-filtered navigation
HomeScreen Shows active org summary: members, units, vacancies, alerts, and enabled modules
MembersScreen Directory filters, invitations, CSV import/export, bulk lifecycle actions
MemberDetailScreen Member profile edit, tags, and notes
KompassClient.getCurrentUserBootstrap() Consumes GET /api/v1/me/bootstrap when available
KompassClient.getOrgModules() Falls back to GET /api/v1/organizations/{id}/modules

Status

Active — Koder ID bootstrap, org switching, terminologyaware core screens, shell telemetry, moduleaware Home navigation, and member directory lifecycle workflows are implemented. Offline cache/sync and deeper module workspaces remain backlog items.

Source: ../home/koder/dev/koder/meta/docs/stack/modules/mosaic.md