One Profile — Civic Layer Integrated

Civic features map onto the existing Nyburs profile, not a separate system. Everything a user does at their place — issues reported, edits contributed, civic posts — appears as first-class content on their ONE profile.

A Resident (own view) — Civic tab + Local Karma + Contributor badge B Claimed official — same profile + Office banner + Broadcast C Visitor view — public badges + karma + read-only Civic tab 🔒 No parallel civic profile — ONE profile, always
Design principle: "We already have our own profile for all engagement and posts. The civic/leader features must MAP TO / ENHANCE the existing profile, not be a parallel system. Everything a user does at a place lands on their ONE existing profile — issues, edits, civic posts are first-class profile content." — Product directive §24
STATE A

Resident Profile

Normal Nyburs profile + Civic tab + Local Karma card + earned role badges (Steward of Bheldi, Contributor in Saran). No office banner. Civic tab = one standing card per place.

9:41
priya_bheldi
P
Edit Profile
Priya Kumari
Steward Contributor
@priya_bheldi | Public
Local educator & community builder from Bheldi. 🌱 Building a better village, one edit at a time.
Bheldi · Saran · Bihar
🏆 Nyburs Rank
#412
See where you stand
🌿 Local Karma
620
Steward of Bheldi · edits 31 · issues 12
Posts
Replies
Articles
Media
Likes
Saved
🏛Civic
Bheldi 🛡 STEWARD 620 KARMA
Next: Champion — #1 this month 🏆 #2 in Bheldi · ↑1
Saran CONTRIBUTOR 80 KARMA
420 more to Steward (500)
Reported Water Supply 2d ago
Handpump on Bheldi-Chapra road non-functional for 3 weeks — 40+ households affected
In Progress Roads 1w ago
Pothole at Bheldi main chowk — causing accidents during rains
Accepted Place Edit · Bheldi 3d ago
Added correct pin code & block name for Bheldi Primary Health Centre
STATE B

Claimed Official Profile

Same profile shell + Office banner + Verified Office badge + Broadcast affordance. Posts tab shown with place-filter chip.

9:41
ramesh_mla_garkha
R
Edit Profile
Ramesh Kumar Singh
🏛 Verified Office Steward
@ramesh_mla_garkha | Public
MLA, Garkha Assembly Constituency · Working for development of 177 villages in Saran district, Bihar.
Garkha · Saran · Bihar
🏆 Nyburs Rank
#38
District top 50
🏛 Local Karma
1,840
Office Holder · 177 villages
🏛 MLA · Garkha Assembly Verified office
Reaches 177 villages · Saran district · Bihar Legislative Assembly
Posts
Replies
Articles
Media
Likes
Saved
🏛Civic
All posts
In Garkha ▾
R
New Anganwadi centre inaugurated at Bheldi village today. 120 children will benefit from nutrition programme. Construction completed in 45 days. 🙏
R
Road repair work from Chainpur to Garkha chowk starts Monday. NHAI contractor briefed. Expected completion: 3 weeks. Residents please note alternate routes. 🚧
STATE C

Visitor View — public civic standing

Another user visiting Priya's profile. Follow/Message replace Edit. Badges + Local Karma card are PUBLIC; Civic tab is read-only (standing + issues + contributions). Leaderboard rank pill is own-view only — NOT shown here. Visitor tabs: no Likes/Saved.

9:41
priya_bheldi
P
Message
Priya Kumari
Steward Contributor
@priya_bheldi | Public
Local educator & community builder from Bheldi. 🌱 Building a better village, one edit at a time.
Bheldi · Saran · Bihar
🌿 Local Karma
620
Steward of Bheldi · real local standing
Posts
Replies
Articles
Media
Circles
🏛Civic
Bheldi 🛡 STEWARD 620 KARMA
31 edits · 12 issues for Bheldi
In Progress Roads 1w ago
Pothole at Bheldi main chowk — causing accidents during rains
Accepted Place Edit · Bheldi 3d ago
Added correct pin code & block name for Bheldi Primary Health Centre

What makes this an enhancement, not a parallel system

Every civic element slots into an existing UI affordance. No new profile pages. No separate civic identity. One profile — civic content is just more kinds of posts.

1 · Civic Tab

7th tab, same tab bar

Existing 6-tab TabBarView → 7 tabs
  • Posts · Replies · Articles · Media · Likes · Saved · Civic
  • Civic issues ARE posts (type=CIVIC_ISSUE) — same PostCard component
  • Status chip (Reported/InProgress/Resolved) overlaid on the same card
  • "Routed to <official>" line is a post metadata field — no new data model
  • Contributions/edits are also post-like entries from the place edit log
2 · Badge Row

Beside the name, not a separate section

Extends existing name + blue-tick row
  • Steward — earned by karma threshold in a place
  • Contributor — N accepted place edits
  • Verified Office — only when office claim verified (State B)
  • Badges are chips, horizontally scrollable if many — no layout break
  • Same visual language as existing profile-type chips
3 · Office Banner

Conditional strip, only for officials

Shown only when office claim is verified
  • Replaces any idea of a separate "authority profile page"
  • Lives below the rank cards, above the tab divider — natural reading order
  • Broadcast button opens audience composer (village/block/constituency)
  • Reach stat ("177 villages") comes from place graph, computed field
  • Hidden entirely for non-officials — zero clutter for regular users
4 · Local Karma card

Beside existing Nyburs Rank card

Extends the rank-cards row (ProfileMenuWidget → currentRank)
  • Same card dimensions — two-column layout, no scroll needed
  • Shows karma, place stewardship, edit count, issue count
  • Clicking opens place karma detail (same pattern as NybursRankRoute)
  • Hidden / collapsed if karma = 0 (never lived in a place, no civic actions)
5 · Place-filter chip

On the Posts tab sub-header

Adds a filter row above the posts list — no structural change
  • "In Bheldi ▾" chip opens a place-picker bottom sheet
  • When set, filters the existing post feed to posts tagged to that place
  • Defaults to "All posts" — purely additive, won't break existing UX
  • Works for officials too (filter own posts to constituency) — State B
6 · One Profile principle

No civic profile page exists

Policy — not a UI component, but enforced by design
  • A civic issue is a post. An edit contribution is a post. A broadcast is a post.
  • All civic actions surface on the user's single profile, Civic tab
  • MLA/MP/Sarpanch has the same profile as any user — office is an attribute, not an identity switch
  • Civic engagement increases Nyburs Rank + Local Karma on the same profile — unified social graph
7 · Public civic standing

Visitors see karma + standing (State C)

Owner decision 2026-06-10 — status must be visible to be worth earning
  • Public to visitors: badges, office banner, Local Karma card, read-only Civic tab (standing · issues · contributions)
  • Own-view only: Nyburs Rank card, leaderboard rank pill, milestone nudges, Likes/Saved tabs
  • Build note: civic fields must be exposed on the other-user output (today own-only) + read-only Civic tab on other_user_profile
  • Private profiles: civic standing follows the same privacy gate as posts
Nyburs Place-Profile Integration — binding UX spec · dark + light themes · self-contained mockup
State A = Resident own view (Civic tab w/ standing + milestone progress, Local Karma, Contributor badge) · State B = Claimed official (+ Office banner, Verified Office badge, Broadcast) · State C = Visitor view (public badges + karma + read-only Civic tab; rank pill own-only) · All civic elements are additions to the ONE existing profile shell.