Appearance
Hva er Lumi?
Lumi er et verktøy for å kjøre personvernvennlige surveys i digitale tjenester. Du definerer spørsmålene i TypeScript, widgeten kjører i din app, og all data forblir på din infrastruktur.
Lumi er bygget for norske virksomheter som vil samle brukerinnsikt uten å sende data ut av egen kontroll — enten du kjører i Docker, på Kubernetes (Helm), eller på en plattform som NAIS.
Hvorfor Lumi?
- Survey as code — definer spørsmål i TypeScript, rett i kodebasen din. Ingen ekstern tjeneste.
- BYOC (Bring Your Own Cloud) — kjør på egen infrastruktur. All data forblir hos deg.
- API-nøkkel-auth — embed widgeten med en
pk_-nøkkel direkte fra nettleseren, uten token exchange. - OIDC-innlogging — dashboard-tilgang via standard OIDC (Entra ID, Keycloak, o.l.).
- Organisasjonsmodell — opprett organisasjon, team og OIDC-gruppekoblinger for tilgangsstyring.
- Selvstående widget med
--lumi-*CSS-variabler — widgeten leverer all CSS og følger WCAG. Tilpass utseendet med CSS custom properties. - Dashboard — filtrer, segmenter og eksporter survey-data med teambasert tilgangsstyring.
Arkitektur
Lumi består av tre deler: en frontend-widget, et API som lagrer data, og et dashboard som visualiserer innsikt.
Det finnes to integrasjonsmønstre:
Enterprise (API-nøkkel)
Widgeten sender svar direkte til Lumi API med en pk_-nøkkel. Ingen token exchange nødvendig.
Backend-proxy (valgfritt)
For kunder som vil rute submissions via eget backend — typisk for å gjenbruke eksisterende OIDC/IAM-flyt eller token exchange — sender widgeten til ditt eget endepunkt, som videresender til Lumi API:
Pakkeoversikt
| Pakke | Beskrivelse | Tech Stack |
|---|---|---|
@lumianalytics/survey | Selvstående React-widget | React, --lumi-* CSS custom properties |
lumi-api | Backend & Analyse API | Kotlin, Ktor, Postgres |
lumi-dashboard | Admin-dashboard | TanStack Start, React |
Hvem er Lumi for?
Lumi er laget for norske virksomheter som vil samle brukerinnsikt i sine digitale tjenester — enten det er en sluttbrukerflate, et internt fagsystem, eller en arbeidsgiver-portal.
Enterprise/BYOC-kunder trenger:
- En React-app der widgeten skal vises
- Lumi API kjørende på egen infrastruktur (Docker Compose eller Helm)
- En OIDC-provider for dashboard-innlogging (valgfritt — Lumi kan kjøres i
local-modus)
Backend-proxy (valgfritt) — for kunder som vil rute submissions via eget endepunkt:
- Eget backend-endpoint som mottar payloaden fra widgeten og videresender til Lumi API
- Valgfri token exchange eller OIDC-flyt før videresending (f.eks. for zero-trust-arkitekturer)
Neste steg
Klar til å komme i gang? Gå videre til Installer widget for å sette opp pakken i prosjektet ditt.
