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 produktutgåva
the product namespace
Varje sak började med ett jobb jag faktiskt hade.
De bor på egna haam.co-adresser. Om du loggar in är det samma konto. En del är för en kund. En del är för mig. Etiketterna säger vad som är vad, och om du tittar på livearbete, en demo eller en förhandsvisning.
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
Varje produkt har en fallstudie skriven från evidensen jag håller bredvid koden.

01
När någon skriver ska svaret redan finnas i arbetet. Godkänd kunskap, tre bekräftade handlingar, sedan kommer resten till mig med kontexten.
Answer from approved evidence. Ask before acting. Escalate without making the client start over.

02
Pengar som kommer och går, så jag kan se om arbetet täcker livet runt det. Den publika hosten visar en demouppsättning.
Every financial conclusion must open back into the rows that made it true.

03
Hållen stilla så att materialet, ljuset och konstruktionen kan ses.
Manipulate one object directly, then share the exact view rather than a generic product page.

04
Sömn, energi, tid och vad som redan hänt den här veckan avgör passet. Sedan kan du se varför. Webbhosten använder demodata.
Turn today’s constraints into a readable fitness suggestion, with the reasons and the stop condition visible.

05
En signal kan föreslå. Du säger fortfarande om det hände.
A device may notice a signal. Only the person can say the routine actually happened.

06
Personlig Atmotube PM2.5 bredvid CAMS-stadsbakgrunden, timme för timme.
Compare personal exposure with the city only when metric, place, and hour actually line up.

07
Hitta öppna utlysningar, rangordna dem mot evidens och föredragsidéer, förbered paketet, skicka bara med godkännande.
Reduce a pile of open calls to a grounded shortlist, then keep sending behind a human decision.

08
Närmaste skötta badplatser, den officiella baslinjen, närliggande förorening och vad staden fortfarande kan göra. Kolla dagens lokala meddelande innan du går i vattnet.
Show what is officially known about a swim spot, how old it is, and where to verify today.
Ett jobb som behöver en egen adress?
Optional analytics. Google Analytics and Clarity load only if allowed; form, email, and chat content are excluded.