Hi everyone,
I wanted to share my latest full-stack prototype built entirely in Streamlit: EV Highway Copilot.
The app is designed to solve real-world long-distance range anxiety on Indian highways (with a primary testing focus on long weekend runs out of Bengaluru, such as the NH48 corridor to Goa). It dynamically overlays live charging infrastructure, evaluates localized telemetry, and calculates battery safety buffers to ensure predictable road-tripping.
- Live Web App: EV Trip Planner · Streamlit
The Tech Stack & Features:
-
Map Layer (Pydeck): Implements a clean multi-route preview engine rendering primary tracking lines alongside alternative grayed-out navigation paths.
-
Live Charger Telemetry: Directly queries the Open Charge Map API to fetch and overlay active charging nodes intersecting precisely along the generated driving corridor coordinates.
-
Dynamic Range Algorithm: Uses sidebar sliders to update underlying mathematical parameters on the fly—allowing users to calibrate their exact battery capacity (kWh), real-world efficiency consumption rates (Wh/km), and strict battery reserve safety buffers (e.g., maintaining a 15% charge cushion).
-
AI & Weather Layer: Integrates an OpenWeather API handshake to track live localized segment weather, feeding environmental data into a Gemini (
gemini-2.5-flash-lite) optimization layer to generate text warnings about upcoming efficiency anomalies or range drops.
A Recommended Test Scenario:
To see the container execute and render the map assets cleanly, try putting in:
-
Origin:
Angel One Ltd, Kudlu Gate, Bengaluru -
Destination:
Candolim, Goa(or lat/lon coordinates:15.3631, 74.0527)
Looking for Feedback:
This is my first major deployment using the Streamlit cloud infrastructure! I’d love to get your thoughts on:
-
Performance/UI Optimization: Any recommendations for snappier component reload handling when updating the sidebar sliders?
-
Feature Additions: What other telemetry parameters (like elevation profiling or automated charging-stop suggestions when remaining range drops below the safety buffer) would you recommend integrating next?
Thanks for taking a look and trying it out!