← All projects

Janata Ledger

JH26-Z339

Mammas_Boy · Chattogram · University of Chittagong · 1 member · Spirit of July

Janata Ledger is a citizen-powered platform that enables anyone to monitor and verify public infrastructure projects through location-based reporting.

The problem

Public infrastructure projects often lack transparent, real-time progress updates, making it difficult for citizens to know whether public funds are being used effectively. Delays, poor construction quality, and incomplete projects may go unnoticed because there is no simple way for communities to report on-site conditions or verify official progress. This affects citizens who rely on roads, schools, hospitals, and other public services, as well as journalists, researchers, and local authorities seeking reliable information. Janata Ledger addresses this by enabling citizens to submit location-based reports with on-site evidence, creating a transparent and publicly accessible view of project progress.

The solution

Janata Ledger is a citizen-powered transparency platform that helps communities monitor public infrastructure projects in real time. Administrators create projects by adding essential information such as the project name, budget, timeline, location, and cover image. These projects are then displayed on an interactive public map where anyone can explore their status. When a citizen visits a project site, they can submit a progress update by uploading a photo, selecting the completion percentage, and adding a short description. The application captures the user's GPS location at the time of submission and compares it with the project's registered location. If the user is within the defined radius (500 meters), the report is automatically verified and immediately published on the project's dashboard—eliminating the need for manual approval or voting. Each project maintains a timeline of verified reports, allowing citizens to track construction progress through photos, progress updates, and historical records. This creates a transparent, evidence-based view of public infrastructure development that anyone can access. The platform also includes a dedicated July Memorial section, separate from the project monitoring system, where visitors can respectfully honor the July martyrs by lighting a virtual candle or offering a flower. The memorial is designed as a simple, dignified digital tribute without comments or social interactions. !! Built with Next.js, PostgreSQL, Prisma, Leaflet, Cloudinary, and Clerk Authentication, Janata Ledger combines location-aware reporting with an intuitive public dashboard to make infrastructure monitoring more transparent, participatory, and accountable.

Tech stack

Janata Ledger is a Next.js 14 + TypeScript application built on the App Router with React Server Components, styled with Tailwind CSS and backed by Prisma 5 over PostgreSQL (Neon in production, SQLite for local dev). Authentication is custom — bcryptjs for password hashing and HMAC-signed session cookies handled in auth.ts. AI features run on Google Gemini's free tier (gemini-2.0-flash via @google/generative-ai) with an automatic fallback to OpenRouter's inclusionai/ling-3.0-flash:free model, so the AI Summary and AI Risk panels keep working even when Gemini is rate-limited. Citizen-uploaded evidence is stored on Pinata IPFS via the free tier, with exifr extracting GPS and camera metadata so reports can be geo-verified. The map view uses Leaflet + OpenStreetMap tiles (no API key required, © OpenStreetMap contributors, ODbL). Audits can be exported as PDF via @react-pdf/renderer, with a SHA-256 hash chain stamped on every document. Server-rendered QR codes (via the qrcode library) are embedded on every project page so a phone at the construction site can scan straight to the live ledger. Attribution: Gemini and OpenRouter are used under their free-tier terms; OpenStreetMap tiles © OpenStreetMap contributors (ODbL); Pinata, exifr, and qrcode are MIT-licensed open-source packages.

AI tools used (section 5 disclosure)

Google Gemini (gemini-2.0-flash, free tier via Google AI Studio) — used at runtime by the application itself to power the AI Summary and AI Risk Prediction panels, plus the photo-classification step in the "report a new project" flow. OpenRouter (inclusionai/ling-3.0-flash:free) — used at runtime as the automatic fallback when Gemini is rate-limited or returns an empty response.