Skip to content
back to portfolio

Deloitte2025–Present

PoolRM — internal staffing-intelligence platform

Lead senior engineer on PoolRM, an internal firm-initiative platform that matches open project staffing needs to consultant availability and skills, replacing a slow manual process. Built AI-first with Claude Code from day one: senior designers build the frontend AI-assisted while a principal engineer owns business requirements and I lead the backend and the AI-development workflow. Designed a NestJS API on AWS Fargate behind an Application Load Balancer with an RDS PostgreSQL database, provisioned via AWS CDK (ECR, S3, CloudFront), using Prisma, Zod, and TanStack Query across an npm-workspaces monorepo. Authored a cross-compatible Claude Code + GitHub Copilot context system so AI coding quality and developer experience stay uniform across machines, sessions, and tools, and introduced PRD-driven development influenced by BMAD with a custom implementation. Roughly 300 weekly users; improved data integrity in charge-code-to-project mapping.

Lead Senior EngineerNestJSNode.jsTypeScriptPostgreSQLAWS FargateAWS CDKPrisma

PoolRM is an internal firm-initiative platform that matches open project staffing needs to consultant availability and skills. The process it replaces was manual and slow: leads hunting for who was free, who had the right skills, and which projects needed staffing, across spreadsheets and conversations. PoolRM turns that into a system. Roughly 300 people use it each week.

I'm the lead senior engineer. A principal engineer owns the business requirements, senior designers build the frontend AI-assisted, and I lead the backend and the AI-development workflow that keeps the whole team moving.

Built AI-first, from day one

PoolRM was built with Claude Code from the first commit. That's not a footnote, it changes how the team works. Designers who aren't career backend engineers are shipping real frontend code AI-assisted, and my job is to smooth the rough edges: git workflow, code review, and the guardrails that keep AI-generated code consistent and correct across a team.

The piece I'm proudest of is a cross-compatible context system for Claude Code and GitHub Copilot in a single codebase. The problem it solves: AI coding quality drifts when every developer has a different setup, and it drifts again between sessions and between tools. The context system gives everyone a uniform experience regardless of which machine they're on, which session they're in, or whether they reach for Claude Code or Copilot. The AI has the same project understanding every time, so its output quality stays high and consistent instead of degrading at the edges.

On top of that I introduced PRD-driven development, taking influence from BMAD while implementing my own approach to fit how this team actually works. Requirements become structured documents the AI and the engineers both work from, so the gap between "what was asked for" and "what got built" stays small.

The backend

I designed and built the backend: a NestJS API on AWS Fargate, sitting behind an Application Load Balancer, talking to an RDS PostgreSQL database. The whole stack is provisioned with AWS CDK (ECR for the container images, S3 and CloudFront for static delivery), so the infrastructure is code and reproducible.

The application layer uses Prisma for type-safe database access, Zod for validation at the boundaries, and TanStack Query on the client, all in an npm-workspaces monorepo so shared types flow cleanly between the API and the frontend. TypeScript end to end, tested with Jest and Vitest plus React Testing Library.

The outcome

PoolRM makes staffing legible. Leads can see what needs staffing and who fits, instead of reconstructing it by hand. It also improved data integrity in how charge codes map to projects, cleaning up a source of error in the old workflow. It's in weekly use across the practice.