State before surface
A product should make the current state, the next possible action, and the consequence of that action legible before visual polish carries the story.
HAAM produktutgave
the product namespace
Hver av dem startet med en jobb jeg faktisk hadde.
De bor på egne haam.co-adresser. Hvis du logger inn, er det samme konto. Noen er for en kunde. Noen er for meg. Etikettene sier hva som er hva, og om du ser på levende arbeid, en demo eller en forhåndsvisning.
Interaction grammar
Behavior before screenshots.
A product should make the current state, the next possible action, and the consequence of that action legible before visual polish carries the story.
A recommendation, score, classification, or answer should keep the source material close enough that a person can inspect why the system believes it.
The interface must distinguish sensed, inferred, suggested, confirmed, and executed states instead of letting automation blur them together.
The more consequential an action becomes, the clearer the confirmation, preview, scope, and recovery path must be.
Unknown, stale, unavailable, and unsupported are designed states. The system should not quietly fill gaps with confidence it does not have.
Every important flow needs an interruption, refusal, correction, undo, retry, or handoff path that preserves what the person already did.
På haam.co
Hvert produkt har en casestudie skrevet fra evidensen jeg holder ved siden av koden.

01
Når noen skriver, bør svaret allerede ligge i arbeidet. Godkjent kunnskap, tre bekreftede handlinger, så kommer resten til meg med konteksten.
Answer from approved evidence. Ask before acting. Escalate without making the client start over.

02
Penger som kommer og går, så jeg kan se om arbeidet dekker livet rundt det. Den offentlige hosten viser et demosett.
Every financial conclusion must open back into the rows that made it true.

03
Holdt stille, så materialet, lyset og konstruksjonen kan ses.
Manipulate one object directly, then share the exact view rather than a generic product page.

04
Søvn, energi, tid og det som allerede har skjedd denne uken avgjør økten. Så kan du se hvorfor. Webhosten bruker demodata.
Turn today’s constraints into a readable fitness suggestion, with the reasons and the stop condition visible.

05
Et signal kan foreslå. Du sier fortsatt om det skjedde.
A device may notice a signal. Only the person can say the routine actually happened.

06
Personlig Atmotube PM2.5 ved siden av CAMS-bybakgrunnen, time for time.
Compare personal exposure with the city only when metric, place, and hour actually line up.

07
Finn åpne utlysninger, ranger dem mot evidens og foredragsideer, forbered pakken, send bare med godkjenning.
Reduce a pile of open calls to a grounded shortlist, then keep sending behind a human decision.

08
De nærmeste skjøttede badeplassene, den offisielle baselinjen, nærliggende forurensning og hva byen fortsatt kan gjøre. Sjekk dagens lokale melding før du går i vannet.
Show what is officially known about a swim spot, how old it is, and where to verify today.
En jobb som trenger sin egen adresse?
Optional analytics. Google Analytics and Clarity load only if allowed; form, email, and chat content are excluded.