EV Charging
Find. Book. Charge. Swap.
EV Charging is a smart electric vehicle charging platform designed for Nepal. It connects EV Owner /drivers, charging-station operators, and platform administrators through one integrated system for discovering stations, reserving chargers, managing queues, planning journeys, and accessing battery-swapping services.
Our goal is to make electric mobility more accessible, predictable, and convenient while giving charging-station operators the digital tools needed to manage their services efficiently.
Inspiration
Electric vehicle adoption is growing, but drivers still face several practical challenges. Finding a compatible charging station is only one part of the problem. Drivers may also encounter uncertain charger availability, long waiting times, limited information about connector types and prices, and difficulty planning longer journeys.
Charging-station operators face a different set of challenges. Operators need to manage chargers, reservations, queues, charging sessions, customers, and revenue without relying on disconnected or manual systems.
These challenges inspired us to create EV Charging—a unified platform built around the complete charging journey rather than only displaying station locations.
With EV Charging, drivers can:
- Discover approved charging stations
- View charger types, power ratings, pricing, and amenities
- Check charger availability
- Reserve a charger in advance
- Join a virtual queue when a station is busy
- Receive a QR code for station check-in
- Reserve batteries at swap-enabled stations
- Plan longer journeys with recommended charging stops
- Review stations and access charging history
At the same time, station operators can manage chargers, validate bookings, control queues, monitor active sessions, and review operational and revenue information.
What It Does
EV Charging supports three user roles.
EV Drivers
Drivers can discover charging stations through a searchable list or interactive map. Each station profile provides useful information such as:
- Location and address
- Charging connector types
- Power ratings
- Charging prices
- Available amenities
- Charger status
- Ratings and reviews
- Battery-swapping availability
Drivers can select a compatible charger, choose a charging target, and create a reservation. The platform then generates a QR code that can be presented to the station operator for validation.
When every compatible charger is occupied, a driver can join a virtual queue, view the current queue position, and receive an estimated waiting time.
The platform also includes a route-planning experience that recommends charging stops for journeys between cities in Nepal.
Station Operators
Station operators receive a dedicated operations dashboard for managing charging services.
Operators can:
- Register charging stations
- Add and manage chargers
- Update charger availability and maintenance status
- Monitor active charging sessions
- Review and manage reservations
- Scan customer QR codes
- Start and complete charging sessions
- Manage virtual queues
- Call the next customer
- Review revenue trends and transaction information
- Access station settings and monitoring tools
New stations can be submitted for platform review before becoming visible to drivers.
Platform Administrators
Administrators manage the overall charging network and platform ecosystem.
Administrators can:
- Review platform-wide performance indicators
- Monitor charging stations across Nepal
- Approve or reject station applications
- Manage user account status
- Review network activity
- Create and manage membership plans
- Supervise the relationship between drivers and station operators
How We Built It
EV Charging was developed as a cross-platform Flutter application using Dart and Material Design 3.
The application is organized into role-based modules for drivers, station operators, and platform administrators. Reusable widgets and a shared design system maintain visual consistency throughout the platform.
We used Supabase as the backend platform because it provides:
- PostgreSQL database services
- Authentication capabilities
- Real-time data subscriptions
- Structured data access
- A scalable foundation for future development
The database models users, stations, chargers, bookings, queues, vehicles, reviews, notifications, batteries, swap transactions, and membership plans.
Real-time subscriptions allow important changes—such as charger availability, booking updates, queue movement, and notifications—to appear dynamically in the application.
For mapping and station discovery, we used flutter_map with OpenStreetMap tiles. Location capabilities are handled with geolocator.
We also used:
qr_flutterto generate booking and battery-swap QR codesmobile_scannerto scan and validate customer QR codesfl_chartto present operator revenue analyticscached_network_imagefor efficient image loadingimage_pickerfor image-selection workflowsintlfor date and time formattingurl_launcherfor opening external locations and resources
The interface adapts to different screen sizes. Mobile devices use bottom navigation, while larger displays use navigation rails and responsive layouts.
System Architecture
The platform follows a service-layer architecture:
- Flutter screens manage the user experience.
- Data models represent platform entities.
- Reusable widgets provide consistent interface components.
- Service classes manage authentication, database operations, notifications, and real-time subscriptions.
- Supabase provides PostgreSQL, authentication, and real-time backend services.
Separating the user interface from backend operations makes the codebase easier to maintain and prepares the platform for future integrations.
Key Workflows
Driver Workflow
Driver Dashboard → Discover Stations → View Station Details → Select Charger → Create Booking → Receive QR Code → Check In → Start Charging → Complete Session → View History
Operator Workflow
Register Station → Configure Chargers → Receive Booking → Scan QR Code → Validate Customer → Start Session → Manage Queue → Complete Session → Review Revenue
Administrator Workflow
Open Analytics Dashboard → Review Station Applications → Approve or Reject Stations → Monitor Network → Manage Users → Configure Membership Plans
Challenges We Faced
Managing Three User Roles
The platform serves drivers, station operators, and administrators. Each role requires different navigation, permissions, dashboards, and workflows.
We addressed this by creating a separate application shell for each role while sharing common services, models, themes, and reusable components.
Real-Time Charger Availability
Charging-station information can change quickly. A charger may move from available to reserved, occupied, under maintenance, or offline.
We used Supabase Realtime subscriptions so that booking, queue, notification, and charger-status changes can be reflected without requiring users to refresh the application manually.
Preventing Conflicting Workflows
Booking and queue systems involve multiple users attempting to access limited charging resources. Designing clear status transitions was necessary to keep the user and operator experiences synchronized.
We defined structured state flows for chargers, bookings, queues, and batteries. A production deployment will further enforce these transitions through secure server-side operations and database rules.
Designing for Different Screen Sizes
The platform is intended to work across Android, iOS, web, and desktop environments. A layout designed only for mobile would not provide an effective operator or administrator dashboard on larger screens.
We created adaptive navigation and responsive layouts that adjust based on available screen width.
Route Planning for Nepal
Planning an EV journey involves more than finding the shortest route. Terrain, charging availability, vehicle range, connector compatibility, and expected waiting times can influence the most appropriate charging stop.
The current project demonstrates city-to-city charging-stop recommendations using Nepal-specific location data. Future versions will connect the planner to a live routing and elevation service for more accurate energy and range predictions.
Preparing for Physical Charger Integration
A software reservation is not the same as controlling a physical charging station. Real charger communication requires support for standards such as OCPP, secure remote commands, meter readings, fault reporting, and interrupted-session recovery.
We designed the current platform as a strong application and data foundation for this future integration.
What We Learned
Building EV Charging taught us that an EV charging platform is not simply a map of stations. It is a coordinated system involving drivers, station operators, chargers, reservations, queues, sessions, payments, and platform governance.
We learned the importance of:
- Designing around complete user journeys
- Separating role-specific experiences
- Modeling operational states carefully
- Treating real-time updates as a core requirement
- Building reusable and responsive interface components
- Separating UI logic from backend communication
- Planning for secure server-side validation
- Designing software that can later communicate with physical infrastructure
We also learned that local context matters. Nepal’s geography, road network, city distribution, payment ecosystem, and developing EV infrastructure require a platform designed specifically for local needs.
Accomplishments That We Are Proud Of
We are proud to have developed a single platform that represents the EV charging experience from three perspectives.
Major accomplishments include:
- A complete driver station-discovery workflow
- Interactive station mapping
- Charger reservation and QR check-in
- Virtual queue management
- Battery-swap reservation
- Nepal-focused route-planning functionality
- Station registration and approval
- Operator charger and session management
- Revenue analytics
- Platform-wide administrative monitoring
- Responsive interfaces for mobile and larger screens
- Real-time updates through Supabase
- A reusable Material Design 3 component system
What's Next for EV Charging
Secure Authentication and Authorization
We plan to implement production-ready authentication using phone OTP, secure role assignment, Row-Level Security policies, and per-user data isolation.
Digital Payments
Future releases will integrate payment services commonly used in Nepal, including eSewa, Khalti, and FonePay. The payment system will support server-verified confirmations, transaction records, refunds, and operator settlements.
Charging-Hardware Integration
We plan to introduce OCPP support for communication with physical charging stations. This will enable:
- Remote session authorization
- Remote start and stop commands
- Live charger status
- Energy meter readings
- Fault monitoring
- Accurate session settlement
Improved Route Intelligence
The route planner will be connected to live routing and elevation information. Future recommendations will consider:
- Vehicle battery capacity
- Current state of charge
- Road distance
- Elevation changes
- Vehicle efficiency
- Charger compatibility
- Charging speed
- Live availability
- Estimated queue time
- Required battery reserve
Notifications and Localization
We plan to add push notifications and complete support for both Nepali and English.
Operational Intelligence
Future analytics will include demand forecasting, station reliability scores, carbon-impact reporting, energy-consumption analytics, and improved queue waiting-time estimates.
Our Vision
Our long-term vision is to create a trusted digital layer for Nepal’s EV charging ecosystem.
EV Charging should help drivers travel with greater confidence, help station operators provide more reliable services, and help administrators understand and improve the national charging network.
Find. Book. Charge. Swap.
Built With
- codingtools
- figma
- flutter
- supabase

Log in or sign up for Devpost to join the conversation.