Case 01
Japan BESS Market Operations Platform
An Aggregation Coordinator (AC) platform that connects JEPX and EPRX market processes with battery sites through EMS integration, from bid suggestion to performance reporting.
- Role
- Backend development and analytical logic design
- Technologies
- Python
- · Django
- · PostgreSQL
- · REST APIs
- · Docker
- · AWS
- · EMS/PCS/BMS integration and telemetry
- JEPX/EPRX markets
- AC platform
- Site EMS
- PCS/BMS
Context
Battery energy storage in Japan earns revenue across several markets at once: spot and intraday trading on JEPX, and balancing products in the EPRX market. The Aggregation Coordinator that operates the batteries has to hold market rules, bid deadlines, settlement intervals, and on-site constraints in one place, and act on them every day. This platform was built to be that place for the operations and market teams.
Approach
I developed the backend and the analytical logic behind bid suggestion, bid-result review, charge/discharge scheduling, and performance reporting for JEPX and EPRX. A large part of the work was translating market rules and operational constraints — state of charge, power limits, availability — into explicit system logic that the team could inspect and challenge. The platform connects to battery sites through the EMS and, below it, the PCS and BMS, so telemetry and schedules travel through the same system as the market data. The user interface is bilingual (JA/EN), so Japanese- and English-speaking staff work from the same screens.
Scope
- Operations dashboard for market and site status
- Bid suggestion and decision support for JEPX and EPRX
- Bid-result review for JEPX and EPRX
- Charge/discharge schedule pages
- Performance reports
- Bilingual (JA/EN) user interface
Outcome
Bids, results, schedules, and performance are visible in one system for the JEPX and EPRX markets. Because market rules and site constraints are encoded in system logic rather than held by individuals, the daily cycle from bid to schedule to review can be repeated consistently from one day to the next.