04 — Wat het huis weet en zegt
Onderzoeksagent 4 van 8 · 17 september 2026 · onderwerp: de inhoud van het gesprek — wat kan een huis in Mi casa su casa eerlijk weten, zeggen en doen?
Samenvatting
- Een huis in dit product weet precies vier soorten dingen: wat de registers over zijn stenen zeggen (BAG, EP-Online, PDOK, CBS), wat zijn eigenaar er zelf in heeft gezet (WOZ, taken, documenten), wat de app over de relaties eromheen bijhoudt (fans, zichtbaarheid, brieven, biedingen, badge), en niets anders.
- Het weet nadrukkelijk niet wat het waard is. Er is geen enkel endpoint dat een waarde
schat;
wozWaardeis een invulveld van de eigenaar (server/README.md:250). - Het weet wie zijn fans zijn, maar mag dat nooit uitspreken — alleen een initiaal, een
matchpercentage en een datum, en alleen tegen de eigenaar (
routes/huizen.mjs:123-138). - Er zijn twee sprekers die niets met elkaar te maken hebben: mijn huis (praat met zijn eigenaar, kent het hele dossier) en je toekomstige huis (praat met een zoeker, kent uitsluitend openbare gebouwdata en spreekt nooit namens de eigenaar).
- Bij de tweede spreker zit het hele risico van dit concept. Eén regel houdt hem tegen: ik ben het gebouw, niet de bewoner.
- De vijf pitch-flows laten zich alle vijf als een gesprek van vier tot acht beurten schrijven zonder dat er één API-aanroep bij hoeft; het gesprek vervangt de navigatie, niet het gedrag.
- Zestien "tools" volstaan om die vijf flows te voeren. Acht daarvan muteren en vragen dus altijd een expliciete bevestiging van de mens.
- Drie momenten zijn beter zónder tekst: het getal dat verschuift, de stilte na het ♥, en de seconde na "Ik ben thuis".
- Het onderzoek dwingt één gespreksregel af die niets met stem te maken heeft: een cijfer komt
nooit alleen — signaal plus precies één stap, of niets (
onderzoek/SYNTHESE.md, C-SYN-004). - De grootste feitelijke valkuil zit niet in privacy maar in eerlijkheid: het huis mag geen bron noemen die het niet heeft, en de demo mag die bron verbergen maar nooit verzinnen.
Bevindingen
1 · Kennisinventaris — wat het huis weet, en tegen wie het dat mag zeggen
Zekerheid volgt de kennisbank: A = geregistreerd feit met peildatum, B = berekend uit A-gegevens, C = door een mens ingevoerd, D = demo-/seedwaarde.
| Wat | Bron | Zek. | Eigenaar | Zoeker | Gast | Bewijs |
|---|---|---|---|---|---|---|
| Bouwjaar, oppervlak, gebruiksdoel, status | BAG (sleutel of OGC) | A | ✅ | ✅ | ✅ | README.md:682-731, data/wijk/wittevrouwen.json |
| Coördinaat / centroid | BAG-OGC, PDOK | A | ✅ intern | ⛔ nooit uitspreken | ⛔ | README.md:432-440 |
| Energielabel + peildatum + geldigTot | EP-Online | A | ✅ | ✅ | ✅ | README.md:358-376 |
| "Geen label geregistreerd" / "sleutel ontbreekt" | EP-Online | A | ✅ | ✅ | ✅ | README.md:371-379 |
| Luchtfoto (echt, geen AI-gevel) | PDOK WMS | A | ✅ | ✅ | ✅ | README.md:778-784, D9/D41/D54 |
| Buurt + gemeente + buurtcode | CBS Wijken en Buurten | A | ✅ | ✅ | ✅ | README.md:770-777 (BU03440433) |
| WOZ-waarde | eigenaar zelf, WOZ-loket | C | ✅ | ⛔ | ⛔ | README.md:250, i18n/nl.json → mijnHuis.wozUitleg |
| Onderhoudstaken + deadline + afgevinkt | eigenaar | C | ✅ | ⛔ | ⛔ | routes/taken.mjs:11-56 |
| Documenten (alleen metadata, geen bestand) | eigenaar | C | ✅ | ⛔ | ⛔ | routes/documenten.mjs, S7/D31 |
| Energieverbruik gas/stroom, isolatie | seed | D | ✅ | ✅ | ✅ | data/seed.json h01 |
| Aantal actieve fans van een huis | app | B | ✅ | ⛔ | ⛔ | routes/huizen.mjs:118-123 (403) |
| Aantal fans van een pand in de wijk | app | B | ✅ | ✅ | ✅ | routes/panden.mjs:42-53, publiek per README.md:282 |
| Fan: initiaal, matchpercentage, "fan sinds" | app | B | ✅ | ⛔ | ⛔ | routes/huizen.mjs:126-138 |
| Wie die fan is (naam, persoonId) | app | A | ⛔ tot hij zelf schrijft | ⛔ | ⛔ | D6/M5, FUNCTIEKAART.md §NIET |
| Zichtbaarheid (onzichtbaar/stil/overweegt) | eigenaar | C | ✅ | ✅ afgeleid | ✅ afgeleid | routes/huizen.mjs:77-94 |
| Sollicitaties (tekst, status, naam afzender) | zoeker | C | ✅ | eigen brief | ⛔ | routes/sollicitaties.mjs:55-72 |
| Biedingen (bedrag, bericht, status) | zoeker | C | ✅ | eigen bod | ⛔ | routes/biedingen.mjs:45-56 |
| Woonverificatie: dagen/nachten met match, badge | app | B | ✅ | ⛔ | ⛔ | README.md:441-452 |
| Slots: gebruikt / limiet / premium | app | B | eigen | eigen | ⛔ | README.md:732-756 |
| Droomprofiel + matchpercentage | zoeker | B | ⛔ (alleen % per fan) | eigen | ⛔ | routes/droomprofiel.mjs, lib/match.mjs |
Wat het huis uitdrukkelijk niet weet. Zijn waarde (geen AVM, geen schatting, ooit — harde
grens 7 en FUNCTIEKAART.md §NIET "Waardedashboard"). Waar iemand is geweest: de woonverificatie
bewaart alleen { tijdstip, match, nacht }, nooit een coördinaat (README.md:424-428). Wie er
woont: de wijkdata bevat "geen persoonsgegevens: alleen adres + gebouwdata" (README.md:770-771).
Wat de eigenaar wil: er bestaat geen veld "verkoopwens" buiten de drie zichtbaarheidsstanden die
hij zelf zet.
Wat het nooit hardop mag zeggen. (a) Een waardebedrag of -richting. (b) Wie een fan is, ook
niet indirect ("iemand uit jouw straat", "een gezin met kinderen"). (c) Iets over de bewoners van
een adres in de wijk. (d) Iets namens de eigenaar — inclusief "hij zou misschien wel willen".
(e) Een bron die het niet heeft: de seed-waarde energielabel: "C" mag niet als "volgens
EP-Online" worden uitgesproken; dat is precies de fout die in README.md:404-410 is gecorrigeerd
naar bron-tekst "demo".
Eén ongemakkelijke asymmetrie, nu al in de code. Het fan-aantal van een huis is 403 voor
iedereen behalve de eigenaar, maar het fan-aantal van een pand in de wijk staat publiek in
GET /api/panden en wordt zelfs op de flyer gedrukt ("Dit huis heeft N fans",
README.md:869). Op het scherm is dat gedempt door de drempelregel D12
(web/src/lib/fansTekst.js:13-33: onder drie fans een woord, nooit een getal). Uitgesproken is
hetzelfde getal veel luider dan getoond. Zie aanbeveling 3.
2 · Twee sprekers, scherp onderscheiden
(a) "Mijn huis" — praat met zijn eigenaar. Kent het volledige dossier hierboven. Toon: warm,
traag, nooit aandringend. Mag zeggen: "twaalf mensen hebben mij in hun lijst", "je CV-ketel moet
vóór 20 september gekeurd", "je label is C, peildatum 15 januari", "je verificatie staat op elf
dagen". Mag niet: adviseren om te verkopen, een prijs noemen, of de fans karakteriseren.
De bestaande belofte is al geschreven en hoeft alleen uitgesproken te worden: "Alleen jij ziet
dit. Wie het zijn, blijft geheim tot iemand zelf reageert." (i18n/nl.json → fans.alleenJij).
(b) "Je toekomstige huis" — praat met een zoeker over een huis van iemand anders. Dit is het
risico. Als dit huis ook maar één keer klinkt alsof de eigenaar meeluistert of iets wil, hebben we
precies gebouwd wat het onderzoek als "niet bouwen" markeert: ongevraagd contact met eigenaren en
fan-identiteit zonder sollicitatie (FUNCTIEKAART.md §NIET).
Wat (b) wél mag zeggen: openbare gebouwdata over zichzelf (bouwjaar, oppervlak, label, luchtfoto, buurt, met bron en peildatum); iets over de wijk als plek (40 straten, 2.977 adressen, hoe oud de straat is); dat het niet te koop staat — onomwonden: "Ik sta niet te koop. Dat verandert misschien nooit."; wat een ♥ doet en niet doet; dat er een meldknop is en dat elk adres een "Dit is mijn huis"-knop heeft.
Wat het ♥ wél en niet doet, in de woorden van het huis: "Je legt mij in je lijst van tien. Wie
hier woont ziet dat het aantal met één opschuift — niet dat jij het was, niet wanneer, niet
waarom. Als hij ooit besluit dat hij wil verkopen, krijg jij daar één bericht over. Pas als jij
dan zelf schrijft, weet hij hoe je heet." Dat is letterlijk het gedrag van POST .../fan →
SSE fan-nieuw → POST .../notificeer → POST /api/sollicitaties, en het staat al in
i18n/nl.json (fanDetail.nogStil, bericht.uitleg, fanDetail.schrijfUitleg).
De grens in één regel, systeemprompt-klaar:
Ik ben het gebouw, niet de bewoner: ik zeg alleen wat openbaar over mijn stenen geregistreerd staat, ik weet niets over wie hier woont, en ik spreek nooit namens mijn eigenaar — over verkopen zeg ik uitsluitend de stand die hij zelf heeft gezet.
3 · De vijf pitch-flows als gesprek
Momenten en panelen volgen storyboard/model.mjs; het gesprek vervangt de navigatie, niet het
gedrag.
Flow 1 · Adres eerst (gast → Sanne, telefoon, ±50 s)
| # | Wie | Beurt (kort) | Paneel | API |
|---|---|---|---|---|
| 1 | app | "Typ je adres. Geen account nodig." | leeg passe-partout | — |
| 2 | mens | "Wittevrouwensingel 84" | invoerregel | POST /api/adres/zoek |
| 3 | huis | "Bedoel je Wittevrouwensingel 84, 3581 GB Utrecht?" | de bevestigingsvraag | (suggestie uit 2) |
| 4 | mens | "Ja, dat klopt" | — | GET /api/adres/huisprofiel + GET /api/adres/energielabel |
| 5 | huis | "Ik ben van 1932. 145 m². Label C. Dit is mijn dak van boven." | passe-partout met luchtfoto vult zich | POST /api/onboarding/profiel-getoond |
| 6 | huis | "Wil je mij bewaren? Dan onthoud ik dit voor je." | één knop | POST /api/onboarding/bewaard → POST /api/login |
| 7 | huis | (stil) | de deur met het getal verschijnt | GET /api/huizen/h01 |
De bevestigingsstap in beurt 3 is gedrag, geen presentatie (M2, D51) — het gesprek mag hem nooit wegoptimaliseren, ook al "weet" een taalmodel het adres al.
Flow 2 · De wijk en het ♥ (Tom, desktop, ±60 s)
| # | Wie | Beurt | Paneel | API |
|---|---|---|---|---|
| 1 | app | "Dit is geen selectie. Dit is de wijk." | wijk-galerij per straat | GET /api/panden?limiet=200 |
| 2 | mens | "Laat me Wittevrouwensingel zien" | straat als hoofdstuk | GET /api/panden?straat= |
| 3 | pand | "1932, 145 m². Ik sta niet te koop. Dat verandert misschien nooit." | luchtfoto in passe-partout | GET /api/panden/:id |
| 4 | mens | "Deze wil ik onthouden" | ♥ klopt één keer, twee gouden ringen | POST /api/huizen/h01/fan → SSE fan-nieuw |
| 5 | huis | "Je hebt nog acht plekken over." | slotteller "2 van 10" | GET /api/mijn-lijst |
| 6 | huis | (stil — kijk naar de telefoon) | — | — |
Bij 409 SLOTS_VOL verandert beurt 5 in: "Je tien plekken zijn vol. Haal er een weg, of neem er
vijftig." — met de Premium-muur als paneel, nooit als belofte.
Flow 3 · De fans-loop (Sanne + Tom, ±70 s)
| # | Wie | Beurt | Paneel | API |
|---|---|---|---|---|
| 1 | mijn huis | "Twaalf mensen hebben mij in hun lijst. Alleen jij ziet dit." | de deur met het getal | GET /api/huizen/h01/fans |
| 2 | — | (stilte, 2 s) het getal schuift naar 13 | de kamer, nachtblauw | SSE fan-nieuw |
| 3 | mijn huis | "Er is iemand bij gekomen. Vandaag." | nieuwkomer met gouden rand, "Iemand · T." | (fanlijst opnieuw) |
| 4 | mens | "Wie is dat?" | — | — |
| 5 | mijn huis | "Dat weet ik niet, en ik ga het niet raden. Je ziet pas wie het is als hij zelf schrijft." | het dossier-vel van één fan | — |
| 6 | mens | "Ik overweeg te verkopen" | de drie zichtbaarheidsstanden | PUT .../zichtbaarheid → SSE |
| 7 | mijn huis | "Dan kan ik ze één bericht sturen. Anoniem — zij weten niet wie je bent. Zal ik?" | knop Notificeer je fans | POST .../notificeer (na "ja") |
| 8 | toekomstig huis (bij Tom) | "De eigenaar overweegt te verkopen. Wil je schrijven? Alleen hij leest het, en je naam gaat mee." | de brief | POST /api/sollicitaties |
Beurt 5 is de pitch. Beurt 7 is twee handelingen (stand zetten, bericht sturen) en dus twee
bevestigingen — de API dwingt dat al af: notificeren geeft 409 als de stand niet
overweegt-verkoop is (routes/huizen.mjs:213-218).
Flow 4 · Claim en woonverificatie (Sanne, telefoon, ±40 s)
| # | Wie | Beurt | Paneel | API |
|---|---|---|---|---|
| 1 | mens | "Dit is mijn huis" | pand in de wijk-galerij | POST /api/panden/:id/claim |
| 2 | huis | "Dan moet ik weten dat je hier echt woont. Ik meet alleen of je op je eigen adres bent." | het uitleg-vel | — |
| 3 | huis | "Ik bewaar nooit wáár je bent — alleen of het klopte en wanneer. Stoppen en wissen kan altijd. Zullen we beginnen?" | knop Start verificatie | POST .../woonverificatie/start |
| 4 | mens | "Ik ben thuis" | browser vraagt om locatie | POST .../woonverificatie/checkin |
| 5 | huis | "Klopt. Deze telt mee." (verder niets) | teller dagen/nachten | (respons uit 4) |
| 6 | huis | "Over veertien dagen, als het meestal klopt, krijg ik brons." | de badge op Mijn huis | GET .../woonverificatie/status |
Flow 5 · Premium en Mi Data (Tom → beheer, ±45 s)
| # | Wie | Beurt | Paneel | API |
|---|---|---|---|---|
| 1 | toekomstig huis | "Schrijven kost niets. Video en bovenaan staan wel." | de brief met twee opties + slotje | — |
| 2 | mens | vinkt "Video toevoegen" aan | de Premium-muur schuift open | POST /api/premium/betaalmuur-getoond |
| 3 | app | "€5 per maand. Je koopt een profiel-upgrade, geen makelaarsdienst." | Premium-muur | POST /api/premium/word-premium (na "ja") |
| 4 | app | "Jouw data blijft van jou. Vier dingen kun je delen, en geen enkele partner is al aangesloten." | de Mi Data-toggles | GET /api/mijn-data |
| 5 | mens | "Zet die eerste aan" | toggle | PUT /api/mijn-data → nieuwOpWachtlijst |
| 6 | app | "Dan sluiten we die partner later aan; je staat op de wachtlijst. Wis alles wat hier staat kan altijd." | wis-knop | DELETE /api/mijn-data (na "ja") |
| 7 | beheer | "Die klik van net staat hier." | de tellers | GET /api/premium/tellers |
4 · De gereedschapskist van het huis
| # | Tool | Wat het doet | Endpoint(s) | L/M | Bevestiging |
|---|---|---|---|---|---|
| 1 | adres_bevestigen |
zoekt het adres, stelt de "bedoel je …?"-vraag, meldt regio/wachtlijst | POST /api/adres/zoek |
L | de vraag zelf is verplicht (M2) |
| 2 | huisprofiel_lezen |
bouwjaar, oppervlak, label, luchtfoto, mét bron en peildatum | GET /api/adres/huisprofiel, GET /api/adres/energielabel |
L | nee |
| 3 | wijk_doorlopen |
bladert door 2.977 adressen, per straat of zoekterm | GET /api/panden, /panden/:id |
L | nee |
| 4 | huis_lezen |
detail en ontdekken-volgorde uit het droomprofiel | GET /api/huizen, /huizen/:id |
L | nee |
| 5 | dossier_lezen |
taken met deadline, documentnamen, verificatiestatus | GET /api/onderhoudstaken, /documenten, .../woonverificatie/status |
L | nee |
| 6 | fans_lezen |
aantal + geanonimiseerde lijst; eigenaar-only, 403 voor de rest | GET /api/huizen/:id/fans |
L | nee |
| 7 | lijst_lezen |
eigen primaire lijst en slotstand | GET /api/mijn-lijst |
L | nee |
| 8 | hart_zetten / hart_weghalen |
♥ op huis of pand; bij 409 SLOTS_VOL de Premium-muur, bij "ja" de upgrade |
POST/DELETE .../fan, POST /api/premium/* |
M | ja, en apart voor premium |
| 9 | zichtbaarheid_zetten |
zet onzichtbaar / stil / overweegt-verkoop | PUT .../zichtbaarheid |
M | ja, altijd met "je kunt dit terugzetten" |
| 10 | fans_notificeren |
één anoniem bericht naar alle fans | POST .../notificeer |
M | ja, los van 9 |
| 11 | brief_versturen |
de sollicitatie; hierna is de fan een persoon | POST /api/sollicitaties |
M | ja, tekst eerst teruglezen |
| 12 | bod_versturen |
bod met bedrag | POST /api/biedingen |
M | ja, bedrag hardop herhalen |
| 13 | woz_en_dossier |
WOZ invullen, taak toevoegen/afvinken, document-metadata | PUT .../woz-waarde, POST/PATCH /api/onderhoudstaken, POST /api/documenten |
M | ja (licht) |
| 14 | claim_en_verificatie |
claimt een pand, start, meet, stopt-en-wist | POST /api/panden/:id/claim, .../woonverificatie/start|checkin, DELETE .../woonverificatie |
M | ja per meting; stoppen nooit tegenhouden |
| 15 | midata_en_wissen |
vier toggles; "wis alles wat hier staat"; account wissen | GET/PUT/DELETE /api/mijn-data, DELETE /api/ik |
M | ja, wissen letterlijk uitspreken wat wél en niet weggaat |
| 16 | melden |
meldknop naar de founders, ook zonder account | POST /api/meldingen |
M | ja, de mens formuleert zelf |
Regel voor alle acht muterende tools: het huis stelt voor en vraagt, het voert nooit uit op basis van een geïnterpreteerde wens. En één die verder gaat dan de code: het huis mag nooit uit zichzelf voorstellen om te verkopen, te notificeren of te bieden — die drie beginnen altijd bij de mens.
5 · Waar het gesprek zwijgt
- Het getal dat verschuift. Van 12 naar 13 is het hele bedrijf. Eén klop van het hart, geen zin erboven. Wat gezegd moet worden, staat er al: "Iemand · T. · fan sinds vandaag."
- De stilte na het ♥. Tom klikt, en dan is het twee seconden stil terwijl de telefoon
beweegt (gemeten: 0,7 s op de demo,
model.mjs§metingen). Elke gesproken bevestiging haalt dit moment kapot. - Na "Locatie klopt." Drie woorden, dan niets. De boodschap is dat er niets gebeurde.
- Bij nul fans. D12 verbiedt het getal; het gesprek moet dan ook niet gaan troosten. Eén woord op het scherm ("nog stil"), geen zin.
- Als de mens niets vraagt. Op Mijn huis is de deur met het getal een rustbeeld, geen opening voor een praatje.
- Bij een melding. Na "Bedankt — je melding is bij de founders binnen" zwijgt het huis; het oordeelt niet mee.
Wat dit betekent voor Mi casa
Het gesprek maakt de belofte van dit product hoorbaar én maakt hem scherper toetsbaar. Getoonde
informatie is vluchtig; uitgesproken informatie klinkt als een bewering. Dat werkt twee kanten op.
Het sterkt de kern — "iemand droomt van jouw huis" is een zin, geen scherm, en hij is eindelijk op
zijn plaats. Het verzwaart tegelijk elke grens: een matchpercentage dat op een tegel staat is een
cijfer, maar uitgesproken ("jij past voor 94% bij dit huis") is het een oordeel over mensen, en dat
is precies wat FUNCTIEKAART.md bij de matchscore als risico markeert. De gespreksvorm is daarmee
geen laagje over de app: hij dwingt af dat elke zin een bron of een besluit van de gebruiker achter
zich heeft. Dat past exact op de bestaande regel M12/D13 ("elk getal draagt zijn bron") en op
C-SYN-004 ("signaal plus precies één stap, of niets") — de ene ontwerpregel die volgens de synthese
door álle functies heen loopt. En het past op E's eigen oordeel over "je verkoopt herinneringen,
geen stenen": dat is taal, geen mechaniek (FUNCTIEKAART.md §Buiten scope). Een pratend huis is de
zuiverste vorm van die taal — zolang het geen mechaniek wordt die namens iemand onderhandelt.
Aanbevelingen
- Leg de twee sprekers vast als twee systeemprompts, niet als één met een rolvariabele. De
eigenaarsstem heeft het dossier; de zoekersstem heeft uitsluitend
GET /api/panden/:id+GET /api/adres/huisprofielen mag de fans-, sollicitatie-, biedingen- en verificatie-tools fysiek niet in zijn gereedschapskist hebben. Rechten afdwingen in de toolset, niet in de tekst. - Neem de ene grensregel letterlijk over (§2, "Ik ben het gebouw, niet de bewoner") en toets elke gegenereerde zin van spreker (b) ertegen in de bouwfase.
- Besluit vóór W4 of het fan-aantal van een vreemd pand hardop mag. Het staat nu publiek in de API en op de flyer, maar uitgesproken is het luider. Voorstel: tonen mag (drempel D12), zeggen niet — het huis noemt het alleen als de mens er zelf naar vraagt, en nooit met een kwalificatie.
- Laat de stem
web/src/lib/fansTekst.jsgebruiken, niet het ruwe getal. Eén plek voor de drempelregel is precies waarom dat bestand bestaat; een tweede plek in de prompt is een tweede plek om het fout te doen (en demo-modus overrulet het daar al correct). - Verbied bronvermelding zonder bron. Het huis zegt "bron EP-Online, peildatum X" alleen als het endpoint die peildatum teruggaf; bij een seed-waarde zegt het niets of "dit is demo-data". Demo-modus mag de bronregel verbergen — nooit een bron verzinnen (D51/D51b).
- Maak de bevestiging van de acht muterende tools tekstueel ondubbelzinnig: de mens hoort wat
er gaat gebeuren, tegen wie, en dat het terug kan. Bij
DELETE /api/mijn-datamoet het huis er expliciet bij zeggen dat dit alléén de toggles wist — de server doet niet meer dan dat (README.md:508-511). - Los de bouwjaar-tegenspraak op vóór de generale. BAG geeft voor Wittevrouwensingel 84
bouwjaar 2002 en 1.425 m², terwijl Mijn huis 1932 en 145 m² toont (
model.mjs, flow 1, moment profiel). Een pratend huis dat in flow 1 iets anders over zichzelf zegt dan in flow 3 is dodelijk voor het vertrouwen dat deze pitch juist wil kopen.
Open vragen
- Mag het huis zijn eigen matchpercentage uitspreken? Op de tegel staat het nu; hardop wordt
het een oordeel. E moet dit vóór W4 beslissen (staat al als open punt in
model.mjs, flow 2). - Wat zegt het huis als het label ontbreekt? "Ik heb geen geregistreerd energielabel" is eerlijk, maar klinkt als een gebrek. Copy-vraag voor de schrijfagent.
- Wie is de spreker bij een pand zonder eigenaar? Flow 1 en flow 4 laten een adres praten dat nog van niemand is. Is dat hetzelfde personage dat na de claim "mijn huis" wordt, of een derde stem? Niet in de code beslist.
- Mag een gesproken bericht de e-mailnotificatie vervangen?
model.mjsnoemt de e-mail bij "Notificeer je fans" als ontbrekend (W3); een gesprek bereikt alleen wie de app open heeft. - Hoe gedraagt het gesprek zich in demo-modus? D51 zegt: presentatie verbergen, gedrag nooit. Voor tekst is die grens vager dan voor een label — een kortere zin is presentatie, een weggelaten toestemmingsvraag is gedrag.
- Telt een gesproken bevestiging als toestemming bij de locatievraag en bij Mi Data? De browser vraagt het zelf al; twee vragen achter elkaar kan als drempel of als dubbel voelen.
Bronnen
~/Developer/mi-casa-presentatie/server/README.md— volledige API (endpointtabel r. 228-301), §Energielabel (358), §Woonverificatie (411), §Premium-PoC (470), §Mi Data (491), §Meldingen (513), §Demo-modus (591), §Adres eerst (682), §Primaire lijst (732), §Hyperlokale zandbak (761).~/Developer/mi-casa-presentatie/server/routes/—huizen.mjs(fans 403 + anonimisering r. 118-140, notificeer r. 207-224),panden.mjs(r. 42-53 publieke teller),sollicitaties.mjs,biedingen.mjs,woonverificatie.mjs,midata.mjs,meldingen.mjs,omgeving.mjs,auth.mjs.~/Developer/mi-casa-presentatie/server/data/seed.json— h01 (1932, 145 m², label C, WOZ 783.000, 12 fans), fans metverhaal, sollicitaties, biedingen, taken, documenten.~/Developer/mi-casa-presentatie/server/data/wijk/wittevrouwen.json— 2.977 adressen, buurtcode BU03440433, per adres bouwjaar/oppervlak/status/centroid/luchtfotoUrl.~/Developer/mi-casa-presentatie/web/src/i18n/nl.json— alle bestaande teksten.~/Developer/mi-casa-presentatie/web/src/lib/fansTekst.js,web/src/lib/demo.js— drempel D12 en wat demo-modus verbergt.~/Documents/mi-casa-presentatie/storyboard/model.mjs— schermen, vijf flows, momenten, signalen,demoModus.verbergt/demoModus.nooit, metingen.~/Documents/mi-casa-su-casa/DECISIONS.md— D6, D9, D12, D13, D14, D15, D26, D29, D41, D42, D44, D45, D46b, D51, D51b, D54, D55.~/Documents/mi-casa-su-casa/onderzoek/FUNCTIEKAART.md— M1-M12, S1-S8, §NIET.~/Documents/mi-casa-su-casa/onderzoek/SYNTHESE.md— H-SYN-001, C-SYN-002, C-SYN-004.~/Documents/mi-casa-su-casa/onderzoek/visie/T-VIS-001-overzicht-ideeen-e.md— N-VIS-004, N-VIS-011, N-VIS-013, N-VIS-014.~/Documents/mi-casa-su-casa/onderzoek/doelgroep/P-DGP-001/002/003— de drie persona's.~/Documents/mi-casa-su-casa/pitch/VERHAAL.md— "Niet wíe. Alleen dát."