Nicholas Ayala
· 5 min read

ChargeMatter: $7, 2.5 hours, and a real fix for EV charger chaos

A $7, 2.5-hour internal web app that made workplace EV charging fair, fast, and actually usable.

Share:
ChargeMatter: $7, 2.5 hours, and a real fix for EV charger chaos

Repo: https://github.com/nmayalais/ChargeMatter

This project cost about $7 in OpenAI Codex usage and ~2.5 hours of build time. The alternatives were a $20K+ pay-to-charge system or ongoing admin time (~$1.1K/year) just to coordinate turns. I built a lightweight internal web app instead and it actually gets used.

Cost and time comparison

We had a very normal workplace problem: EV chargers in the parking lot were “first-come, first-served,” with no system to enforce turnover. The pattern was predictable. You would roll into the lot, see every charger occupied, and have no idea if someone was unplugging in 20 minutes or 6 hours. Slack would light up with polite nudges, then follow-ups, then quiet frustration. People would charge and then stay parked for 6 to 10 hours. The chargers were technically working, but practically unusable.

The business case

We needed a lightweight, internal-only solution that would:

  • Increase charger turnover
  • Reduce daily Slack nagging
  • Be easy to use on mobile (the place where it matters)
  • Require almost no admin time

Options we considered (and rejected)

Option A - Google Sheet sign-in/out
A spreadsheet is a blunt instrument. It is clunky on mobile, hard to enforce, and creates admin overhead. The UX is not user-centric for someone pulling into a lot and trying to charge quickly.

Option B - Make it an office manager’s responsibility
If an office manager spends just 10 minutes/day handling “charger turn-taking,” that is ~0.83 hours/week. At $26.67 to $27.25/hour, that is $1,150 to $1,180/year in admin time, before interruptions or disputes.

Option C - Build a set-it-and-forget-it tool
With AI and modern tooling, this is the sweet spot: low cost, minimal maintenance, and a better user experience. I built the first version in ~2.5 hours.

The solution: ChargeMatter

I did not want a big system. I wanted something that felt as easy as grabbing a parking spot, but fair enough that people would actually respect it. ChargeMatter is a tiny internal web app that adds fairness and accountability without being heavy-handed:

  • Users can charge now, reserve, and check in
  • The system sets a fixed time limit per charger
  • It sends reminders via Slack or email (10 min, 5 min, and at expiration)
  • If a session is overdue, it is visibly marked for everyone to see

The first time we used it, the behavior shifted immediately. People knew the window. People could plan. And because the reminders were automated, the “nagging” moved from a person to the system, which changed the tone overnight.

ChargeMatter cost dashboard

Why I built this (and why it matters)

Yes, the business case was obvious. But the real reason I did this was to prove a bigger point to myself: small, real-world problems are the best on-ramp to building with AI.

I do not read or write code day-to-day. Historically, my technical ceiling was Myspace themes and Excel macros. But with a tight scope and a clear prompt, I shipped something real in a couple hours.

If you have read my pieces on vibe coding or ship fast, build strong, this is that playbook in the wild: start with the pain, ship fast, then harden the edges that matter.

The takeaway is not “build an EV app.” The takeaway is that internal tools can compound. Solve one low-risk, high-friction workflow and you build momentum, credibility, and a new bar for what you can ship.

Technical details (simple by design)

Stack

  • Google Apps Script web app (server + UI)
  • Google Sheets as the database
  • Slack DM or webhook notifications (email fallback)
  • Time-driven triggers for reminders and no-shows

Security

  • Locked to company domain only
  • Admin actions gated by an allowlist

How it works (high level)

  • A simple form writes sessions and reservations to a Sheet
  • A scheduled trigger checks time limits and sends reminders
  • Overdue sessions are flagged so the queue stays honest

Architecture diagram

How I built it in 2.5 hours (the vibecoding approach)

I started with a simple prompt to ChatGPT:

Help me create a PRD for a very simple web app that is both desktop and mobile friendly.
Problem: EV chargers at work have no reservation-like system.
Ask me questions to refine. Simple is key.
Only allow users with our company email domain.

In a few minutes, I had a clean, focused PRD. That became my blueprint.

What I got right

  • Clear problem framing (chargers were being blocked, not broken)
  • Tight scope (no feature creep)
  • Automation (reminders handle most of the behavior change)

What I messed up (and learned fast)

The UI was awful at first: not mobile-friendly, hard to scan, and painful to use. Most of my time was iterating on the user experience so it actually worked in a parking lot on a phone.

That was the real lesson: speed is possible, but usability is everything for small internal tools.

If you are curious, the code is public here: https://github.com/nmayalais/ChargeMatter

Enjoyed this article? Share it with others:

Share:

Keep Reading