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.