Place Pages — Events + Local Alerts
Events anchor community life (panchayat meetings, Aadhaar camps, Chhath festivals) to the place graph. Alerts replace the WhatsApp group — the single highest-frequency open reason in rural India, now severity-graded, community-verified, and push-delivered to every resident in radius.
SCREEN 1Events list on place
→
SCREEN 2Event detail + RSVP
→
SCREEN 3Create event sheet
→
SCREEN 4Alert in place feed
→
SCREEN 5Alert composer
Events + Alerts — placePath fan-out, WhatsApp replacement
Both features reuse the same placePath scoping as Posts — zero new infrastructure for distribution. Events add a first-class calendar layer; Alerts are the single highest daily-habit surface (the WhatsApp-group killer) — severity-graded push, community-verified, steward-controlled, auto-expiring.
Events
Data model reuse
placePath scoping = automatic roll-up
- Same placePath[] as Post — auto-appears in village + block + district feeds
- RSVP → notifications pipeline (Build 10) already live
- Govt camps postable only by stewards / claimed officials
- Dedup recurring events (weekly panchayat) by title + placeId + recurrence
- Media (poster image) reuses existing compose + S3 flow
Events
Acceptance criteria
3 checks before ship
- Event tagged to a place appears on its page Events tab + place feed + rolls up hierarchy
- RSVP + "remind me" fire via push notification at event – 1h (and at event start)
- Govt-camp category hidden for non-stewards / non-officials; badge shown on event card
Alerts
The WhatsApp-group killer
Highest daily-habit open reason in rural India
- Power cuts, water issues, road blocks, floods, accidents, missing persons
- Severity-graded push: Emergency = immediate, bypasses quiet hours
- Pinned at top of place feed until expiresAt; auto-greyed on expiry
- Push reaches all residents in geo-radius using same placePath plumbing
- Voice-input composer for low-literacy users (Hindi / local language)
Alerts
Trust + false-alarm controls
Community-verify + steward gate
- Community "Still happening?" / "Resolved" — majority-resolved auto-expires
- Stewards can confirm / pin / manually expire any alert
- Rate limit: max 3 alerts / 24h per user per place
- Misuse report → steward action → admin escalation (same spam gates as Build 07)
- False-alarm history counts against user's karma and posting ability
Both
placePath fan-out architecture
Zero new infra — plug into existing graph
- Village alert/event → visible at block + district level too (with distance label)
- Notifications (Build 10): RSVP reminders + alert push share the same worker queue
- Spam gates (Build 07): rate-limit + report → steward already wired
- Claimed officials (Build 05 / 22.2): can post govt camps + steward-confirm alerts
Both
Risks & mitigations
Pre-ship checklist
- Panic / false alerts — severity gate: Emergency requires 50+ karma or steward role
- Event duplication — server-side dedup by placeId + title + date window before save
- Low literacy — voice input first, text second; categories are icon-led
- Push fatigue — FYI severity = in-app only; High = standard push; Emergency = immediate
Alert lifecycle — composer → push → verify → expire
USERCategory + severity + voice/text
→
SPAM GATErate limit · karma check
→
PUSHresidents in radius (severity-graded)
→
FEED PINtop of place feed until expiresAt
→
COMMUNITY VERIFYstill / resolved votes
→
STEWARDconfirm · pin · expire
→
AUTO-EXPIREgreyed, archived