Citizn: Civic Infrastructure Reporting Platform
Project Overview:
I am independently designing and developing Citizn, a civic engagement web application that empowers citizens in Nigeria to report local infrastructure issues (e.g., potholes, streetlights, water supply) and enables government administrators to track and manage resolutions. The platform is being built with a strong focus on accessibility, transparency, and responsiveness to Nigeria’s unique digital landscape.
Role: Full-Stack Developer (Sole Contributor)
Tech Stack:
Frontend: React 18 (with TypeScript), Vite for fast builds, React Router for navigation, Tailwind CSS for styling, shadcn/ui + Radix UI for accessible components.
State Management & Data Handling: TanStack React Query for server state, React Hook Form + Zod for validation, React hooks for local state.
Authentication: Clerk for user management with role-based access (citizen vs. admin), route protection, and metadata-based role assignment.
Backend & Database: Supabase (PostgreSQL) with real-time subscriptions for live updates, type-safe database operations.
Hosting & Deployment: Planning deployment on Vercel/Netlify (frontend) and Supabase (backend), with scalable cloud architecture.
Additional: ESLint for code quality, PostCSS for CSS processing, environment variables for secure key management.
Key Contributions (In Progress):
User-Centric Experience:
Designing a mobile-first, responsive UI optimized for Nigeria’s high mobile usage.
Implementing multi-step, validated issue reporting forms with photo uploads and GPS integration.
Building role-specific dashboards: citizens track issue progress and impact; admins manage, assign, and resolve reports.
Technical Architecture & Features:
Structuring a modular application with protected routes and role-based dashboards (
/citizen,/admin).Implementing authentication and authorization flows with Clerk, including AuthGuard components.
Setting up Supabase for real-time updates on issue status changes and future workflow automation.
Preparing database schema for centralized issue tracking, with mock data currently powering development.
Complex Problem Solving:
Designing an issue data model that supports categories, urgency levels, comments, upvotes, and resolution status.
Integrating mapping (OpenStreetMap/Google Maps) to allow users to pinpoint issue locations.
Incorporating privacy-preserving techniques for geolocation data (encryption, anonymization strategies).
Ensuring NDPA 2023 compliance with data minimization, consent management, and encryption in transit/at rest.
Core Features Being Developed:
Issue Reporting System: Multi-step form, validation, GPS integration, image uploads, and categorization.
Citizen Dashboard: Statistics tracking (total reports, resolved, in-progress), recent report history, and community engagement tools (upvoting, commenting).
Admin Dashboard: Analytics, system-wide metrics, priority alerts, issue assignment tools, and resolution monitoring.
Analytics & Visualization: Charts and maps to track performance, response times, and geographical distribution.
Notifications: Planned email notifications for updates and urgent issues.
Vision and Impact:
Through Citizn, I am building a platform that bridges the gap between citizens and government administrators, fostering accountability and transparency. By lowering barriers to reporting infrastructure issues and streamlining government workflows, the project aims to improve civic trust and community-driven development in Nigeria.
Current Progress:
✅ Authentication with Clerk and role-based access control.
✅ Responsive UI with modern design system and protected routes.
✅ Issue reporting forms with validation and file uploads.
✅ Dashboard interfaces for both citizens and admins.
🔄 Supabase integration for live database operations (currently using mock data).
🔄 Real-time features, geolocation mapping, and notifications under active development.
Focus Areas:
Full-stack development, human-centered design, accessibility, data privacy & compliance, scalable architecture, and civic tech for impact.





