REFAB is a mobile-first web prototype for Indian National Highway users. It demonstrates how toll passes, FASTag recharge, highway problem reporting, amenities and route planning can feel like one trustworthy citizen journey — not a fragmented government portal.
REFAB is an independent prototype. It is not an official NHAI product.
Highway users in India navigate scattered services for FASTag, toll passes, complaints, amenities and highway information. Each service has different language, steps and follow-up — making simple tasks slow and confusing.
Daily and occasional National Highway travellers who need to:
One mobile app organised around:
DISCOVER → UNDERSTAND → ACT → CONFIRM → TRACK
REFAB-2026-004821Browser (refab-app.js)
↕ localStorage (demo state: balance, passes, reports)
↕ REST API (server.mjs)
↕ raahi-demo-data.json (synthetic case records)
| Layer | Files | Role |
|---|---|---|
| UI | refab-app.js, refab.css |
Mobile-first screens and navigation |
| Mock data | mock-data.js |
Synthetic users, plazas, amenities, routes |
| Services | refab-services.js |
submitReport(), simulateRecharge(), getPassDetails(), etc. |
| API | server.mjs |
POST reports, GET cases, static file serving |
| Storage | raahi-demo-data.json |
Server-side demo case persistence |
All citizen data is synthetic:
DL12XX0000 (demo account: Rahul Sharma)Client state persists in localStorage (refab-demo-v2). Server cases persist in raahi-demo-data.json.
Every screen shows DEMO MODE and explains that no real government action occurs.
A production version could integrate with:
All would require authorised access, user consent, data minimisation and security review.
cd outputs
node server.mjs
Open http://localhost:4173.
Do not open the HTML file directly — the report API requires the server.
POST /api/road-reports — create synthetic road reportPOST /api/fastag-reports — create synthetic FASTag disputeGET /api/cases/:id — fetch case by IDGET /api/health — health checkNo login required. Demo account is pre-filled:
outputs folder in a GitHub repository.render.yaml.The service exposes /api/health for deployment health checks. On free or ephemeral hosting, server-side synthetic report records can reset after a redeploy. Browser demo state persists in localStorage.
GitHub Pages alone cannot run this API; it can only host the static frontend. Render web services support Node apps and custom domains.
Never connect this demo to live NHAI/IHMCL, bank, payment, Aadhaar, OTP or real citizen data without authorised integrations and a production security review.