One app. Every charger. No prepaid wallets. Reliability you can trust.
Unified-EV is a cross-CPO EV charging platform for India that solves the fragmented charging experience by providing a single app to access every charging network with real-time reliability data and direct paymentβno prepaid wallets required.
EV drivers in India face a painful charging experience:
- Multiple apps β Each CPO (Tata Power, Jio-bp, Statiq, HPCL, etc.) requires its own app
- Prepaid wallets β Money locked in each CPO's ecosystem with minimum top-ups
- Unreliable chargers β No way to know if a charger actually works before driving there
- Fragmented history β Charging data scattered across multiple apps
Unified-EV provides:
- β Single app for all CPOs β Access every charging network in one place
- β Reliability-first β Color-coded stations (green/amber/red) based on 30-day success rate
- β Direct payment β Pay with UPI, cards, or netbanking. No prepaid wallets.
- β Smart routing β Route planner recommends the most reliable charging stops
- β Unified passport β All your charging history and stats in one place
- β Verified reviews β Only users who've charged can review (no fake reviews)
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Next.js 15 (App Router) | React framework with SSR/SSG support |
| Language | TypeScript 5.6 | Type-safe development |
| Styling | Tailwind CSS | Utility-first CSS framework |
| State Management | Zustand | Lightweight state management |
| Maps | Google Maps API | Station mapping and route planning |
| Charts | Recharts | Battery health visualization |
| Payment | Razorpay (mocked) | Multi-method payment gateway |
| Deployment | Vercel | Edge-optimized hosting |
This is a fully-functional demo with mocked backend data. See DOCS/01_MVP_Overview.md for the complete product vision and roadmap.
unified-ev/
βββ src/
β βββ app/ # Next.js App Router pages
β β βββ page.tsx # Landing page
β β βββ map/ # Unified map with stations
β β βββ station/[id]/ # Station detail page
β β βββ scan/ # QR scan & payment
β β βββ session/[id]/ # Live session & completion
β β βββ route/ # Route planner
β β βββ passport/ # Charging passport
β β βββ profile/ # User profile
β β βββ onboarding/ # OTP & vehicle setup
β β βββ story/ # Founder story
β β
β βββ components/ # React components
β β βββ layout/ # Navigation, theme toggle
β β βββ map/ # Map canvas, bottom sheet, filters
β β βββ station/ # Station cards, pins, reliability badges
β β βββ session/ # SoC dial, session UI
β β βββ payment/ # Payment sheet (Razorpay mock)
β β βββ route/ # Route map with polylines
β β βββ passport/ # Battery health chart
β β βββ ui/ # Toast, skeleton loaders
β β
β βββ data/ # Mock JSON data (Layer 1)
β β βββ stations.json # 60+ seeded stations
β β βββ routes.json # 3 pre-generated routes
β β βββ history.json # 15 charging sessions
β β βββ vehicles.json # 15 EV models with specs
β β βββ reviews.json # Station reviews
β β βββ reliability.json # Reliability scores
β β βββ cpos.json # CPO metadata
β β
β βββ stores/ # Zustand state stores
β β βββ userStore.ts # User profile & auth state
β β βββ mapStore.ts # Map filters & search
β β βββ sessionStore.ts # Active session state
β β βββ passportStore.ts # Charging history
β β βββ themeStore.ts # Dark/light mode
β β
β βββ hooks/ # Custom React hooks
β β βββ useStations.ts # Fetch & filter stations
β β βββ useStation.ts # Single station data
β β βββ useSessionSim.ts # Session simulation
β β βββ useToast.ts # Toast notifications
β β βββ useReliabilityLive.ts
β β
β βββ lib/ # Utilities & business logic
β βββ data/ # Data client (adapter pattern)
β βββ reliability.ts # Reliability calculations
β βββ recommend.ts # Smart recommendation engine
β βββ format.ts # Number/date formatting
β
βββ docs/ # Comprehensive documentation
β βββ 01_MVP_Overview.md # Product vision & MVP scope
β βββ 02_Layer_1_V1_Prototype.md
β βββ 03_Layer_2_Post_Pilot.md
β βββ 04_Layer_3_Production.md
β βββ 05_Future_Scope_Must_Add.md
β βββ 06_Future_Scope_Should_Add.md
β βββ design/ # Design system & mockups
β
βββ prompts/ # Week-by-week build prompts
βββ scripts/ # Data generation scripts
βββ public/ # Static assets
- Node.js 18+ or Bun
- pnpm (recommended) or npm
- Google Maps API key
-
Clone the repository
git clone https://github.com/dilipsaroj/unified-ev-app.git cd unified-ev-app -
Install dependencies
pnpm install # or npm install -
Set up environment variables
cp .env.example .env.local
Edit
.env.localand add your Google Maps API key:NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_api_key_here
-
Run the development server
pnpm dev # or npm run dev -
Open in browser
Navigate to http://localhost:3000
pnpm build
pnpm start- 60+ stations across 6 CPOs (Tata Power, Jio-bp, Statiq, HPCL, IOCL, BPCL)
- Color-coded by reliability: π’ Green (>90%) β’ π‘ Amber (70-90%) β’ π΄ Red (<70%)
- Smart recommendations: "400m farther but 32% more reliable"
- Reliability score as hero metric (e.g., "94% β’ last confirmed 12 min ago")
- Real connector types (CCS2, CHAdeMO, Type 2, Bharat AC/DC)
- Pricing, amenities, verified reviews, photos
- QR code scanning (mocked in V1)
- Multi-method payment (UPI / Card / Netbanking)
- Live session with SoC dial, kWh counter, power meter
- Razorpay hold-and-capture (mocked)
- Animated settlement: βΉ500 held β βΉ347 captured β βΉ153 refunded
- Instant receipts
- 3 hardcoded routes (MumbaiβPune, DelhiβJaipur, BengaluruβMysore)
- Google Maps polylines with charging stops
- Recommends most reliable stations, not just nearest
- Unified history across all CPOs
- Battery health chart (Recharts)
- Stats: total kWh, βΉ spent, COβ saved
OTP: Any 4-digit code works (e.g., 1234)
Preset Routes:
- Mumbai β Pune (165 km, 1 charging stop)
- Delhi β Jaipur (280 km, 1 charging stop)
- Bengaluru β Mysore (145 km, 1 charging stop)
Seeded Data:
- 60+ stations with real Indian coordinates
- 15 charging session history
- 15 vehicle models (Tata Nexon EV, MG ZS EV, etc.)
| Document | Purpose |
|---|---|
| 01_MVP_Overview.md | Product vision, moat, competitive analysis |
| 02_Layer_1_V1_Prototype.md | V1 architecture, week-by-week build |
| 03_Layer_2_Post_Pilot.md | Real backend, auth, payments |
| 04_Layer_3_Production.md | Multi-CPO scale, fleet dashboard |
| 05_Future_Scope_Must_Add.md | Priority features (multi-language, 2W/3W) |
| 06_Future_Scope_Should_Add.md | Nice-to-have features |
| Phase | Timeline | Deliverables |
|---|---|---|
| Layer 1 (Current) | Weeks 1-4 | MVP demo with mocked data, 7 core screens |
| Layer 1.5 | Weeks 5-8 | Polish, secondary screens, pilot prep |
| Layer 2 | Month 3+ | Real backend (Supabase), first CPO pilot |
| Layer 3 | Month 9+ | Multi-CPO, fleet dashboard, native mobile |
| Layer 4 | Year 2+ | OEM integrations, white-label, expansion |
This is currently a solo founder project. Contribution guidelines will be added when the repo goes public.
MIT License - see LICENSE for details.
Dilip Kumar Saroj
- GitHub: @dilipsaroj
- Email: dilipsaroj95@gmail.com
- Co-authored with Cursor AI
- Inspired by real EV driving pain points in India
- Built with insights from Layer 1-4 documentation
- Design system based on modern mobility app standards
For pilot opportunities, investment inquiries, or technical questions:
- Email: dilipsaroj95@gmail.com
- Demo: https://unified-ev-app.vercel.app
Status: π Layer 1 Complete β’ Ready for demo β’ TypeScript type-safe β’ Zero lint errors