Inspiration

Electric vehicles are growing rapidly, but long-distance EV travel still involves uncertainty around charger availability, compatibility, pricing, battery range, and unexpected charger failures.

Most route planners can suggest charging stations, but they do not actively manage the journey when real-world conditions change.

We wanted to build something more intelligent: an EV travel system that can reason about the journey, validate charging decisions, react to failures, and automatically rebuild the plan when something goes wrong.

That idea became Vidyut — an agentic EV charging and journey planning platform designed to make EV travel more reliable, adaptive, and practical.

What it does

Vidyut acts as an intelligent coordination layer between EV owners, charging station hosts, and charging companies.

For EV owners, Vidyut creates charging-aware journey plans using factors such as:

  • Current battery percentage
  • Minimum battery reserve
  • Vehicle range
  • Charger compatibility
  • Charging cost
  • Distance and travel time
  • Arrival requirements
  • User-defined budget

The system does more than simply recommend the nearest charger.

Before selecting a charging stop, Vidyut validates whether the vehicle can safely reach it, whether the connector is compatible, whether the resulting journey remains within the user's budget, and whether the required battery reserve can be maintained.

One of Vidyut's key features is its self-healing journey planning.

If a charging station becomes unavailable during a trip, the system can:

  1. Detect the failed charger.
  2. Remove it from the available charging network.
  3. Determine the EV's current location and battery state.
  4. Search for alternative compatible chargers.
  5. Revalidate safety, range, cost, and reserve constraints.
  6. Generate a new charging and navigation plan from the vehicle's current position.

Instead of forcing the driver to restart the route manually, Vidyut adapts the journey automatically.

The platform also supports different levels of autonomy, including recommendation-only workflows, approval before actions, and more autonomous journey management.

Hosts can register charging infrastructure and manage charger information, while charging companies can update availability, pricing, and charger status.

How we built it

Vidyut was designed as a full-stack, agentic system rather than a single AI chatbot.

The backend is built using Java and Spring Boot, which handles business logic, charging infrastructure, user roles, journey constraints, and communication between different parts of the platform.

We use PostgreSQL with Google Cloud SQL for persistent storage.

The web application is built using React, TypeScript, and Vite, while the system integrates mapping and routing services to calculate journeys and charging stops.

For the intelligent orchestration layer, we use Google Agent Development Kit (ADK) with Gemini.

Different agents operate within specific roles such as:

  • EV Owner
  • Charging Host
  • Charging Company

The EV journey agent combines routing information with application-level tools that allow it to search chargers, validate constraints, create charging plans, and replan journeys when failures occur.

We implemented additional deterministic safety checks outside the language model for critical decisions such as:

  • Minimum battery reserve
  • Connector compatibility
  • Charger reachability
  • Budget validation
  • Charging requirements

This allows Gemini and the agent framework to handle reasoning and orchestration while important operational constraints remain explicitly validated by the backend.

The backend and AI services are deployed using Google Cloud Run, with Cloud SQL for the database and Firebase for hosting the web application.

Challenges we ran into

One of the biggest challenges was turning an AI recommendation into a reliable end-to-end EV journey.

A charging recommendation can look reasonable while still being unusable if the vehicle cannot physically reach the station, the connector is incompatible, the required battery reserve is violated, or the charging cost exceeds the user's budget.

We therefore had to combine agent reasoning with deterministic validation.

Another major challenge was handling charger failures during an active journey.

Replanning could not simply restart the original route. The system needed to understand the vehicle's current location, remove the failed charger, recalculate reachable alternatives, and generate a new plan while preserving the user's constraints.

Integrating routing services, charger information, Spring Boot services, AI agents, cloud infrastructure, and the frontend into one reliable workflow also required significant debugging and testing.

We additionally had to design the system so that autonomous actions remained controllable by the user rather than allowing the AI to make every decision without approval.

Accomplishments that we're proud of

We are especially proud that Vidyut evolved from a route-planning concept into a functioning agentic EV journey platform.

Some of our key accomplishments include:

  • Building an end-to-end EV journey planning workflow.
  • Implementing charger reachability and connector compatibility checks.
  • Maintaining configurable battery reserve requirements.
  • Supporting journey budget constraints.
  • Building charger-failure detection and self-healing rerouting.
  • Replanning journeys from the vehicle's current position rather than restarting the original journey.
  • Creating role-specific workflows for EV owners, hosts, and charging companies.
  • Integrating Google ADK and Gemini into the application's operational workflow.
  • Deploying the backend and agent infrastructure on Google Cloud.
  • Combining AI reasoning with deterministic safety validation.

The part we are most proud of is Vidyut's ability to respond when the planned charging infrastructure fails and generate a safe alternative instead of leaving the driver with a broken route.

What we learned

Building Vidyut taught us that creating an agentic system is very different from simply connecting an application to an LLM.

Real-world agents need tools, state, constraints, validation, permissions, and recovery mechanisms.

We learned that AI works best when combined with deterministic software rather than being responsible for every decision.

Gemini can help reason about journey options and coordinate actions, while the backend remains responsible for validating critical constraints such as battery reserve, compatibility, reachability, and cost.

We also learned a great deal about:

  • Agent orchestration
  • Java Spring Boot architecture
  • REST APIs
  • Cloud deployment
  • PostgreSQL and Cloud SQL
  • Google ADK
  • Gemini integration
  • Routing APIs
  • React and TypeScript
  • Failure recovery
  • Human-in-the-loop AI systems

Most importantly, we learned to think about an AI agent not as a chatbot, but as part of a larger software system capable of observing changes, making decisions, using tools, validating actions, and recovering from failures.

What's next for Vidyut

Our goal is to evolve Vidyut from a journey-planning prototype into a broader intelligent EV charging ecosystem.

Future improvements include integrating real-time charger occupancy and queue information so journey plans can account for waiting time as well as distance.

We also want to improve charging price optimization using electricity cost, demand, renewable-energy availability, and time-of-day pricing.

For charging hosts, we plan to introduce better onboarding and tools that allow individuals and businesses to participate in the charging network.

Vidyut could also integrate charging infrastructure from multiple charging companies into one unified marketplace instead of requiring drivers to navigate separate networks.

Longer term, we envision Vidyut coordinating EVs, charging infrastructure, renewable energy, and charging providers through autonomous agents that continuously optimize journeys while keeping users in control.

The goal is simple: an EV journey should not fail just because one charger does.

Share this project:

Updates

Submission history