
LOADING LEVEL...

LOADING LEVEL...
PG&E / SHERLOCK 2.0 / SUMMER 2025
A self-service tool that lets division leads pause and resume inspection scheduling without changing Sherlock’s core assignment logic.

ROLE
Software Developer
TOOLS
NestJS, TypeScript, Prisma, PostgreSQL, REST APIs
TIMELINE
Summer 2025
CONTEXT
Built within PG&E’s Sherlock 2.0 inspection scheduling platform
01 / PROJECT OVERVIEW
Sherlock 2.0 automatically assigns field inspections across PG&E’s divisions. But in practice, teams sometimes need to temporarily pause scheduling for specific divisions because of audits, staffing changes, operational constraints, or weather-related disruptions.
Before this tool, handling those pauses required manual workarounds or engineering intervention. I designed and implemented a division-level hold system that gave authorized users a safe, self-service way to manage scheduling behavior without touching the core assignment logic.
02 / THE PROBLEM
The challenge was not just adding another admin control. The feature had to fit into an existing production system, work with Sherlock’s scheduling architecture, and make operational changes without creating confusion or unexpected side effects.
The goal was to give teams flexibility while still preserving trust in the broader assignment pipeline. That meant the solution needed to be clear in the UI, reliable in the backend, and easy for users to understand at a glance.
03 / WHAT I BUILT
I built a self-service hold management workflow where users could select one or more divisions, apply a hold reason, and later release those divisions individually or all at once. The tool integrated directly into Sherlock 2.0’s existing architecture and enforced holds through dynamic query updates rather than invasive changes to the assignment logic itself.
On the frontend, I focused on making status visibility really clear: users could immediately see which divisions were available, which were on hold, and what actions were possible. On the backend, I modeled the hold records, API interactions, and state handling needed to make the tool reliable and safe to use in a real operational environment.
04 / HARD SKILLS
05 / SOFT SKILLS
06 / KEY SCREENS
The tool combined a simple management interface with backend record handling to make division-level scheduling controls visible, traceable, and easy to update.

Frontend interface for placing and releasing division holds, with clear visibility into division status and available actions.

Backend data representation used to store hold records, reasons, active status, and creation metadata.
06A / INTERACTIONS
These screens show the core interaction loop: pausing scheduling for a division and later restoring it when conditions change.

Removes a division from automated inspection scheduling. The change is immediately persisted and reflected in the UI so users can clearly see that the division is now paused.

Restores a division to active scheduling. Holds behave as reversible state changes so teams can quickly respond to operational shifts without disrupting the broader scheduling system.
07 / TAKEAWAYS
This project pushed me to think beyond just implementing a feature. I had to think about how to introduce flexibility into a production system without making that system harder to trust. That meant being careful about architecture, user flows, and the small details that make an internal tool feel dependable.
It also reinforced something I really enjoy: building software that sits at the intersection of systems thinking and user experience. The most satisfying part of this project was creating something that felt technically sound but also immediately useful to the people actually doing the work.