v2 · 2026-09-17 · pitch 2026-11-01

Storyboard — Mi casa su casa

De pitch-flows als één ontwerp: schermen, verbindingen, momenten — met de echte beelden uit de demo.

6 flows · 31 momenten · 305 seconden demo · 22 open punten

Het gesprek onder elk moment komt uit het pitchscript server/data/gesprek/pitch.json (versie 2, peildatum 2026-09-20) — dat script is de bron, deze pagina leest het na.

De rode draad

De pitch heeft één zin: iemand droomt van jouw huis. Elke flow dient die zin. Adres eerst laat zien dat je huis er al is voordat er een account is. De wijk en het ♥ laten zien dat élk huis een droomhuis kan zijn, ook wat niet te koop staat. De fans-loop is de zin zelf. Claim en verificatie laten zien dat we het moeilijkste stuk kleiner hebben gemaakt. Premium en Mi Data laten zien dat we onszelf meten.

De opstelling

Telefoon

Sanne · de eigenaar

Fysiek toestel op een standaard, gespiegeld naar het grote scherm. Haar rol is warmte en trots: dit is háár huis.

Desktop

Tom · de zoeker

Laptop op tafel, tweede venster op het grote scherm. Zijn rol is verlangen en bladeren.

Derde venster

Beheer · de tellers

Blijft gesloten tot scène 5.

Nooit twee schermen tegelijk bewegen. Wie niet aan de beurt is, staat stil op een rustig beeld.

De schermkaart

Elke lijn hieronder bestaat echt in de code. De kaart toont ze als één plaat; de lijsten eronder zijn dezelfde verbindingen om te lezen.

Schermkaart van de demo
kaart volgt
mcsc-demo-schermkaart op Like Water

Sanne · telefoonTom · desktopVoordeur en gastHet signaal steekt overData en registers

Overgangen — wat je aanklikt, en waar je dan bent

Sanne · telefoon 8

  • Mijn huis De kamer · Fans

    de deur: tik op het getal

    /mijn-huis → /fans

  • Mijn huis Onderhoud en documenten

    dossierregel · tab

    /mijn-huis → /onderhoud

  • Mijn huis Woonverificatie

    Woonverificatie

    /mijn-huis → /verifieer

  • Mijn huis Zichtbaarheid

    tab

    /mijn-huis → /zichtbaarheid

  • De kamer · Fans Fan-detail (Sanne)

    tik op een fan

    /fans → /fan/:id

  • Fan-detail (Sanne) De kamer · Fans

    Terug naar je fans

    /fan/:id → /fans

  • De kamer · Fans Zichtbaarheid

    tab

    /fans → /zichtbaarheid

  • De wijk Woonverificatie

    Dit is mijn huis → claim

    /wijk → /verifieer

Tom · desktop 9

  • Ontdekken De wijk

    De wijk

    /ontdekken → /wijk

  • Ontdekken Mijn lijst

    tab · na een ♥

    /ontdekken → /mijn-lijst

  • Ontdekken Droomprofiel

    tab

    /ontdekken → /droomprofiel

  • Ontdekken Ik

    tab Ik

    /ontdekken → /account

  • Mijn lijst De brief aan een huis (Tom)

    tik op een huis

    /mijn-lijst → /fan/:id

  • De brief aan een huis (Tom) Premium-muur

    Video toevoegen · Bovenaan de stapel

    /fan/:id → (component)

  • Premium-muur De brief aan een huis (Tom)

    Word Premium → opties aan

    (component) → /fan/:id

  • Ik Mi Data & Partners

    Mi Data & Partners

    /account → /mijn-data

  • Ik Contact

    Contact

    /account → /contact

Voordeur en gast 7

  • De deur (gesprek) Welkom

    Zijdeur (in demo-modus)

    /deur → /welkom

  • Welkom Mijn huis

    Ik ben Sanne — ik heb een huis

    /welkom → /mijn-huis

  • Welkom Ontdekken

    Ik ben Tom · Gewoon rondkijken

    /welkom → /ontdekken

  • Welkom Adres eerst

    Nieuw huis · typ je adres

    /welkom → /onboarding/adres

  • Welkom Inloggen per e-maillink

    Stuur me een inloglink

    /welkom → /inloggen

  • Welkom Beheer wacht

    Beheer (in demo verborgen)

    /welkom → /beheer

  • Adres eerst Mijn huis

    Bewaar je huis → logt in als Sanne

    /onboarding/adres → /mijn-huis

Signalen — wat oversteekt via de server

Het signaal steekt over 16

  • Ontdekken SSE /api/events live

    ♥ → POST fan → fan-nieuw

    /ontdekken

  • De wijk SSE /api/events live

    ♥ op een pand → fan-nieuw

    /wijk

  • SSE /api/events Mijn huis live

    de deur telt op

    /mijn-huis

  • SSE /api/events De kamer · Fans live

    het getal schuift, nieuwkomer bovenaan

    /fans

  • Zichtbaarheid SSE /api/events live

    Notificeer je fans → notificatie

    /zichtbaarheid

  • SSE /api/events Ontdekken live

    het bericht bij Tom: 'de eigenaar overweegt te verkopen'

    /ontdekken

  • De brief aan een huis (Tom) SSE /api/events live

    sollicitatie · bod

    /fan/:id

  • SSE /api/events Fan-detail (Sanne) live

    Sanne ziet de sollicitatie

    /fan/:id

  • Woonverificatie Hono-server + SQLite live

    check-in: alleen match ja/nee + tijdstip

    /verifieer

  • Hono-server + SQLite Mijn huis live

    badge brons · zilver · goud

    /mijn-huis

  • Adres eerst Open overheidsketen live

    huisprofiel uit BAG, EP-Online, PDOK

    /onboarding/adres

  • De wijk Wijkdata Wittevrouwen live

    2.977 adressen

    /wijk

  • Premium-muur Hono-server + SQLite live

    betaalmuur getoond · conversie

    (component)

  • Mi Data & Partners Hono-server + SQLite live

    toggle per doel

    /mijn-data

  • Hono-server + SQLite Beheer live

    tellers live

    /beheer

  • Inloggen per e-maillink Resend (mail) wacht

    inloglink per e-mail

    /inloggen

De choreografie

6 flows, 305 seconden. Nooit twee schermen tegelijk in beweging.

Choreografie van de pitch
kaart volgt
mcsc-pitch-choreografie op Like Water
  1. 0

    De deur live

    telefoon, ook desktop · 40 s · 4 momenten

    Er stapte iemand opzij voor mij.

  2. 1

    Adres eerst wacht

    telefoon · 50 s · 5 momenten

    Opluchting. Dit had moeilijk moeten zijn en het is het niet.

  3. 2

    De wijk en het ♥ live

    desktop · 60 s · 4 momenten

    Compleetheid, en daarna verlangen.

  4. 3

    De fans-loop live

    telefoon leidt, desktop volgt · 70 s · 8 momenten

    O — dít is het bedrijf.

  5. 4

    Claim en woonverificatie wacht

    telefoon · 40 s · 5 momenten

    Vertrouwen: het moeilijkste stuk is kleiner gemaakt, niet groter.

  6. 5

    Premium en Mi Data wacht

    desktop, dan Beheer · 45 s · 5 momenten

    Dit team meet zichzelf.

0 Flow 0 van 6 live

De deur

Je typt je adres, en er spreekt een huis terug — vóór er een account is.

telefoon, ook desktop Gast 40 s 4 momenten

Gevoel Er stapte iemand opzij voor mij.

“Je typt je adres. Carmen vraagt of ze het goed begrepen heeft, en stapt dan opzij. Het huis vertelt zichzelf in drie droge zinnen — en zegt erbij dat het geen huis is dat écht praat. Dan komt Carmen terug, met één zin over jouw straat.”

Gesprek — De zaalminuut — de zaal typt zijn adres

  • SCHERM Elk huis heeft een verhaal. Typ je adres.

    Every house has a story. Type your address.

  • E Pak uw telefoon. Geen account, geen formulier. Dit duurt één minuut.

    Take out your phone. No account, no form. This takes one minute.

  • CARMEN Kijk. Waar nu water is, lag bijna vijftig jaar asfalt. Sinds 12 september 2020 is de singel weer rond.

    Look. Where the water is now, there was tarmac for almost fifty years. Since 12 September 2020 the canal is round again.

  • CARMEN Zo'n verhaal heeft elke straat. Ook die van jou. Waar woon je, of waar droom je van?

    Every street has a story like that. Yours too. Where do you live, or where do you dream of?

  • ZAAL Ieder typt zijn eigen adres.

    Everyone types their own address.

  • CARMEN «jouw adres» in «jouw plaats». Bedoel je dat?

    «your address» in «your town». Is that the one?

  • CARMEN Dan laat ik jullie even alleen.

    Then I'll leave the two of you to it.

  • HUIS Ik ben gebouwd in «bouwjaar». «oppervlakte» vierkante meter, energielabel «label». Dat komt uit de openbare registers, niet van mij: een huis kent zijn eigen maten niet.

    I was built in «year». «area» square metres, energy label «label». That comes from the public registers, not from me: a house does not know its own measurements.

  • HUIS Ik ben trouwens geen huis dat echt praat. Mi casa su casa geeft me een stem, gemaakt met AI. Wat ik over mezelf vertel komt uit openbare registers; de rest weet ik niet.

    I am not a house that really talks, by the way. Mi casa su casa gives me a voice, made with AI. What I tell about myself comes from public registers; the rest I do not know.

  • HUIS Bewaar me, dan onthoud ik wat je me vertelt.

    Keep me, and I will remember what you tell me.

  • E Niet elk huis heeft een label. Van de ruim acht miljoen woningen in Nederland hebben er ruim vijf miljoen er een.

    Not every house has a label. Of the more than eight million homes in the Netherlands, more than five million have one.

  • E Wie daar niets ziet staan, ziet dat wij niets verzinnen. Dit werkt vandaag, voor elk adres in Nederland.

    Anyone who sees nothing there is seeing that we invent nothing. This works today, for every address in the Netherlands.

Aankomst: Carmen praat al — De deur (gesprek)
opname volgt
/deur · 390 px

0.1

Aankomst: Carmen praat al

De deur (gesprek) /deur Gast

Carmen en het huis · typen, geen formulier · SSE per verzoek

Ziet

Het passe-partout op een kier, op het linnen Carmens twee openingszinnen, dan het veld met vier voorzetten.

Voelt

Dat er iemand is voordat je iets typt.

Doet

Niets nog; wacht tot Carmen is uitgesproken.

Data
  • POST /api/gesprek {taal, start:true} → SSE beurt, paneel straat, stil, beurt, chips, klaar
De bevestiging — De deur (gesprek)
opname volgt
/deur · 1440 px

0.2

De bevestiging

De deur (gesprek) /deur Gast

Carmen en het huis · typen, geen formulier · SSE per verzoek

Ziet

Carmens vraag of het adres klopt, met Ja/Nee in de onderrand van het papier.

Voelt

Dat er iemand oplet — nooit stil een ander huisnummer aannemen.

Doet

Typt Wilhelminapark 25, Enter.

Data
  • POST /api/gesprek {gesprekId, tekst} → paneel bevestig {straat, nummer, postcode, plaats}

Ontbreekt

WatWieWanneer
Afgerond (regiebesluit 20-09, vervangt D54): Sanne woont op Wilhelminapark 25, 3581 NE Utrecht. Het adres bestaat echt en PDOK kent het, dus de bevestiging komt gewoon uit de Locatieserver; de seed-terugval is hier geen noodgreep meer. Bouwjaar 1910 is echt; 145 m² en label C zijn demo-data uit de seed, met bron 'Mi casa su casa, demo' in de onderrand. Het pand heeft in het register een kantoor- en industriefunctie en geen woonfunctie — er wordt dus geen bewoner belast. Buiten demo-modus spreekt het echte gebouw (1910, 659 m², geen label). Blijft open: Tom zoekt in scène 3 in Wittevrouwen, terwijl Sannes pand in 'Wilhelminapark en omgeving' staat (server/data/wijk/wilhelminapark.json, 1.093 adressen).regievóór de generale
Het huis spreekt — De deur (gesprek)
opname volgt
/deur · 390 px

0.3

Het huis spreekt

De deur (gesprek) /deur Gast

Carmen en het huis · typen, geen formulier · SSE per verzoek

Ziet

De gouden haarlijn sluit zich; het huis spreekt uit de onderrand van zijn eigen passe-partout: bouwjaar, oppervlak, en eerlijk dat het geen huis is dat écht praat.

Voelt

Dat het huis droog is, en eerlijk over wat het niet weet.

Doet

Typt ja, Enter.

Data
  • POST /api/gesprek {gesprekId, tekst:'ja'} → wissel naar huis, paneel huis, drie beurten van het huis
Verbergt
  • het AI-label staat in de onderrand
De terugwissel — De deur (gesprek)
opname volgt
/deur · 1440 px

0.4

De terugwissel

De deur (gesprek) /deur Gast

Carmen en het huis · typen, geen formulier · SSE per verzoek

Ziet

De gouden lijn dooft, de plaat doet een stap terug: Carmen staat weer op het linnen, met de straatnaam in de onderrand.

Voelt

Dat iemand voor je opzij stapte, en weer teruggekomen is.

Doet

Niets meer; dit is het rustbeeld waarop scène 1 verdergaat.

Data
  • wissel naar carmen, paneel straat {straat, plaats, feit, bron}

Ontbreekt

WatWieWanneer
Carmens straatzin komt uit de verhalenvoorraad (B1, 30 straten Wittevrouwen, bron en peildatum) en wijkt daarmee bewust af van de voorbeeldzin in pitch.json; het script volgt de voorraad, niet andersom.regie (script bijwerken)W2

1 Flow 1 van 6 wacht

Adres eerst

Je typt je adres, en je huis staat er — voordat er een account is.

telefoon gast → Sanne 50 s 5 momenten

Gevoel Opluchting. Dit had moeilijk moeten zijn en het is het niet.

“Je typt je adres. Wij vragen of we het goed verstaan — dat is de dataproef: drie van de twintig adressen leverden de verkeerde treffer zonder die stap. En dan staat je huis er. Bouwjaar, oppervlak, label, luchtfoto. Uit de open overheidsketen.”

Gesprek — Scène 1 · De deur

  • SANNE Ja

    Yes

  • CARMEN Dan laat ik jullie even alleen.

    Then I'll leave the two of you to it.

  • E Onze verteller stapte opzij, omdat dit huis niet van haar is.

    Our narrator stepped aside, because this house is not hers.

  • HUIS Wat er buiten mijn gevel gebeurt weet ik niet van mezelf. Carmen?

    What happens outside my façade I do not know about myself. Carmen?

  • CARMEN Ik ben er.

    I'm here.

  • CARMEN «PLAATSHOUDER · Carmens straatzin over het Wilhelminapark. Eén zin uit de verhalenvoorraad (agent L), met bron en peildatum. Het script bezit deze zin niet: de server haalt hem op.»

    «PLACEHOLDER · Carmen's one line about Wilhelminapark. One sentence from the story stock (agent L), with source and date. This script does not own the sentence: the server fetches it.»

De voordeur — Welkom
opname volgt
/welkom · 390 px

1.1

De voordeur

Welkom /welkom Gast

drie persona's · nieuw huis · e-mail-inlog

Ziet

Het huis in zijn passe-partout, de naam, vier ingangen: Ik ben Sanne, Ik ben Tom, Gewoon rondkijken, en Nieuw huis — typ je adres, zie je huisprofiel. Daaronder de e-mail-inlog.

Voelt

Warmte, en dat het simpel is.

Doet

Tikt op Nieuw huis.

Data
  • GET /api/omgeving → demo: true
  • POST /api/login {persoonId}
Verbergt
  • de ingang Beheer
  • de bèta-regel
Adres typen — Adres eerst
opname volgt
/onboarding/adres · 390 px

1.2

Adres typen

Adres eerst /onboarding/adres Gast

adres → bevestigen → huisprofiel → bewaar

Ziet

Ontdek je huisprofiel — één veld: straat en huisnummer. Geen account nodig.

Voelt

Nog niets; dit is het scherm dat moet gaan dragen.

Doet

Typt Wilhelminapark 25.

Data
  • POST /api/adres/zoek {tekst} → suggesties (nu: mocklijst van 21 adressen uit seed.json)

Gesprek

  • E Dit is Sanne. Eén huis, langzaam.

    This is Sanne. One house, slowly.

  • SANNE Wilhelminapark 25

    Wilhelminapark 25

Ontbreekt

WatWieWanneer
Kaal formulier op een leeg scherm; dit moet het gevoel van de voordeur vasthouden (beeld, ritme).presentatie-agentdag 4
De suggestielijst is een mock van 21 adressen; 'Wittevrouwensingel 20' wordt stil nummer 14. Sinds Sanne op Wilhelminapark 25 staat geldt hetzelfde binnen één straat: wie 'Wilhelminapark 45' typt (huis h04) krijgt stil nummer 25 terug, want bij gelijke straatnaam wint de eerste in de lijst. Adres-eerst moet in de wijkdata zoeken en nooit stil een ander nummer bevestigen.dev-spoorW2
Bedoel je …? — Adres eerst
opname volgt
/onboarding/adres · 390 px

1.3

Bedoel je …?

Adres eerst /onboarding/adres Gast

adres → bevestigen → huisprofiel → bewaar

Ziet

De bevestigingsvraag: Bedoel je Wilhelminapark 25, 3581 NE Utrecht? Met Ja, dat klopt en Nee, opnieuw.

Voelt

Dat er iemand oplet.

Doet

Tikt Ja, dat klopt.

Data
  • de suggestie uit POST /api/adres/zoek, met postcode en plaats
Verbergt
  • niets: de bevestigingsstap is gedrag (D51, M2)

Gesprek

  • CARMEN Wilhelminapark 25 in Utrecht. Bedoel je dat?

    Wilhelminapark 25 in Utrecht. Is that the one?

Het huisprofiel vult zich — Adres eerst
opname volgt
/onboarding/adres · 390 px

1.4

Het huisprofiel vult zich

Adres eerst /onboarding/adres Gast

adres → bevestigen → huisprofiel → bewaar

Ziet

Het adres groot, en daaronder bouwjaar, woonoppervlak en energielabel — live uit de keten. Eén knop: Bewaar je huis.

Voelt

Opluchting: het is er al.

Doet

Kijkt. De spreker praat over de keten.

Data
  • GET /api/huisprofiel → BAG (bouwjaar, oppervlak), EP-Online (label), PDOK (luchtfoto)
  • POST /api/onboarding/tellers profiel-getoond
Verbergt
  • bron en peildatum onder elk veld
  • het AI-label op het beeld

Gesprek

  • HUIS Ik ben gebouwd in 1910. 145 vierkante meter, energielabel C. Dat komt uit de openbare registers, niet van mij: een huis kent zijn eigen maten niet.

    I was built in 1910. 145 square metres, energy label C. That comes from the public registers, not from me: a house does not know its own measurements.

Ontbreekt

WatWieWanneer
Het profiel toont nu drie regels tekst; de luchtfoto en het passe-partout moeten hier het beeld dragen, zoals op Mijn huis.presentatie-agentdag 4
Sanne staat sinds 20-09 op Wilhelminapark 25. Het bouwjaar klopt nu overal: 1910 in de keten én in Mijn huis. Wat blijft verschillen is het oppervlak — de BAG geeft 659 m² met een kantoor- en industriefunctie, Mijn huis toont 145 m² uit de seed. Dat is met opzet (demo-data, en zo wordt er geen bewoner belast), maar flow 1 en Mijn huis moeten dat wel op dezelfde manier zeggen: in demo-modus allebei uit de seed, met 'Mi casa su casa, demo' als bron (DEMO-MODUS §3a D1/D2).dev-spoor / ux-dataW2, vóór de generale
Bewaar je huis — Mijn huis
opname volgt
/mijn-huis · 390 px

1.5

Bewaar je huis

Mijn huis /mijn-huis Sanne Kramer

held-beeld · de deur · dossier als één vel

Ziet

Mijn huis: het held-beeld, de deur met het fan-getal, het dossier.

Voelt

Trots.

Doet

Niets meer; de telefoon blijft hier staan als rustbeeld voor scène 2.

Data
  • POST /api/onboarding/tellers huis-bewaard
  • POST /api/login sanne (in de demo koppelt 'bewaren' aan de persona Sanne)
Verbergt
  • bronregels

2 Flow 2 van 6 live

De wijk en het ♥

Dit is geen selectie. Dit is de wijk. Elk adres — ook wat niemand ooit te koop zal zien.

desktop Tom Visser 60 s 4 momenten

Gevoel Compleetheid, en daarna verlangen.

“Dit is geen selectie. Dit is de wijk. Elk adres. Ook de huizen die niemand ooit te koop zal zien. En bij elk adres staat 'meld dit' en 'dit is mijn huis' — want we weten dat wij hier over iemands huis praten.”

Gesprek — Scène 3 · De wijk en het ♥

  • TOM ik zoek iets in Wilhelminapark

    i'm looking for something in Wilhelminapark

  • TOM Ik wil ergens wonen waar ik 's ochtends met de deur open koffie kan drinken en waar mijn moeder kan logeren.

    I want to live somewhere I can drink coffee in the morning with the door open, and where my mother can stay over.

  • CARMEN Kom. Ik heb drie straten. In de eerste staat de zon om acht uur op de gevels en is de stoep breed. In de tweede is de stoep smal, maar zijn de huizen dieper: daar past beneden een kamer. In de derde klopt allebei, en rijdt er een bus. Dat zeg ik erbij omdat het níet rijmt.

    Come. I have three streets. In the first, the sun is on the façades at eight and the pavement is wide. In the second the pavement is narrow, but the houses are deeper: there is room for a bedroom downstairs. In the third both are true, and a bus runs through. I mention that because it does not rhyme.

  • CARMEN Huizen noem ik niet. De meeste hier komen nooit te koop.

    Houses I do not name. Most here will never come up for sale.

  • SANNE Wie?

    Who?

Ontdekken: de galerij — Ontdekken
opname volgt
/ontdekken · 1440 px

2.1

Ontdekken: de galerij

Ontdekken /ontdekken Tom Visser

galerij · uitgelicht · het ♥

Ziet

Uitgelicht: Wilhelminapark 25 als brede tegel, daaromheen tegels in wisselende maat. Bovenaan de kaart naar De wijk. 2 van 10 slots.

Voelt

Dat dit een galerij is, geen resultatenpagina.

Doet

Klikt op De wijk.

Data
  • GET /api/huizen?ontdekken=1 (gesorteerd op match uit het droomprofiel)
  • GET /api/mijn-lijst (slots 10 gratis · 50 premium)
Verbergt
  • matchbron-regel
  • AI-label op de tegels

Gesprek

  • E Dit is Tom.

    This is Tom.

Ontbreekt

WatWieWanneer
Het matchpercentage staat op elke tegel; beslissen vóór W4 of het blijft (met uitleg door de spreker) of weggaat.EW4
De wijk: Wittevrouwen — De wijk
opname volgt
/wijk · 1440 px

2.2

De wijk: Wittevrouwen

De wijk /wijk Tom Visser

2.977 adressen op 40 straten · galerij per straat · luchtfoto

Ziet

Wittevrouwen, Utrecht · 2.977 adressen op 40 straten, met de regel dat elk adres uit de BAG komt met een echte luchtfoto. Zoekveld. Dan straat na straat als hoofdstuk, elk met zijn aantal adressen, en de panden als galerij: de luchtfoto in het passe-partout, het huisnummer in de rand, bouwjaar · m² eronder, het ♥ op de foto, Dit is mijn huis en Meld dit stil ernaast.

Voelt

Dat dit de hele voorraad is, niet een etalage.

Doet

Scrolt door straat na straat.

Data
  • GET /api/panden?limiet=200&cursor= (wijk-JSON 2,4 MB, geïndexeerd in een Map; fans en claims uit SQLite)
  • luchtfoto: PDOK WMS per pand, vierkante bbox van 40 m, 512–768 px
Verbergt
  • niets: meldknop en 'Dit is mijn huis' blijven altijd

Gesprek

  • CARMEN Dan zoek je een huis dat nog niet van jou is. Die zwijgen tegen vreemden. Dat geldt straks ook voor het jouwe. Maar de straat is van iedereen; kom maar mee.

    Then you are looking for a house that is not yours yet. Those keep quiet around strangers. That will go for yours too. But the street belongs to everyone; come along.

Ontbreekt

WatWieWanneer
Elk pand staat op 'nog stil': fans over de wijk verdelen (enkele tientallen panden 1–3 fans, een handvol meer).ux-data (seed)W2
De luchtfoto-URL uit het importscript bakt 320×320 in (server/proef/importeer-wijk.mjs regel 169); de client vraagt nu zelf 512/768 — bij een serverwijziging vierkant houden, anders geeft PDOK een leeg beeld.dev-spoorW2, niet blokkerend
Het ♥ — Ontdekken
opname volgt
/ontdekken · 1440 px

2.3

Het ♥

Ontdekken /ontdekken Tom Visser

galerij · uitgelicht · het ♥

Ziet

Het hart onder de tegel klopt één keer; twee gouden ringen bloeien uit en doven. De tegel krijgt de gouden haarlijn: een band met jou.

Voelt

Dat hij dit zelf zou doen.

Doet

Eén klik. Dan stilte — kijk naar de telefoon (flow 3).

Data
  • POST /api/huizen/h01/fan → SSE fan-nieuw {huisId} naar alle verbonden clients

Gesprek

  • TOM Deze.

    This one.

Ontbreekt

WatWieWanneer
Tom is in de seed al fan van h01. Voor het live-moment mag hij dat bij de start niet zijn (nu: eerst een DELETE).dev-spoorvóór W4
Mijn lijst: 2 van 10 slots — Mijn lijst
opname volgt
/mijn-lijst · 390 px

2.4

Mijn lijst: 2 van 10 slots

Mijn lijst /mijn-lijst Tom Visser

de primaire lijst · 2 van 10 slots

Ziet

De huizen die je in je hart sloot, met de slotstand.

Voelt

Dat een ♥ iets kost: er zijn tien plekken.

Doet

Kijkt; terug naar Ontdekken.

Data
  • GET /api/mijn-lijst → huizen met match, gebruikt/limiet/premium

Ontbreekt

WatWieWanneer
De lijst is functioneel; het passe-partout ontbreekt op de miniaturen (te klein) — kandidaat voor grotere kaarten.presentatie-agentdag 3

3 Flow 3 van 6 live

De fans-loop

Iemand droomt van jouw huis. Ze ziet niet wie. Ze ziet alleen dát — en niemand anders ziet het.

telefoon leidt, desktop volgt sanne + tom 70 s 8 momenten

Gevoel O — dít is het bedrijf.

“Sanne ziet twaalf mensen. Ze ziet niet wie. Dat is geen beperking die we eromheen hebben gebouwd — dat ís de functie. Dus: één knop. Sanne schuift één schuifje om. En pas als Tom zelf reageert, wordt hij iemand met een naam.”

Gesprek — Scène 2 · De kamer

  • SCHERM Twaalf mensen dromen van jouw huis. Alleen jij ziet dit. Wie het zijn, blijft geheim tot iemand zelf reageert.

    Twelve people dream of your house. Only you see this. Who they are stays secret until someone speaks up.

  • E Ze ziet niet wie. Dat is geen beperking die wij eromheen hebben gebouwd; dat ís de functie. Houd dat getal even vast.

    She does not see who. That is not a limit we built around it; that is the function. Hold on to that number.

De deur op Mijn huis — Mijn huis
opname volgt
/mijn-huis · 390 px

3.1

De deur op Mijn huis

Mijn huis /mijn-huis Sanne Kramer

held-beeld · de deur · dossier als één vel

Ziet

Eén nachtblauw paneel: het getal in goud, 'mensen dromen van jouw huis', en de belofte 'Alleen jij ziet dit. Wie het zijn, blijft geheim tot iemand zelf reageert.'

Voelt

Trots, en rust.

Doet

Niets nog — dit is het rustbeeld.

Data
  • GET /api/huizen/h01/fans → aantal (alleen actieve fans)
Verbergt
  • drempeltekst onder drie fans → altijd het getal

Gesprek

  • E Sanne wil niets. Ze staat niet te koop. En toch is er één scherm waar ze naar terugkomt.

    Sanne wants nothing. Her house is not for sale. And still there is one screen she keeps coming back to.

De kamer, vóór — De kamer · Fans
opname volgt
/fans · 390 px

3.2

De kamer, vóór

De kamer · Fans /fans Sanne Kramer

het getal groot en goud, anonieme lijst

Ziet

Nachtblauw. Het getal groot en goud, de zin, de belofte. Drie fans als ring met initiaal en 'fan sinds'; de rest droomt in stilte mee.

Voelt

Dat dit een plek is waar je naartoe gaat.

Doet

Wacht op Tom.

Data
  • GET /api/huizen/h01/fans (anoniem: initiaal, sinds; geen naam, geen persoonId)

Gesprek

  • E Sanne wil niets. Ze staat niet te koop. En toch is er één scherm waar ze naar terugkomt.

    Sanne wants nothing. Her house is not for sale. And still there is one screen she keeps coming back to.

De kamer, ná Toms ♥ — De kamer · Fans
opname volgt
/fans · 390 px

3.3

De kamer, ná Toms ♥

De kamer · Fans /fans Sanne Kramer

het getal groot en goud, anonieme lijst

Ziet

Het getal schuift in één beweging omhoog, het hart klopt één keer. Bovenaan: Iemand · T. · Fan sinds vandaag, met een gouden rand.

Voelt

Iemand droomt van mijn huis.

Doet

Tikt op de nieuwkomer.

Data
  • SSE fan-nieuw → events.js haalt de fanlijst opnieuw op
  • gemeten: 1,3 s lokaal, 0,7 s op de demo (zie metingen)

Gesprek

  • HUIS Er is iemand bij gekomen. Dat zijn er nu dertien.

    Someone has been added. That makes thirteen.

Ontbreekt

WatWieWanneer
Op een echt netwerk met een echte telefoon meten (generale, W6).presentatie-agentW6
Eén fan — Fan-detail (Sanne)
opname volgt
/fan/fan-h01-01 · 390 px

3.4

Eén fan

Fan-detail (Sanne) /fan/:id Sanne Kramer

één fan · brieven en biedingen, in de kamer

Ziet

In de kamer: de gouden ring met de initiaal, 'Iemand · T.', fan sinds, en de belofte 'Je ziet pas wie het is als hij zelf reageert.' Wat binnenkwam leest zij als brieven: het bericht in een papieren vel, de status als één gedempt woord, drie stille handelingen eronder. Een bod als tweede brief met het bedrag.

Voelt

Eén persoon die stil op de deur klopt.

Doet

Leest, en laat het staan.

Data
  • GET /api/sollicitaties?huisId=h01 · GET /api/biedingen?huisId=h01
  • PATCH /api/sollicitaties/:id {status}

Gesprek

  • HUIS Dat weet ik niet, en ik zou het niet willen weten. Ik weet wel wat er aan mij rijmde. Ik heb ochtendlicht.

    I do not know, and I would not want to know. I do know what rhymed with me. I have morning light.

Ontbreekt

WatWieWanneer
Na een sollicitatie hoort de fan een naam en een verhaal te krijgen ('nu pas wordt hij een persoon'); de brief toont nu alleen de tekst, zonder afzender.dev-spoor + presentatie-agentW2
Ik overweeg te verkopen — Zichtbaarheid
opname volgt
/zichtbaarheid · 390 px

3.5

Ik overweeg te verkopen

Zichtbaarheid /zichtbaarheid Sanne Kramer

onzichtbaar · stil · overweegt te verkopen

Ziet

Drie standen in één vel — Onzichtbaar · Stil · Ik overweeg te verkopen — de gekozen stand met de gouden haarlijn, en eronder de zin 'Je kunt dit altijd terugzetten'. Pas bij 'Ik overweeg te verkopen' schuift Notificeer je fans in beeld: één bericht, anoniem verstuurd.

Voelt

Dat zij de knop heeft, niet wij.

Doet

Schuift naar 'Ik overweeg te verkopen' en tikt Notificeer je fans.

Data
  • PUT /api/huizen/h01/zichtbaarheid → SSE zichtbaarheid
  • POST /api/huizen/h01/notificeer → SSE notificatie
Verbergt
  • niets: de drie standen zijn gedrag
Notificeer je fans — Zichtbaarheid
opname volgt
/zichtbaarheid · 390 px

3.6

Notificeer je fans

Zichtbaarheid /zichtbaarheid Sanne Kramer

onzichtbaar · stil · overweegt te verkopen

Ziet

De bevestiging: Je fans zijn op de hoogte gebracht.

Voelt

Dat één zin genoeg is.

Doet

Kijkt naar de desktop.

Data
  • POST /api/huizen/h01/notificeer → SSE notificatie {huisId}
Bij Tom komt het bericht binnen — Ontdekken
opname volgt
/ontdekken · 1440 px

3.7

Bij Tom komt het bericht binnen

Ontdekken /ontdekken Tom Visser

galerij · uitgelicht · het ♥

Ziet

Bovenaan Ontdekken (en Mijn lijst) schuift één vel in beeld, met de gouden haarlijn en de miniatuur van het huis: 'De eigenaar van Wilhelminapark 25 overweegt te verkopen.' en 'Jouw ♥ is gezien. Wil je reageren? Alleen de eigenaar leest wat je schrijft.' Twee knoppen: Schrijf de eigenaar, Later.

Voelt

Dat zijn ♥ ergens aankwam.

Doet

Klikt Schrijf de eigenaar.

Data
  • SSE notificatie → lib/berichten.js: alleen voor huizen in jouw lijst (gehartHuisIds), bewaard in sessionStorage, één bericht per huis
  • gemeten: 19 ms tot zichtbaar, lokaal

Ontbreekt

WatWieWanneer
Buiten de app: dezelfde notificatie per e-mail (Resend), zodat een fan die de app dicht heeft het ook hoort.dev-spoorW3
Tom solliciteert — De brief aan een huis (Tom)
opname volgt
/fan/h01 · 1440 px

3.8

Tom solliciteert

De brief aan een huis (Tom) /fan/:id Tom Visser

zelfde route als fan-detail, gezien door de zoeker

Ziet

Een brief aan een huis: links het huis in zijn passe-partout met de gouden haarlijn, rechts 'Schrijf de eigenaar' — reageren met tekst is gratis, alleen de eigenaar leest dit, jouw naam gaat mee. Een breed vel, twee rustige Premium-opties met een slotje, één knop Verstuur. Daaronder, kleiner: Doe een bod.

Voelt

Dat hij nu pas een persoon wordt — en dat dat zijn keuze is.

Doet

Schrijft drie regels en klikt Verstuur.

Data
  • POST /api/sollicitaties {huisId, tekst, metVideo, bovenaanStapel} → SSE sollicitatie

4 Flow 4 van 6 wacht

Claim en woonverificatie

Hoe weten wij dat dit haar huis is? Niet met documenten. Wij bewaren of het klopte en wanneer — nooit waar.

telefoon Sanne Kramer 40 s 5 momenten

Gevoel Vertrouwen: het moeilijkste stuk is kleiner gemaakt, niet groter.

“De app vraagt één keer: mag ik weten of je hier bent? Wij bewaren of het klopte en wanneer. Geen coördinaten, nooit, ook niet versleuteld. Hoe vaker het klopt, hoe sterker de badge.”

Dit is mijn huis — De wijk
opname volgt
/wijk · 390 px

4.1

Dit is mijn huis

De wijk /wijk Sanne Kramer

2.977 adressen op 40 straten · galerij per straat · luchtfoto

Ziet

In de wijk, bij een pand: de knop Dit is mijn huis.

Voelt

Dat het tegenwicht is voor het tonen van andermans adres.

Doet

Tikt erop.

Data
  • POST /api/panden/:id/claim → pand_claims; daarna /verifieer/pand/:id
Verbergt
  • niets

Ontbreekt

WatWieWanneer
Na de claim opent het gewone verificatiescherm; het pand zelf (adres, luchtfoto) hoort daar in beeld te staan.presentatie-agentdag 5
Stap 1 · adres — Woonverificatie
opname volgt
/verifieer · 390 px

4.2

Stap 1 · adres

Woonverificatie /verifieer Sanne Kramer

adres → start → 'Ik ben thuis' → badge

Ziet

Woonverificatie: claim je huis door aan te tonen dat je er woont — alleen met jouw toestemming. Stap 1: het adres bevestigen (staat al ingevuld).

Voelt

Nog een formulier.

Doet

Zoek adres → Ja, dat klopt.

Data
  • POST /api/adres/zoek

Ontbreekt

WatWieWanneer
Kaal; de adresstap mag hier overgeslagen worden als het huis al bekend is.presentatie-agentdag 5
Stap 2 · wat we meten — Woonverificatie
opname volgt
/verifieer · 390 px

4.3

Stap 2 · wat we meten

Woonverificatie /verifieer Sanne Kramer

adres → start → 'Ik ben thuis' → badge

Ziet

Wat we meten: alleen aanwezigheid op je eigen adres. Alleen met jouw toestemming. Jij kunt dit altijd stoppen en wissen. Eén knop: Start verificatie.

Voelt

Dat er minder bewaard wordt dan haar telefoon de hele dag al doet.

Doet

Start verificatie.

Data
  • POST /api/huizen/h01/woonverificatie/start
Verbergt
  • het uitleg-blok mag korter; de locatievraag zelf nooit
Ik ben thuis — Woonverificatie
opname volgt
/verifieer · 390 px

4.4

Ik ben thuis

Woonverificatie /verifieer Sanne Kramer

adres → start → 'Ik ben thuis' → badge

Ziet

Je verificatie loopt. De knop Ik ben thuis; na de locatievraag: Locatie klopt — deze check-in telt mee. Een teller van dagen en nachten met een match.

Voelt

Dat het klopt, en dat er verder niets gebeurd is.

Doet

Tikt Ik ben thuis; de browser vraagt om locatie.

Data
  • POST …/woonverificatie/checkin {lat, lon} → server vergelijkt met huis.coordinaat, bewaart alleen match ja/nee + tijdstip + nacht (D42)

Ontbreekt

WatWieWanneer
In een zaal faalt de locatie: opname verplicht (thuis, op het echte adres).presentatie-agentW6
Copy: 'Je verificatie loopt: 1 dagen onderweg' — enkelvoud/meervoud in de i18n-regel.dev-spoorW2
De badge — Mijn huis
opname volgt
/mijn-huis · 390 px

4.5

De badge

Mijn huis /mijn-huis Sanne Kramer

held-beeld · de deur · dossier als één vel

Ziet

Op Mijn huis: Woonverificatie · Nog niet geverifieerd → Wordt opgebouwd → brons (14 dagen) → zilver (8 weken) → goud (6 maanden), goud met de gouden band.

Voelt

Dat vertrouwen groeit, niet wordt gekocht.

Doet

Niets; dit is de eindstaat.

Data
  • GET …/woonverificatie/status → badge uit dagen en nachten met match (60%-eis)

Ontbreekt

WatWieWanneer
Binnen de pitch is er geen weg naar goud. Een tweede eigenaar-persona die al goud is (demo-data), zodat de eindstaat te tonen is naast Sanne's beginstaat.ux-data (seed) + dev-spoorW2

5 Flow 5 van 6 wacht

Premium en Mi Data

Wij weten niet wat een Nederlander hiervoor wil betalen. Dus meten we het.

desktop, dan Beheer tom → beheer 45 s 5 momenten

Gevoel Dit team meet zichzelf.

“Elke klik op deze muur telt mee, en hier ziet u de teller. Op 1 november is dat nul. Op 1 februari is het een getal, en dan weten we het.”

Gesprek — Scène 4 · Wat ertussen zit

  • E U heeft net drie dingen gezien die los van elkaar niets betekenen. Een adres. Een bouwjaar. Een vrouw die een stap opzij deed.

    You have just seen three things that mean nothing on their own. An address. A year of construction. A woman who stepped aside.

  • E Wij bewaren ze niet als drie dingen. Wij bewaren wat ertussen zit. Dat zij hier woont en waarom ze dit huis ooit koos. Dat haar achterkamer onder een plat dak op het zuiden ligt. En dat ze zich daar twee zomers aan ergerde.

    We do not keep them as three things. We keep what sits in between. That she lives here, and why she once chose this house. That her back room sits under a flat roof facing south. And that two summers there annoyed her.

  • E Ieder mens heeft zo'n web, en geen twee zijn hetzelfde. Wij zetten niemand in een hokje. Maar in duizend van die webben keren kleine vormen terug. Een trap. Een knie.

    Everyone has a web like that, and no two are the same. We put no one in a box. But across a thousand of those webs, small shapes come back. A staircase. A knee.

  • WIJ Wij verkopen nooit een adres en nooit een lijst met mensen. Een vakmens krijgt één vrijgegeven zin, en betaalt een vast bedrag per introductie.

    We never sell an address and never a list of people. A tradesperson gets one released sentence, and pays a fixed fee per introduction.

  • E Anderen kennen de dingen. Wij kennen wat ertussen zit. Daar zit dit bedrijf.

    Others know the things. We know what sits in between. That is where this company sits.

Reageren is gratis, opvallen kost geld — De brief aan een huis (Tom)
opname volgt
/fan/h01 · 1440 px

5.1

Reageren is gratis, opvallen kost geld

De brief aan een huis (Tom) /fan/:id Tom Visser

zelfde route als fan-detail, gezien door de zoeker

Ziet

Onder de brief twee rustige regels met een slotje: Video toevoegen en Zet bovenaan de stapel.

Voelt

Dat de grens eerlijk ligt: tekst is gratis.

Doet

Vinkt Video toevoegen aan.

Data
  • sessie.premium = false → de muur opent
De Premium-muur — Premium-muur
opname volgt
/fan/h01 · 1440 px

5.2

De Premium-muur

Premium-muur (component) Tom Visser

mock, D44 · elke klik telt

Ziet

Dit is een Premium-functie. Reageren met tekst is altijd gratis; video en bovenaan staan is Premium. €5 per maand. Je koopt een profiel-upgrade, geen makelaarsdienst. Knop: Word Premium.

Voelt

Dat dit een echte vraag is, geen truc.

Doet

Klikt Word Premium.

Data
  • POST /api/premium/betaalmuur-getoond (teller)
  • POST /api/premium/word-premium → sessie.premium = true (teller conversies)
Verbergt
  • de bevestigingsstap 'dit is een demo, er wordt niets in rekening gebracht' → één klik

Ontbreekt

WatWieWanneer
De spreker zegt erbij dat de muur mock is (D44); dat staat nu ook in het script.Epitch
Premium — De brief aan een huis (Tom)
opname volgt
/fan/h01 · 1440 px

5.3

Premium

De brief aan een huis (Tom) /fan/:id Tom Visser

zelfde route als fan-detail, gezien door de zoeker

Ziet

De Premium-badge bij het formulier; de optie Video toevoegen staat aan.

Voelt

Dat het meteen werkt.

Doet

Gaat naar Ik → Mi Data & Partners.

Data
  • GET /api/ik → premium: true
Mi Data & Partners — Mi Data & Partners
opname volgt
/mijn-data · 390 px

5.4

Mi Data & Partners

Mi Data & Partners /mijn-data Tom Visser

vier toggles · wis alles

Ziet

Jouw data blijft van jou. Vier toggles: woonwensen naar een hypotheekverstrekker, energielabel naar een verduurzamingsadviseur, onderhoudsplan naar vakmensen, anoniem bijdragen aan de wijkscore. Onderaan: Wis alles wat je over mij hebt.

Voelt

Dat hij de knop heeft.

Doet

Zet de eerste toggle aan.

Data
  • PUT /api/midata/toggles {doel, aan} → teller per doel
  • in demo: 'Partner volgt' in plaats van de wachtlijstmelding
Verbergt
  • de wachtlijstmelding per partner

Gesprek

  • HUIS Dat schrijf ik op. Ik vergeet het anders.

    I'll write that down. Otherwise I forget.

Ontbreekt

WatWieWanneer
Het 'Alles wissen'-blok mag rustiger; het Ik-scherm ervoor is leeg en koud.presentatie-agentdag 5
Beheer: de tellers — Beheer
opname volgt
/beheer · 1440 px

5.5

Beheer: de tellers

Beheer /beheer Beheer

instellingen · tellers · meldingen · flyers · accounts

Ziet

Onboarding: profiel getoond, huis bewaard, afgehaakt. Premium: betaalmuur getoond, conversies. Mi Data: aantal per doel. Flyers, meldingen, accounts.

Voelt

Dat dit team zichzelf meet — de klik van net staat er.

Doet

Wijst naar de teller.

Data
  • GET /api/beheer/tellers (onboarding, premium, midata)
Verbergt
  • niets

Ontbreekt

WatWieWanneer
Vooraf opschonen: geen meldingen, inloglinks of testrommel die niet voor de zaal zijn (W6-checklist).presentatie-agentW6

Wat de demo verbergt, en wat nooit

Demo-modus verbergt presentatie, nooit gedrag. Wat de demo toont, werkt echt (D51). De toets: kan iemand uit de zaal zich achteraf bedrogen voelen? Dan blijft het staan.

Verbergt

  • AI-label op gegenereerde beelden
  • bron- en peildatumregels
  • matchbron-regel
  • bèta-streep en versiehash
  • betaalstap achter de Premium-muur
  • e-maillink-inlogpad ten gunste van persona's
  • drempeltekst onder drie fans
  • ingang 'Typ je adres' en 'Beheer' op Welkom

Nooit

  • de anonimiteit van fans
  • geen publieke fan-teller of ranglijst
  • de drie zichtbaarheidsstanden en 'Je kunt dit altijd terugzetten'
  • de fansdrempel als gedrag
  • meldknop en contactpunt
  • 'Dit is mijn huis' bij elk pand
  • de locatievraag bij woonverificatie
  • de adres-bevestigingsstap
  • dat er geen waardeschatting is
  • dat de Premium-muur mock is
  • dat de kernaanname niet gemeten is

Open punten

Alle ontbreekt-regels uit alle momenten, op een hoop en gegroepeerd op wie het oppakt. 22 punten.

presentatie-agent 9

WatWaarWanneer
Kaal formulier op een leeg scherm; dit moet het gevoel van de voordeur vasthouden (beeld, ritme).1 · Adres eerst — Adres typendag 4
Het profiel toont nu drie regels tekst; de luchtfoto en het passe-partout moeten hier het beeld dragen, zoals op Mijn huis.1 · Adres eerst — Het huisprofiel vult zichdag 4
De lijst is functioneel; het passe-partout ontbreekt op de miniaturen (te klein) — kandidaat voor grotere kaarten.2 · De wijk en het ♥ — Mijn lijst: 2 van 10 slotsdag 3
Op een echt netwerk met een echte telefoon meten (generale, W6).3 · De fans-loop — De kamer, ná Toms ♥W6
Na de claim opent het gewone verificatiescherm; het pand zelf (adres, luchtfoto) hoort daar in beeld te staan.4 · Claim en woonverificatie — Dit is mijn huisdag 5
Kaal; de adresstap mag hier overgeslagen worden als het huis al bekend is.4 · Claim en woonverificatie — Stap 1 · adresdag 5
In een zaal faalt de locatie: opname verplicht (thuis, op het echte adres).4 · Claim en woonverificatie — Ik ben thuisW6
Het 'Alles wissen'-blok mag rustiger; het Ik-scherm ervoor is leeg en koud.5 · Premium en Mi Data — Mi Data & Partnersdag 5
Vooraf opschonen: geen meldingen, inloglinks of testrommel die niet voor de zaal zijn (W6-checklist).5 · Premium en Mi Data — Beheer: de tellersW6

dev-spoor 5

WatWaarWanneer
De suggestielijst is een mock van 21 adressen; 'Wittevrouwensingel 20' wordt stil nummer 14. Sinds Sanne op Wilhelminapark 25 staat geldt hetzelfde binnen één straat: wie 'Wilhelminapark 45' typt (huis h04) krijgt stil nummer 25 terug, want bij gelijke straatnaam wint de eerste in de lijst. Adres-eerst moet in de wijkdata zoeken en nooit stil een ander nummer bevestigen.1 · Adres eerst — Adres typenW2
De luchtfoto-URL uit het importscript bakt 320×320 in (server/proef/importeer-wijk.mjs regel 169); de client vraagt nu zelf 512/768 — bij een serverwijziging vierkant houden, anders geeft PDOK een leeg beeld.2 · De wijk en het ♥ — De wijk: WittevrouwenW2, niet blokkerend
Tom is in de seed al fan van h01. Voor het live-moment mag hij dat bij de start niet zijn (nu: eerst een DELETE).2 · De wijk en het ♥ — Het ♥vóór W4
Buiten de app: dezelfde notificatie per e-mail (Resend), zodat een fan die de app dicht heeft het ook hoort.3 · De fans-loop — Bij Tom komt het bericht binnenW3
Copy: 'Je verificatie loopt: 1 dagen onderweg' — enkelvoud/meervoud in de i18n-regel.4 · Claim en woonverificatie — Ik ben thuisW2

E 2

WatWaarWanneer
Het matchpercentage staat op elke tegel; beslissen vóór W4 of het blijft (met uitleg door de spreker) of weggaat.2 · De wijk en het ♥ — Ontdekken: de galerijW4
De spreker zegt erbij dat de muur mock is (D44); dat staat nu ook in het script.5 · Premium en Mi Data — De Premium-muurpitch

dev-spoor / ux-data 1

WatWaarWanneer
Sanne staat sinds 20-09 op Wilhelminapark 25. Het bouwjaar klopt nu overal: 1910 in de keten én in Mijn huis. Wat blijft verschillen is het oppervlak — de BAG geeft 659 m² met een kantoor- en industriefunctie, Mijn huis toont 145 m² uit de seed. Dat is met opzet (demo-data, en zo wordt er geen bewoner belast), maar flow 1 en Mijn huis moeten dat wel op dezelfde manier zeggen: in demo-modus allebei uit de seed, met 'Mi casa su casa, demo' als bron (DEMO-MODUS §3a D1/D2).1 · Adres eerst — Het huisprofiel vult zichW2, vóór de generale

dev-spoor + presentatie-agent 1

WatWaarWanneer
Na een sollicitatie hoort de fan een naam en een verhaal te krijgen ('nu pas wordt hij een persoon'); de brief toont nu alleen de tekst, zonder afzender.3 · De fans-loop — Eén fanW2

regie 1

WatWaarWanneer
Afgerond (regiebesluit 20-09, vervangt D54): Sanne woont op Wilhelminapark 25, 3581 NE Utrecht. Het adres bestaat echt en PDOK kent het, dus de bevestiging komt gewoon uit de Locatieserver; de seed-terugval is hier geen noodgreep meer. Bouwjaar 1910 is echt; 145 m² en label C zijn demo-data uit de seed, met bron 'Mi casa su casa, demo' in de onderrand. Het pand heeft in het register een kantoor- en industriefunctie en geen woonfunctie — er wordt dus geen bewoner belast. Buiten demo-modus spreekt het echte gebouw (1910, 659 m², geen label). Blijft open: Tom zoekt in scène 3 in Wittevrouwen, terwijl Sannes pand in 'Wilhelminapark en omgeving' staat (server/data/wijk/wilhelminapark.json, 1.093 adressen).0 · De deur — De bevestigingvóór de generale

regie (script bijwerken) 1

WatWaarWanneer
Carmens straatzin komt uit de verhalenvoorraad (B1, 30 straten Wittevrouwen, bron en peildatum) en wijkt daarmee bewust af van de voorbeeldzin in pitch.json; het script volgt de voorraad, niet andersom.0 · De deur — De terugwisselW2

ux-data (seed) 1

WatWaarWanneer
Elk pand staat op 'nog stil': fans over de wijk verdelen (enkele tientallen panden 1–3 fans, een handvol meer).2 · De wijk en het ♥ — De wijk: WittevrouwenW2

ux-data (seed) + dev-spoor 1

WatWaarWanneer
Binnen de pitch is er geen weg naar goud. Een tweede eigenaar-persona die al goud is (demo-data), zodat de eindstaat te tonen is naast Sanne's beginstaat.4 · Claim en woonverificatie — De badgeW2

Metingen

Elk getal in dit storyboard komt hiervandaan, met bron en peildatum.

WatWaardeBronPeildatum
signaal op de telefoon, /fans, lokaal1,3 sgereedschap/live-loop.mjs, Chromium 153, lokaal via Vite-proxy2026-09-16
signaal op de telefoon, /mijn-huis, lokaal1,6 sgereedschap/live-loop.mjs, lokaal2026-09-16
signaal op de telefoon, /fans, demo.micasa.bijt.me door Caddy0,7 sgereedschap/live-loop.mjs tegen de demo-laag2026-09-16
eis uit het storyboard≤ 2 spitch/STORYBOARD.md, twee-schermen-choreografie2026-09-15
bericht bij Tom na 'Notificeer je fans', lokaal19 msPlaywright-meting agent Bericht.svelte, 17-09-2026, lokaal2026-09-17
adressen in de wijk Wittevrouwen2.977 op 40 stratenserver/data/wijk/wittevrouwen.json (BAG), GET /api/panden totaal2026-09-15
fans van Sanne's huis in de seed12server/data/seed.json2026-09-16
slots in de primaire lijst10 gratis · 50 premiumGET /api/instellingen2026-09-16
servertests96 van 96 groennpm test in server/, commit 6f73d892026-09-16