🚀 Inspiration
Cities struggle to meaningfully engage citizens beyond passive participation. Community events, volunteering, and civic meetings often see low turnout because there’s little feedback or incentive loop.
CityPoints was inspired by the idea that participation should feel rewarding, visible, and motivating — just like fitness apps or gamified learning platforms.
💡 What it does
CityPoints is a civic engagement platform that rewards citizens for participating in city events and activities.
Users can:
Log in and view their points and community rank
Browse upcoming city events
RSVP to events and earn pending points
Check in at events to convert pending points into real points
Unregister from events if plans change
Compete on a leaderboard with other citizens
Track participation directly from a clean dashboard
Points are awarded only after real participation, encouraging genuine engagement rather than fake sign-ups.
🛠️ How we built it
CityPoints is a full-stack web application built with modern tools:
Frontend
React + TypeScript
Context API for global state management
Optimistic UI updates for smooth UX
Responsive dashboard with real-time updates
Modular components (Events, Dashboard, Leaderboard)
Backend
REST API with authentication
Persistent RSVP and check-in handling
User-scoped event registration
Points awarded only after verified check-in
Leaderboard aggregation
Key Technical Features
Optimistic RSVP system Users instantly see “Registered (X points pending)” without waiting for server response.
Pending vs awarded points model Prevents point abuse while keeping UX engaging.
User-isolated state RSVPs and points are correctly scoped per user.
Real-time leaderboard updates
Safe unregister flow with rollback on failure
🎯 Challenges we ran into
Designing an RSVP system that feels instant but stays accurate
Preventing RSVP state from leaking across users
Handling optimistic UI without desyncing from backend data
Ensuring points are only awarded for real participation
Balancing clean UI with technical transparency
🏆 Accomplishments we’re proud of
Built a real RSVP + check-in flow, not a mock demo
Implemented pending points, a feature many production apps get wrong
Designed a system that encourages real-world action
Created a clean, demo-ready dashboard judges can understand quickly
Rebuilt the project cleanly after major refactors
🌱 What’s next for CityPoints
QR-based on-site check-in with geo/time validation
City admin dashboard for event creation
Badges and streaks (e.g., “Community Champion”)
Integration with real municipal APIs
Mobile app version
Fraud prevention (location + time windows)
🧠 Why this matters
CityPoints turns civic duty into civic pride.
By making participation visible, rewarding, and social, CityPoints has the potential to:
Increase turnout at community events
Encourage volunteering
Strengthen trust between cities and citizens
Make cities more participatory and human-centered
Log in or sign up for Devpost to join the conversation.