Sherlock Rebuild

Electric distribution (Matthew Henry @matthewhenry)

Client

Pacific Gas and Electric Company
Pacific Gas and Electric Company

Role

Lead Full-Stack Software Engineer
πŸ‘¨β€πŸ’»

Date

2023
πŸ“…

Location

Oakland, CA
πŸ‡ΊπŸ‡Έ

The Sherlock Suite allows PG&E’s desktop inspectors to mark up potential equipment problems on high-resolution images, further training computer-vision models to automatically detect potential issues and adding metadata to enable searchability of these images across the enterprise. Over 2019 and 2020, PG&E collected more than 5 million high-resolution images (up to 100 megapixel) of their Electric Transmission assets through drones, helicopters, and other means of data capture as part of their Wildfire Safety Inspection Program (WSIP). These images are ingested by Sherlock and analyzed using machine (AI) and human vision to assess maintenance needs.

I was the Lead Full-Stack Software Engineer on the Sherlock V2 Rebuild Project. Our mission was to rebuild the entire Sherlock Suite from the ground up, using the latest and greatest technologies, to allow for a more flexible and scalable architecture, while keeping the same user experience and functionality.

Personal Achievements

  • πŸ†Singlehandedly laid the foundation for Sherlock V2 using Nx, NestJS, TypeScript, React, TailwindCSS, GraphQL, Prisma, Terraform and AWS to setup a monorepo for both micro frontends and backends.
  • πŸ†Improved image download performance by 300% by making a series of optimizations in the network and cloud infrastructure.
  • πŸ†Improved application resiliency and data loss prevention by disconnecting frontend state from backend persistence, instead piping all mutations through a transient state management layer that periodically syncs with the backend.
  • πŸ†Implemented a series of micro-frontends with React and TailwindCSS for asset inspection, user management, audit logs and more.
  • πŸ†Implemented a series of self-describing micro-backends supported by a single Data Model with NestJS, Prisma and Swagger.
  • πŸ†Implemented a monorepo publication pipeline using Nx, Terraform and AWS CodePipeline to intelligently build and deploy the entire Sherlock Suite. The pipeline relies on Nx’s Incremental Builds and Webpack Module Federation to only build and deploy the micro-apps that have changed since the last deployment.