SmartCharge is a workplace EV charging app for the NextEra Energy Juno Beach campus. It uses real ChargePoint session data to help employees answer a practical question: where should I plug in right now, fairly, without circling the lot?
The app is based on 4,758 real ChargePoint sessions from January to June 2026 across 13 stations and 26 ports. The data showed that chargers were about 93% utilized from 8 AM to 4 PM, making workday "off-peak" recommendations ineffective. SmartCharge instead focuses on live availability, fair first-come-first-served coordination, turnover nudges, and ghost-charger detection, including excluding JUNO BEACH 06 after a 53% zero-kWh rate was found and corroborated by work orders.
Frontend: React 18, Vite, Tailwind CSS, Framer Motion, Recharts
Backend: FastAPI, Python, Pandas
Data: ChargePoint sessions, maintenance work orders, cleaned charger metadata
- Home: shows open chargers right now, projected availability by time, and excluded ghost chargers.
- Recommend: gives one actionable charger recommendation with profile and range context.
- Alerts: lets users request a notification when a charger opens, without creating a reservation.
- Profile: summarizes a user's typical charging pattern from historical behavior.
- Demo simulation: shows how recommendations spread across available ports while preserving FCFS behavior.
| Home | Recommendation |
|---|---|
![]() |
![]() |
Run the backend on port 8001:
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.pyRun the frontend on port 5174:
cd frontend
npm install
npm run devThen open:
http://localhost:5174
- Use the Open chargers by time slider on Home to compare midday saturation with evening availability.
- On Recommend, click Planning to use, then I've plugged in, then advance the clock past the finish time to see the turnover nudge.
- At a saturated moment, use Notify me when a port frees in Alerts, then check out from another port to see the next person get pinged.
- Click Demo: simulate 10 colleagues to see how the app spreads recommendations while staying honest about first-come-first-served access.

