Place Journey v2 — S10 · Leaderboard + Seva

The People tab's leaderboard — the journey's highest-polish surface. Implements S10-decision-sheet.md verbatim (✅ designed; 🚫/⏳ absent; 🔨 in captions). Owner-draft podium / you-card / clocks adopted + corrected: A1 two clocks defaulting to a winnable "This month", B5/B6 village-first scope + minimum-5 podium gate, C8 you-card nudge naming the person above you + the 9:16 level-up share card, D11 contribution-engine vs governance-ladder SPLIT, C9 status levels teased — never money language. 🔴 F15: the built page still renders "karma" (DECISIONS #10 violation) — these frames are the corrective reference: it is Seva, everywhere, in every locale.

‹ All screensS10·A This monthS10·B All-time + badgesS10·C Thin + emptyS10·D Ladders splitS10·E Share cardS10·F hi locale
S10 · leaderboard · this month (default)

Two clocks — newcomers land on a winnable board

Implements A1 TWO CLOCKS, default = This month — a newcomer must open onto a winnable frame, never the all-time #1 at 1,240; all-time = one tap away, and the all-time rank rides month rows as secondary text (hi labels इस महीने / शुरुआत से, never raw "All-time") · B5 geo scope chips, default = the place you're on (village-first) · C8 the YOU-CARD — owner-draft's strongest element adopted (gradient brand tint, big rank) and upgraded with the NAME above you: "15 Seva behind Sunita" (🔨 nextRankHolderName, S — reuses the leaderboard build, retires the 2-extra-query findRank path) · A3 the monthly badge rides its row permanently ("Top Voice · May 2026") · D12 podium role labels ≥11px · rows = rank + N Seva + editCount. 🔴 F15 P0: the BUILT page renders "karma" (_KarmaPill, _ViewerRankRow) violating DECISIONS #10 — this frame is the corrective reference (Seva / आपका स्थान); fix before any release. 🔨 A2 month backend IS built (monthKarma/monthKey lazy reset, 1h cache) but the me-response rank is ALL-TIME ONLY — month view shows a WRONG rank; add month rank BEFORE the toggle ships. E13 app-invisible: 150 Seva/day/place cap · founding-steward 30-day cool-off · tie = earlier-achiever. + owner adds 2026-06-13: (1) a first-time "See how you earn Seva" learn hint under the clocks — first-timers only, dismiss-once, taps → the S10·D engine card (the board self-teaches for users who skipped the S2 intro); (2) an on-demand re-share button on the you-card — fire the 9:16 card anytime, not only on the auto #1/role-up moment (same render + share_plus, zero new backend; strengthens the D30 acquisition loop).

3:42
••••

Bheldi Village

Home · Resident
BheldiVillage6 GarkhaBlockquiet SaranDistrict140 BiharState2.1k
Overview
Feed6
Issues3
Communities
People
BheldiGarkhaSaranBihar
This monthAll-time
New here? See how you earn Seva
RK
Ramesh Kumar
96Seva
Contributor
2
AD
Anita Devi
124Seva
Steward
1
MY
Mohan Yadav
81Seva
Contributor
3
#5
You
Your Seva this month
15 Seva behind Sunita — one photo closes the gap
All-time #9 in Bheldi
32
Seva
Leaderboard23June 2026
4
SD
Sunita DeviTop Voice · May 2026
Contributor12 edits · #2 all-time
47
Seva
5
You
You
Resident3 edits · #9 all-time
32
Seva
6
RR
Rajesh Ray
Resident2 edits
28
Seva
S10 · leaderboard · all-time + badges

Legacy stacks — scores reset, honour doesn't

All-time = the LEGACY view, one tap from the month default (A1). A3 a monthly win converts to a PERMANENT dated badge ("Top Voice · May 2026", $addToSet like founding_steward) — the score resets on the 1st, the legacy STACKS: veteran rows carry badge stacks; Founding Steward renders brand-tint (the bootstrap +500 is transparent). 🔨 rollover grant = lazy-on-first-access or cron (S); ⏳ historical month boards (snapshot collection, M) — v1 = current month only. A4 🚫 hard same-person podium cap — suppressing real ranks is dishonest UI (Law 7): Anita's 1,240 IS the truth; the fairness valve is the monthly default + badge stacks + the N-gate, never rank fiction. "Naya maheena, naya mauka" push on the 1st = scheduled notif, ~0 build. B7 cross-place Seva totals = a profile/S12 concern (🔨 XS totalKarma on /karma/me/across), never this page.

3:42
••••

Bheldi Village

Home · Resident
Overview
Feed6
Issues3
Communities
People
BheldiGarkhaSaranBihar
This monthAll-time
SS
Suresh Singh
940Seva
Steward
2
AD
Anita Devi
1,240Seva
Lead
1
RK
Ramesh Kumar
615Seva
Contributor
3
Leaderboard23Since launch
4
KJ
Kishor Jha
Founding Steward Top Voice · May 2026 +2 more
Steward86 edits
540
Seva
5
SD
Sunita DeviTop Voice · May 2026
Contributor41 edits
410
Seva
9
You
You
Resident5 edits since you joined
56
Seva
S10 · leaderboard · thin + empty states

No podium-of-everyone — honest thin boards

B6 MINIMUM-N PODIUM GATE: the podium renders only at ≥5 contributors with ≥1 Seva in the window (🔨 client-side, XS) — below 5 = flat ranked list with MEDAL GLYPHS + "Be among the first 5 voices of Bheldi" CTA; 🚫 podium-of-everyone (a 3-person podium is a graveyard photo); 🚫 "you're the only contributor" copy (Law 7 honesty without shame). B5 boards are PER-PLACE KEYSPACES, not rollups — district/state tabs run near-empty BY DESIGN: flat list only, podium suppressed, ONE explainer line; never promise "your rank in Bihar". Cold board = first-voice CTA framed on the month reset — A4 "naya maheena, naya mauka" push lands on the 1st (scheduled notif, ~0 build). G cold_village_cta_tapped · leaderboard_viewed.

3:42
••••
1 · Below 5 contributors — medals, no podium (B6)
AD
Anita Devi
Steward6 edits
38
Seva
RK
Ramesh Kumar
Contributor3 edits
21
Seva
You
You
Resident1 edit
12
Seva
Be among the first 5 voices of Bheldi
The podium appears at 5 voices this month — 2 to go.
2 · State scope — flat list + explainer (B5)
BheldiGarkhaSaranBihar
The Bihar board lists contributors across the whole state — your village rank lives on the Bheldi board.
1
PK
Pawan Kumar
210
Seva
B5: per-place keyspaces, NOT rollups — near-empty BY DESIGN: podium suppressed, flat list only; never promise "your rank in Bihar".
3 · Cold board — first voice (A4)

No Seva in Bheldi yet this month

Naya maheena, naya mauka — the board reset on the 1st.

S10 · seva · ladders split

What earns points ≠ what points unlock

D11 THE CONFLATION FIX — two SEPARATE cards: "How Seva works" = the CONTRIBUTION ENGINE (what earns points: fact +12 · photo +15 · founder +20); "Roles unlocked by Seva" = the GOVERNANCE ladder (Resident → Contributor → Steward → Lead) framed as capability-unlock — owner-draft you're-here / next-step pills KEPT + a vertical connector line (rural micro); 🚫 owner-draft's "How Seva works" title on the role ladder. D12 hi role names ship as i18n starting points (निवासी / सहयोगी / संरक्षक / अगुआ); contributor copy DE-PHOTO'D — "keep your place's info correct", never "add photos" (device-capability gatekeeping). C9 TEASE: 7-rung status levels = a LOCKED progress bar (Batch5 compute) + the earning tier as a vague "special recognition · coming soon" ghost row — NEVER concrete money language (the nobility of Seva collapses; coins are removed from Nyburs). C10 🚫 streaks and weekly quests cut.

3:42
••••

Bheldi Village

Home · Resident
Overview
Feed6
Issues3
Communities
People
How Seva workswhat earns points
Add a correct fact
officials, places, names — verified by neighbours
+12 Seva
Add a photo of the place
the page's face — school, mandir, chowk
+15 Seva
Found a group for Bheldi
first circle or channel — the flywheel start
+20 Seva
Roles unlocked by Sevawhat Seva unlocks
Resident
Everyone starts here — post, support issues
You're here
Steward
300 Seva · approve neighbours' updates, pin what matters
Lead
1,000 Seva · represents the page — the village's voice
Status levelscoming soon
7 levels · climb with Seva — your progress is already counting
special recognition for top Seva · coming soon
S10 · seva · level-up share card

Every status view is a village-page ad

C8 SHIP (overrides product's tease-only — the cost argument fell): the LEVEL-UP SHARE CARD, 9:16 WhatsApp-status crop, Hindi-first"इस महीने #1" huge, "{village}, {state}", the Nyburs mark + "apne gaon ka page banao"; 🚫 English-jargon badge names ever appear on the card. The card is a FIXED dark art asset (an exported image — theme-independent by design). 🔨 client-side render off the EXISTING reward/roleChanged signal + share_plus — zero new backend; fires on month-#1, role-up and badge grants — and now ALSO on demand from the you-card share button (owner add 2026-06-13), so a proud #3 or any badge-holder can share their standing anytime; village + state + rank are template slots filled per-locale. G share_card_shared · monthly_badge_earned. METRIC: D30 board-visible contributor retention ≥60% (<40% = the clock mechanic failed) — this card is the acquisition loop closing back into S1's "is this your village?".

3:42
••••

Bheldi Village

Home · Resident
Overview
Feed6
Issues3
Communities
People
BheldiGarkhaSaranBihar
This monthAll-time
You
You
131Seva
Contributor
1
इस महीने
#1
Bheldi, Bihar
सेवा लीडरबोर्ड · जून 2026
Nyburs
apne gaon ka page banao
You finished #1 in Bheldi 🎉
Share it on WhatsApp Status — apne gaon ko bulao.
WhatsApp
Status
Copy
More
S10 · hi locale reference — translation check (NOT a design pattern)

The month board, rendered in the hi locale

DECISIONS #8: ONE language per screen via i18n — this frame renders S10·A end-to-end in hi. 🔨 F16 P0 i18n: every string on the BUILT page is hardcoded EN today (ZERO keys) — clocks, board labels, you-row, ladder, CTAs all need keys + 12 locales (level titles too when status levels ship). Clocks = इस महीने / शुरुआत से (A1 — never raw "All-time"); points = सेवा everywhere (DECISIONS #10 + F15 — "karma" never renders); the you-card rank label = आपका स्थान; roles = निवासी / सहयोगी / संरक्षक / अगुआ (D12 i18n starting points, ≥11px); badge = टॉप वॉइस · मई 2026; the C8 nudge = "सुनीता से 15 सेवा पीछे". Numerals, ranks and the brand "Nyburs" stay Latin. Layout, components and ordering identical to S10·A.

3:42
••••

भेल्दी गाँव

घर · निवासी
भेल्दीगाँव6 गढ़खाप्रखंडशांत सारणज़िला140 बिहारराज्य2.1k
ओवरव्यू
फ़ीड6
समस्याएँ3
समुदाय
लोग
भेल्दीगढ़खासारणबिहार
इस महीनेशुरुआत से
नए हैं? देखें सेवा कैसे कमाएँ
रमेश कुमार
96सेवा
सहयोगी
2
अनीता देवी
124सेवा
संरक्षक
1
मो
मोहन यादव
81सेवा
सहयोगी
3
#5
आप
आपका स्थान — इस महीने
सुनीता से 15 सेवा पीछे — एक फ़ोटो से बराबरी
शुरुआत से #9
32
सेवा
लीडरबोर्ड23जून 2026
4
सु
सुनीता देवीटॉप वॉइस · मई 2026
सहयोगी12 बदलाव · शुरुआत से #2
47
सेवा
5
आप
आप
निवासी3 बदलाव · शुरुआत से #9
32
सेवा
6
रा
राजेश राय
निवासी2 बदलाव
28
सेवा

S10 position: People tab of the place page (S3 header diet above; the leaderboard IS the tab body). Owner-draft (Nyburs Places/app/people.jsx) podium / you-card / clocks adopted, re-expressed in v2 tokens with the council's corrections — most importantly D11: the owner-draft titled the ROLE ladder "How Seva works"; here the contribution engine and the governance ladder are SEPARATE cards. App-only / build-phase rulings cited in captions: 🔴 F15 P0 — _KarmaPill + _ViewerRankRow render "karma" on screen (DECISIONS #10 violation): "Seva" / "आपका स्थान", fix before any release of this page · 🔨 A2 the me-response rank is all-time only — month view shows a WRONG rank; add month rank to the me-response (S) BEFORE the clock toggle ships (month backend itself is built: monthKarma/monthKey lazy write-time reset, 1h cache) · 🔨 A3 monthly-badge rollover grant = lazy-on-first-access or cron (S); ⏳ historical month boards (snapshot collection, M) · A4 "naya maheena, naya mauka" scheduled push on the 1st; 🚫 same-person podium cap (dishonest UI) · B6 minimum-5 podium gate computed client-side (XS) · 🔨 B7 XS totalKarma on /karma/me/across when S12 wants cross-place totals · 🔨 C8 nextRankHolderName in the me-response (S — reuses the leaderboard build, retires the 2-extra-query findRank path); share card = client-side render off the existing reward/roleChanged signal + share_plus, template slots {village}/{state}/{rank} per-locale · E13 150 Seva/day/place cap on the existing abuse-cache pattern · cross-steward approval-guard audit across ALL contribution types · founding-steward 30-day cool-off on approval-derived Seva · tie = earlier-achiever first, "tied" at delta 0; ⏳ quality-weighted karma + diminishing returns (task #13, Batch5) · E14 leaderboard-rebuild singleflight lock (thundering herd, not urgent) · 🔨 F16 i18n: ZERO keys on this page today — full key sweep + 12 locales; hi starting points: इस महीने / शुरुआत से / सेवा / आपका स्थान / निवासी / सहयोगी / संरक्षक / अगुआ / टॉप वॉइस. G events: leaderboard_viewed · clock_toggled · you_row_seen · rank_delta_tapped · profile_tapped_from_leaderboard · monthly_badge_earned · share_card_shared · cold_village_cta_tapped. METRIC: D30 board-visible contributor retention — % of users on any monthly board in month M who contribute in M+1; target 60%, <40% = the clock mechanic failed.