Internal Energy Operations Dashboard — Planning, CSV Workflow, and Implementation Support
An internal dashboard project covering Operation Planning and Operation Mode Switching for a smart-city energy environment. The work turned evolving requirements into UI flows, code prototypes, frontend validation rules, error handling, API-related specifications, and implementation-ready documentation. It continued through vendor code review, targeted implementation fixes, production release, and the start of operational use.
Period: Dec 2025 – Jul 2026
Related Services:
Where this experience applies
This project involved moving a high-impact CSV and database workflow into an internal interface, covering current-workflow analysis, UX design, validation, technical specification, and implementation support.
- Moving a CSV- or manually operated workflow into an interface
- Designing controls that reduce the risk of accidental data loss
- Turning evolving requirements into implementation-ready specifications
- Coordinating frontend and backend validation responsibilities
- Preparing reference code and documentation for another implementation team
- Supporting implementation through code review and targeted fixes
Overview
I designed and specified two features for an internal dashboard used in a smart-city energy environment: Operation Planning and Operation Mode Switching. My formal role was Frontend Engineer. Within the project, my work covered workflow analysis, UX/UI design, requirement and specification writing, code prototypes, frontend validation design, implementation documentation, vendor code review, and targeted production implementation. An external vendor handled the overall production implementation and reused parts of the reference code I provided. During review, I identified gaps between the agreed design and the implementation, provided concrete code in review comments, and directly implemented selected complex or incomplete areas. Both features were released to production and entered operational use.
Background
The dashboard is used to manage and monitor power devices within a smart-city energy operations environment. The features I worked on supported the editing and application of short-term or experimental operation plans. The existing workflow combined Excel, CSV files, command-line operations, and direct database updates. These actions were connected to power control, so incorrect plan application could affect operational cost and supply stability. CSV uploads also used a date-based snapshot replacement model, where data omitted from the uploaded file could be treated as deleted.
Challenge
The project needed to turn a high-impact operational workflow into an interface that supported daily use, mistake prevention, and realistic implementation constraints.
- Initial requirements were fluid and needed to be clarified through concrete interface proposals
- CSV contents replaced existing planning data for a selected date, creating overwrite and deletion risks
- The date selected in the interface needed to match the date contained in the CSV
- Validation needed to cover device IDs, active status, value ranges, and all 48 time slots
- The initial release covered approximately six devices, with a future target of 50–100 devices × 48 slots
- Existing screens made date boundaries and error causes difficult to understand
- External implementers needed explicit definitions of states, edge cases, APIs, and copy
- Changes had to work within an existing codebase without disrupting other screens
Primary Users
- Operations-oriented users who adjust schedules
- A manager-level stakeholder who directly uses the interface
- Other internal stakeholders who review or apply planning changes when needed
Feature Scope
Operation Planning: Month View
- Two-month grid covering the current and following month
- Devices as rows and dates as columns
- Plan existence shown within each cell
- Plans created only for selected experimental dates and devices
- CSV template download
- Bulk deletion across selected dates
- Selection states and confirmation modals
Operation Planning: Day View
- Detailed grid for one selected date
- Devices as rows and 48 half-hour slots as columns
- Device-specific minimum and maximum output constraints
- CSV download and upload
- Deletion of the selected day’s plan
- Validation results with identifiable correction locations
Operation Mode Switching
- Current mode and status display
- Control over when uploaded plans become active
- A confirmation modal explaining the intended change and its operational impact
- Explicit confirmation before applying a mode change
CSV Workflow
- Template download when no plan exists
- Valid devices and all 48 time slots included in the template
- Upload restricted to the selected day view
- Date matching between the interface and CSV
- Single-day deletion and multi-date bulk deletion
- Warnings and confirmation around snapshot replacement
Approach
Understanding the Current Workflow and Shaping Requirements
I interviewed operational stakeholders and reviewed how Excel, CSV files, command-line operations, and database updates were used to create and apply operation plans. This established the operational steps, the impact of data updates, and the decisions users needed to make. The initial requirements contained several open questions. I used concrete interface drafts to support stakeholder review and progressively define the expected behavior. With no dedicated PM, I also documented decisions and supported alignment across stakeholders.
Iterating the Interface Structure
I created several Figma directions, including card-based layouts organized by device, a two-month planning grid, a day view structured as a device × 48-slot table, and interactions for selection, saving, applying, and bulk deletion. Inline editing and CSV-based operation were evaluated against implementation cost, operational practice, and mistake risk before the final scope was agreed.
Validating Interactions Through Code
Figma was used for early layout and information-structure exploration. I moved to code prototypes when CSV parsing, validation, error handling, selection states, and bulk deletion required more detailed behavioral testing. The prototypes helped verify interaction behavior, data volume, implementation constraints, and integration with the existing codebase. They were shared with the external vendor as reference implementations, and selected parts were reused in production.
Designing Frontend Validation and Error UX
- Validated file extension, file size, date mismatches, and dates outside the permitted range
- Checked for missing slots from the required set of 1–48
- Checked invalid device IDs, inactive devices, and values outside device-specific limits
- Stopped uploads when processing could not continue
- Aggregated correctable data errors with row and column information
- Coordinated validation responsibilities, error codes, and response formats with the backend engineer
Handling Snapshot Updates and Destructive Actions
- Restricted uploads to the selected day view
- Compared the interface date with the date contained in the CSV
- Blocked uploads when the dates did not match
- Separated single-day and multi-date deletion flows
- Added confirmation before deletion and mode switching
- Identified the target and intended impact before applying a change
Preparing Implementation Specifications and Handoff Material
- Annotated screenshots for each screen
- UI states, interactions, modals, empty states, and edge cases
- Single-day and multi-date deletion flows
- API endpoints, payloads, and response patterns
- Frontend and backend validation responsibilities
- Error-code mapping to localized English and Japanese messages
- Copy and translation tables for longer modal guidance
- Rationale and behaviors that needed to remain consistent during implementation
Reviewing Implementation and Contributing Targeted Fixes
The external vendor implemented the full feature set. I reviewed the code for alignment with the specification, validation behavior, error handling, and impact on existing screens. For areas where the design had not been reflected or the implementation decision was complex, I provided concrete code through review comments. I also implemented selected fixes directly and carried them into the production code. GitHub Copilot was used as an additional review and verification aid to surface possible bugs, validation gaps, and security concerns. I checked each finding against the actual code, project scope, and implementation context, then fixed the issues that were valid.
Design & Implementation Highlights
Separating Initial and Future Scale
The initial release handled approximately six devices × 48 slots. The future target was 50–100 devices × 48 slots. Separating month and day views supported both the initial workflow and the expected increase in information density.
Making Date Agreement an Upload Condition
Uploads were restricted to the selected day view, and the interface date was checked against the date in the CSV. A mismatch blocked processing before another day’s plan could be updated.
Aggregating Correctable Errors
Row- and column-level errors were collected and displayed together with their locations and causes, allowing users to review multiple corrections in one pass.
Confirming Deletion and Mode Changes
Single-day deletion, multi-date deletion, and operation mode switching included confirmation modals showing the target and intended impact.
Reducing Interpretation Gaps
Screens, states, edge cases, APIs, validation responsibilities, error codes, and localized copy were documented as one connected specification. Code review then checked the implementation against those decisions.
Outputs
- Current workflow and operational-risk mapping
- Information architecture and UI specifications for month and day views
- Operation Mode Switching flow and confirmation behavior
- CSV template, upload, and deletion workflows
- Figma wireframes and final screens
- Code prototypes and reference implementations
- Frontend validation specification
- Frontend/backend validation responsibility mapping
- Error-code mapping and localized English/Japanese messages
- Implementation documentation covering APIs, states, edge cases, and modals
- External-vendor handoff material
- Code review, implementation guidance, and targeted code fixes
Outcome
- Released Operation Planning and Operation Mode Switching to production
- Started operational use of both features
- Turned evolving requirements into implementation-ready decisions covering screens, states, edge cases, APIs, and copy
- Defined frontend validation and error-feedback behavior
- Carried controls for snapshot replacement, deletion, date mismatches, and mode switching into implementation
- Reused parts of the code prototype in production
- Reviewed vendor implementation and contributed concrete guidance and targeted code fixes
Screens & Design Material
Final Specification: Month View
A two-month view for checking plan existence by device, downloading a CSV template, and deleting plans across selected dates.
Final Specification: Day View
A device × 48-slot table with CSV upload, download, and deletion for the selected date.
CSV Validation Error View
Aggregated correctable errors with row, column, and cause information.
Operation Mode Switching
A screen for checking the current mode and controlling when uploaded plans become active.
Mode-Switch Confirmation Modal
Confirms the target and intended operational impact before applying a mode change.
Draft 1: Card-Based Day View
An early concept using one card per device to explore daily plan review and editing.
Draft 2.5: Month Grid
An iteration exploring how users could identify dates with plans and move into the day view.
Draft 3: Day Table
The transition from a card layout to a table for handling devices × 48 time slots.
Draft 4: Editing and Bulk Actions
An iteration examining editing states, bulk actions, and mistake prevention.
What This Work Demonstrates
This project involved designing an internal tool where user actions, data-update constraints, frontend/backend boundaries, implementation cost, and operational impact all needed to be considered together. I turned evolving requirements into concrete interface behavior through Figma and code prototypes, then expanded the decisions into validation rules, APIs, localized error messages, and edge-case specifications. After handoff, I continued through vendor code review, concrete implementation guidance, targeted code fixes, production release, and the start of operational use.