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
BiharSaranGarkhaBheldi
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
BiharSaranGarkhaBheldi
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
BiharSaranGarkhaBheldi
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.