Place Journey v2 — master-plan SSOT

Fresh journey mockup, premium component system only. Governed by build/place-pages/master-plan/ — each screen implements its council decision sheet verbatim (✅ rulings only; ⏳/🚫 absent by design). C13-amended / DECISIONS #8: ONE language per screen — the app renders a single locale via i18n (12 locales); frames are English, plus one hi-locale reference frame. Currently: S1 Entry + Set-your-place (5 states + locale check), S2 Intro (the carousel is dead — land on the page, a ~40% sheet does the talking; 3 states + locale check) and S3 Adaptive landing + place header (THE HEADER DIET — top bar → counted ladder → Today strip → sticky tabs, ≈230px vs 510px; identity blocks move into Overview; 5 states + locale check) and S4 Overview tab content (identity blocks first; ONE builder/consumer reorder at 60%; ONE consolidated builder card; directory trust anatomy — checkmark only on claimed, no party on administrative roles, no dead call chips; hybrid local places + POI sheet; 4 states + locale check). Later screens land here as their councils rule.

‹ All screensS4·F Shell · 0%S4·A Overview · builderS4·B Overview · richS4·C POI sheetS4·D Row statesS4·E hi locale check
S4 · overview · shell (elections-seeded ~20%)

First user confirms home — MLA & MP already here, Panchayat layer empty

Real starting state: MLA and MP data is system-seeded from election records for all locations — so the directory is never truly empty. Completeness starts at ~20% (2 system rows of ~10 expected). What's missing: Mukhiya, ward members, GRS, SHO, photo, About, POIs. What shows: hero stub + breadcrumb + census stats + constituency chips (from election data) + builder card with Panchayat-focused chips + directory showing MLA+MP as dataOnly rows (B6 — no checkmark, "from election records" attribution, B10) with Mukhiya/ward-member vacant below. Panchayat roles hidden until first data point added — showing N empty roles at once is overwhelming; the builder card chips guide one step at a time. Today strip = muted zeros (no posts yet). Test cases: (1) first user confirms village → this state; (2) Mukhiya added → exit shell, Mukhiya row fills, completeness +15%; (3) location has no MLA/MP mapping (data gap) → only census shell, builder card starts with MLA chip first.

3:42
••••≋▮

Bheldi Village

Home · Resident
BheldiVillagenew GarkhaBlockquiet SaranDistrict140 BiharState2.1k
—
Feed
—
Issues
0
Seva · start
Overview
Feed
Issues
People
STICKY
Add a photo ★ +10 Seva
Bihar›Saran›Garkha›Bheldi
VidhansabhaMarhaura Lok SabhaSaran
village of 4,200 892 households
Bheldi info 20%
MLA and MP are here from election records. Add the Panchayat layer — your neighbours need it most.
Add your Mukhiya ★ +15 Seva
Add a photo ★ +10 Seva
See what Bheldi needs
Bheldi's offices2 of ~8By residents
JR
MLA · Marhaura Vidhansabha
Jitendra RaiJDU
from election records · Elected 2020
RP
MP · Saran Lok Sabha
Rajiv PratapBJP
from election records · Elected 2024
Mukhiya · Gram Panchayat
Add your Mukhiya
Add ★ +15
S4 · overview · builder (38%)

One builder card, honest rows — 38% village

Implements A1 identity blocks first · A2 at 38% builder card leads · A3 ONE card: bar + dynamic top-2-3 chips (system picks highest-priority missing fields from a priority-ordered list; chips update as items are filled — these 3 are a snapshot of "top missing at 38%") + "See all missing →" for the full list (S5 scope). Directory rule: filled rows + ONE next-prompt only — never dump N blank rows; GRS appears only after ward members are added. Builder card chips are dynamic: priority order = Mukhiya(+15) → ward-members(+15) → photo(+10) → SHO(+10) → GRS(+10) → about(+10) → local places(+10) → … ; top 2-3 still-missing items show; card advances to celebration badge at 100% then disappears. B6 Mukhiya = dataOnly, no checkmark · B10 inline attribution · B8 no dead call on vacant · ward members = grouped row (0 of N, scales to any panchayat size) · B9/B7 SHO = appointed, no party · B15 2 POIs = flat chips. Steward tools removed from card — lives in ⋯ menu (role-gated). Today cell 3 = personal Seva (not page %, which lives in the card). Tall frame = full Overview scroll.

3:42
••••≋▮

Bheldi Village

Home · Resident
BheldiVillage2 GarkhaBlockquiet SaranDistrict140 BiharState2.1k
2new
Feed →
1open
Issues →
45
Seva · yours
Overview
Feed2
Issues1
People
STICKY
Add photo ★ +10 Seva
Bihar›Saran›Garkha›Bheldi
village of 4,200 892 households
Bheldi info 38%
Add your MLA ★ +15 Seva
Add ward member ★ +15 Seva
Add a photo ★ +10 Seva
See all 8 missing
Bheldi's offices1 of ~6By residents
RS
Mukhiya · Gram Panchayat
Ramnath Singh
added by Sunita · 2d
Ward Members · Gram Panchayat
0 of 8 ward members added
Add yours — ★ +15 Seva each
Add ★ +15
SHO · Garkha Thana
Anil Paswan
Posted since Jan 2025
Local places2By residents
Bheldi Middle School Gandak Chhath Ghat Add a place ★ +10 Seva
S4 · overview · rich consumer (100%)

Directory leads — the trust anatomy in full

A2 at 100% the DIRECTORY leads after identity blocks; A3 builder card = one-line celebration badge (shown for ~7 days after reaching 100%, then gone — app behaviour, not a design element); A4 block order identity → directory → local places → about → maintained-by → active residents. Trust anatomy: B5 offgrp + merged section label · B6 verified badge ONLY on the claimed MLA row; dataOnly Mukhiya = no checkmark + attribution (B10) + ⋯ report-wrong (B11) · B7 SHO/CO = no party ever · B9 elected "Elected 2020 · 5-yr term" vs appointed "Posted since Mar 2024 · transfers frequent" (>12mo) · B12 Vidhansabha / Lok Sabha / Thana / Circle · section "5 of 5" = MLA + MP + Mukhiya + SHO + CO (the B14 aggregate "Saran's MLAs" row is removed from the village page — it belongs on Saran District's Overview, not here) · B15 10 POIs → 2-col grid + individual chips · B16 pin glyph → S4·C sheet · B17 About + Did-you-know ONE card · B18 stewards + Lead crown · B19 Active residents 3 rows. App-only: B6 verifiedCivic DTO, B8 _ContactChip onTap, B11 REPORT kind.

3:42
••••≋▮

Bheldi Village

Home · Resident
BheldiVillage6 GarkhaBlockquiet SaranDistrict140 BiharState2.1k
6new
Feed →
3open
Issues →
#4
Seva rank
Overview
Feed6
Issues3
People
STICKY
Edit photo
Bihar›Saran›Garkha›Bheldi
VidhansabhaMarhaura Lok SabhaSaran
41 on Nyburs 12 contributors village of 4,200
100% built — Bheldi's page is complete · built by 12 residents
Bheldi's offices5 of 5By residents
JR
MLA · Marhaura Vidhansabha
Jitendra RaiJDU
Elected 2020 · 5-yr term
RP
MP · Saran Lok Sabha
Rajiv PratapBJP
from election records · Elected 2024
RS
Mukhiya · Gram Panchayat
Ramnath Singh
added by Sunita · 2d
SHO · Garkha Thana
Anil Paswan
Posted since Mar 2024 · transfers frequent
CO · Garkha Revenue Circle Circle
Meena Kumari
Posted since Aug 2025
Local places10By residents
Hospital
1 place
Schools
3 places
Banks
2 places
Temples
4 places
Bheldi PHC Gandak Chhath Ghat Tuesday Haat Add a place ★ +10 on confirm
Add-a-place · guard statesanti-abuse
A · YOU'VE ADDED 3 — PER-USER CAP
You've added 3 places — ask a neighbour to add more
B · NOT A RESIDENT OF BHELDI
Set Bheldi as your home to add places
Or add with your live GPS inside the village — others' adds go to a steward for review, no Seva until approved.
D · PAST ~10 PLACES → STEWARD REVIEW
Sent for review — +10 Seva when a steward approves
About Bheldi
A village on the banks of the Gandak in Garkha block, known for its Chhath ghats and a weekly Tuesday haat. Most families farm paddy and sugarcane.
Did you know — Bheldi's middle school (est. 1952) is one of the oldest in Garkha block.
This page is maintained by
R
Ramesh
Place Lead
1,240 Seva
S
Sunita
Steward
680 Seva
A
Alok
Steward
510 Seva
Active residents
RK
Ramesh Kumar
420 Seva · Contributor
SD
Sunita Devi
380 Seva · Contributor
MS
Manoj Singh
210 Seva · Resident
S4 · overview · POI detail sheet

Tap a place — call, find, fix

B16: POI tap → detail sheet — name · big CALL button (when a phone exists; tap opens the locked Call·WhatsApp·Copy sheet, B8) · the resident note · "~1 km from you" distance (only when lat/lng exists) · open-in-maps row (the pin glyph's intent) · report-wrong as a quiet ghost link (B11 — never an inline flag). No map widget ships in this wave — the maps row hands off to the OS; the location PICKER is S5's design, this is the consumption view. App-only: lat/lng is currently silently dropped on save — plumb it (S effort) before the distance line and maps intent can light up. Background page header refreshed per S3 AMENDMENT 2026-06-11 (a)/(c)/(d).

3:42
••••≋▮

Bheldi Village

Home · Resident
BheldiVillage6 GarkhaBlockquiet SaranDistrict140 BiharState2.1k
Overview
Feed6
Issues3
People
Local places10By residents
Hospital
1 place
Schools
3 places
Banks
2 places
Temples
4 places
Bheldi PHC Gandak Chhath Ghat
Bheldi PHC
Hospital · added by Alok · 3w
"OPD till 2 pm · Dr. Prasad sits Mon & Thu" — note by residents
~1 km from you
Open in Maps
S4 · overview · row-states spec

One row, seven honest states

The official-row state system — B6 three-tier trust: checkmark ONLY on claimStatus=claimed (today it renders on ALL rows — actively misleading); dataOnly = nothing, linked = subtle link mark, claimed+verifiedCivic = verified badge · B9 elected vs appointed split: elected carries "Elected · term" and DEGRADES to "Term may have ended" (fade, never delete); appointed carries "Posted since", a transfers-frequent hint past 12 months, and never a party chip (B7) or a term-end field · B14 election-pending = a 30-day banner mode (the state is designed here; refresh mechanics ride the election runbook). Vacant rows never show dead call affordances (B8) — one add chip only.

3:42
••••≋▮
Official-row state systemB6 · B9 · B14
1 · Vacant — add affordance only, never a dead call chip
MLA · Marhaura Vidhansabha
Add your MLA
Add ★ +15 Seva
2 · dataOnly — NO checkmark · inline attribution
RS
Mukhiya · Gram Panchayat
Ramnath Singh
added by Sunita · 2d
3 · Linked — subtle link mark, not a checkmark
RP
MP · Saran Lok Sabha
Rajiv Pratap
profile linked · not yet verified
4 · Claimed + verifiedCivic — the ONLY badge state
JR
MLA · Marhaura Vidhansabha
Jitendra RaiJDU
Elected 2020 · 5-yr term
5 · Appointed — "Posted since", NEVER a party chip
SHO · Garkha Thana
Anil Paswan
Posted since Mar 2024 · transfers frequent
6 · Term ended — degrade, don't delete
SR
MLA · Marhaura Vidhansabha
Surendra Ram
Term may have ended· Elected 2020
7 · Election pending — 30-day banner mode
Bihar just voted — results pending · rows refresh as new terms are confirmed
S4 · hi locale reference — translation check (NOT a design pattern)

The rich Overview, rendered in the hi locale

DECISIONS #8: ONE language per screen via i18n — this frame renders S4·B end-to-end in hi to validate every S4 key. Numerals and the brand "Nyburs" stay Latin. DECISIONS #10: Seva = सेवा — "★ +10 सेवा", "1,240 सेवा"; "karma"/"कर्म" never rendered. B12 locale-aware chips: where S4·B shows Vidhansabha, hi renders विधान सभा; Lok Sabha = लोक सभा, Thana = थाना, Circle = अंचल (CO label "Revenue Circle" = राजस्व अंचल). Elected/appointed copy: "2020 में निर्वाचित · 5 साल का कार्यकाल" / "मार्च 2024 से तैनात · तबादले आम हैं"; attribution "सुनीता ने जोड़ा · 2 दिन"; aggregate honesty "~10 में से 8 दिख रहे — कवरेज बढ़ रही है". Layout, components and states identical to S4·B. Header refresh per S3 AMENDMENT 2026-06-11 (a)–(d) (rung sublabels गाँव/प्रखंड/ज़िला/राज्य); (f) asides read निवासियों द्वारा ("By residents").

3:42
••••≋▮

भेल्दी गाँव

घर · निवासी
भेल्दीगाँव6 गढ़खाप्रखंडशांत सारणज़िला140 बिहारराज्य2.1k
6नई
फ़ीड →
3खुली
समस्याएँ →
#4
सेवा रैंक
ओवरव्यू
फ़ीड6
समस्याएँ3
लोग
फ़ोटो बदलें
बिहार›सारण›गढ़खा›भेल्दी
विधान सभामढ़ौरा लोक सभासारण
Nyburs पर 41 12 योगदानकर्ता 4,200 का गाँव
100% बन गया — भेल्दी का पेज पूरा है · 12 निवासियों ने बनाया
भेल्दी के दफ़्तर5 में से 5निवासियों द्वारा
ज
विधायक · मढ़ौरा विधान सभा
जितेन्द्र रायJDU
2020 में निर्वाचित · 5 साल का कार्यकाल
रा
सांसद · सारण लोक सभा
राजीव प्रतापBJP
चुनाव रिकॉर्ड से · 2024 में निर्वाचित
रा
मुखिया · ग्राम पंचायत
रामनाथ सिंह
सुनीता ने जोड़ा · 2 दिन
SHO · गढ़खा थाना
अनिल पासवान
मार्च 2024 से तैनात · तबादले आम हैं
CO · गढ़खा राजस्व अंचल अंचल
मीना कुमारी
अगस्त 2025 से तैनात
स्थानीय जगहें10निवासियों द्वारा
अस्पताल
1 जगह
स्कूल
3 जगहें
बैंक
2 जगहें
मंदिर
4 जगहें
भेल्दी PHC गंडक छठ घाट मंगलवार हाट जगह जोड़ें ★ +10 सेवा
भेल्दी के बारे में
गंडक किनारे बसा गढ़खा ब्लॉक का गाँव — छठ घाटों और मंगलवार के हाट के लिए जाना जाता है। ज़्यादातर परिवार धान और गन्ने की खेती करते हैं।
क्या आप जानते हैं — भेल्दी का मिडिल स्कूल (1952) गढ़खा ब्लॉक के सबसे पुराने स्कूलों में से एक है।
यह पेज इनकी देखरेख में है
र
रमेश
प्लेस लीड
1,240 सेवा
सु
सुनीता
स्टीवर्ड
680 सेवा
आ
आलोक
स्टीवर्ड
510 सेवा
सक्रिय निवासी
र
रमेश कुमार
420 सेवा · योगदानकर्ता
सु
सुनीता देवी
380 सेवा · योगदानकर्ता
म
मनोज सिंह
210 सेवा · निवासी

Journey position: S1 confirm → LAND on the home-village page + intro sheet (S2 — the carousel gate is dead per S2·A1/A2; adaptive landing starts from the SECOND session) → S3+. All frames render inline in the Place branch (root tab, no back chevron). One language per screen (C13-amended / DECISIONS #8): en frames + one hi-locale translation check per screen (S1·F, S2·D). S1 app-only rulings (A2 key scoping, A3 far-GPS soft confirm, A4 gpsAccuracy + 3/30d rate-limit, E21 timeout→retry, F28 events) ship in set_your_place.page.dart + nybursapi. S2 app-only rulings: A3 PlaceIntroRoute/PlaceIntroExtra deleted — the sheet lives in place-page logic reading the loaded PlaceDetail, placeIntroSeen + double-show guard, ~1.2s rise · D13 funnel events · D14 kill criterion (D1-return uplift ≥ +4pp or the intro is removed) · D15 post-first-contribution share card — part of the S2 design set, designed & built with the profile/share wave · E16 interim carousel bugs die with the carousel. C12's ⏳ rename is RESOLVED by DECISIONS #10: points = "Seva" — UI renders "★ +N Seva" / "Seva score" ("सेवा" in hi); "karma" survives only as internal code identifiers. S3 (header diet) app-only/build-phase rulings cited in captions: A3 first-arrival = client skips the landing call when placeIntroSeen unset + lazy ladder after paint (zero API change) · D12 auto-follow home wired as an UpdatePinnedRegions side-effect of confirmHomePlace · E15 invalidatePlaceDetail also busts places#landing#<id> (15-min banner lag), 10-min remount refresh gate, isFollowedByViewer pre-warm/fold, landing cache key gains a userId prefix BEFORE any personal cell ships (cross-user leak), open-issues count added to the landing payload · E16 personal-delta cells (Seva delta / issue-moved / per-rung rank) are deferred — the ③ Today slot is DESIGNED for them · F17/F18 mechanical-AA + i18n batches: ≥11px sublabels, kPlaceWarn light variant, chip maxWidth/ellipsis/scroll-to-active wiring, home icon on active chip, "1 contributor" singular, onAppCount stats gate ≥3, Material icons for stats, hide the "Nearby" stub tab, 44px back-chevron, "Page completeness" → "{place} info" (hi: jaankari), live "karma" string → Seva. Banner mechanics: "Go to" = pushReplacement; orientation state capped at 3 impressions in the first 2 weeks. S4 (Overview tab content) app-only/build-phase rulings cited in captions: A1 identity blocks structurally relocate from pre-tab slivers into the Overview tab + sticky TabBar via SliverPersistentHeader · B6 expose verifiedCivic in DTOs (the checkmark currently renders on ALL rows — must become claimed-only) · B8 _ContactChip currently has NO onTap — wire the locked Call·WhatsApp·Copy sheet · B10 attribution = batched revision join on directoryTemplate (M); the ⏳ confirm-counts mechanism ("6 logon ne sahi maana") + confirm-gated call = slot designed, built later · B11 new REPORT contribution kind (S) · B14 election-staleness refresh mechanics ride the election runbook · B16 POI lat/lng is currently silently dropped — plumb it (S) for distance + open-in-maps · D ledger: onAppCount display DEPENDS on the primaryLocation sync flag (currently OFF — everything reads 0; launch-blocking) + ≥3 gate, emoji stats → icons, "1 contributors" singular, helpChipMeta missing keys (popularPlace/co/civil_surgeon/chief_secretary/dgp/panchayat_secretary = invisible chips), hardcoded-strings batch (hero fallback, completeness card, "Add a place", empty states, "karma" in _LeaderRow → Seva ×2), placeText3 ≥11px/text-2, party+seat 320px overflow guards, breadcrumb › RTL, rank width, _SectionLabel merge, canRevert role-gate, kPlaceWarn light #D9641B, "View all" 44px tap targets, steward card tap + role label. The S4·A/S4·B/S4·E tall frames render the FULL Overview scroll in one device frame — in app the same content scrolls under the sticky tab bar.