ChargeGhar
Powerbank rental ecosystem
The web platform for a commercial powerbank-sharing network — a distributed system where hardware stations, rentals and balances all have to agree. I led the front-end web build and its integration with the core service backend.
- Role
- Web platform developer
- Year
- 2025
- Type
- Web App
- Status
- Live
Architecture
Decoupled front end over a shared core
The web interfaces for rentals, balances and station locations are built as a decoupled client against the core service backend, so the web platform can ship independently of the hardware and mobile sides of the system.
Real-time state across clients
Station availability and rental state change from outside the browser — a physical station releasing a powerbank is the source of truth. The web client syncs against secure API endpoints rather than assuming its own view is current.
Security architecture & OWASP mitigations
A01:2021 — Broken Access Control
Reading another customer's rental history or balance by changing an identifier in a request.
Rental and balance endpoints resolve the account from the authenticated session rather than from a parameter supplied by the client.
A04:2021 — Insecure Design (balances)
Treating a client-side balance as authoritative and letting a rental start against funds that are not there.
Balance and rental eligibility are decided by the core service; the web client renders that answer rather than computing its own.
Stack
- Next.js
- React
- TypeScript
- RESTful APIs
- Tailwind CSS