Sean Brennan

Senior software engineer in legacy modernization, .NET and Azure, and AI integration

Profile

Senior software engineer and architect who modernizes mission-critical .NET platforms while they stay in production. Combines deep C#, SQL Server, PostgreSQL, and Azure expertise with a modern front-end stack (Vue 3, TypeScript) and current practice in AI integration (Model Context Protocol, Azure OpenAI), CI/CD, automated testing, and application security. Known for turning legacy systems into well-tested, observable cloud services for government, legal, and nonprofit organizations.

Selected impact

  • Overnight, never finished 12 minutes

    Document export

    Re-engineered a document-export engine so the largest municipal code books (~1,500 sections, 5M characters) finish in ~12 minutes instead of running all night without completing.

  • Code on public websites Searchable by AI agents

    AI-ready platform

    Launched a multi-tenant MCP and Azure OpenAI service that lets AI agents and a public chat assistant search and cite the codes of every enCodePlus jurisdiction from one deployment.

  • Web Forms and SQL Server .NET 10, Vue 3, PostgreSQL

    Full-stack re-platforming

    Leading the rebuild of a legacy Web Forms and SQL Server product as a .NET 10 API, a Vue 3 front end, and PostgreSQL, with security scanning, coverage gates, and mutation testing built into CI from day one.

  • 807K mismatches Zero mismatches

    9.6M-record migration

    Consolidating a legacy WebForms system into a .NET 10 case-management platform through a resumable, 37-stage SQL migration with automated reconciliation.

Professional experience

– present

enCodePlus

Remote

Senior Software Engineer

Primary engineer for the SaaS platform that 200+ cities and counties use to draft, codify, and publish zoning, land-development, and municipal codes; author of roughly 95% of code changes since joining.

  • Platform re-architecture: Leading the rebuild of the legacy VB.NET Web Forms application as an ASP.NET Core (.NET 10) REST API and a Vue 3 + Vuetify + TypeScript front end, orchestrated with .NET Aspire. Includes a scripted SQL Server-to-PostgreSQL data migration with per-client databases, Entra ID sign-in with JWT-secured APIs, and 30+ rich-text editor plugins ported from CKEditor 4 to HugeRTE.
  • Engineering standards on the new stack: GitHub Actions CI with Semgrep SAST, gitleaks, dependency audits, and Dependabot; coverage ratchets; Testcontainers database tests; Vitest and Playwright suites; and Stryker mutation testing. The new test tiers caught real data-loss bugs. Section export is 3–7x faster (PDF 108 s to 31 s) with a content-addressed export cache.
  • AI services: Designed and shipped a multi-tenant .NET 10 service that exposes each jurisdiction’s published code to AI agents through the Model Context Protocol and powers an embeddable Azure OpenAI chat assistant on public code sites. Per-tenant API keys, rate limiting, and Key Vault–managed secrets let one deployment serve every client.
  • Production readiness: Hardened that service with Polly retries and circuit breakers, OpenTelemetry tracing in Application Insights, health checks, an Entra ID–secured admin console for tenant onboarding and key rotation, and staging-slot deployments with a gated production swap.
  • Performance: Rewrote hot paths in the HTML-to-Word export engine (eliminated an O(n³) section scan, added caching, batched layout passes) and confirmed the output was byte-identical before and after every change.
  • Quality & security on the current platform: Built Azure DevOps pipelines with precompile gates, SAST/SCA and secret scanning, SonarQube, and cross-tenant Playwright smoke tests; grew unit tests from 105 to 705; created a tiered penetration-testing harness (OWASP ZAP, ffuf, Nikto) that keeps active scans off production.
  • Accessibility & reach: Led WCAG/ARIA remediation and VPAT support for public code sites, including a CLI tool that applies accessibility fixes across hundreds of client sites at once. Added multilingual publishing with Google Cloud Translation.
  • Document workflows: Round-trip tracked changes between the web editor and Microsoft Word; AI-ready exports; CloudWriter, WebPlan, and Knowledge Advisor features.

– present

KidsVoice

Pittsburgh, PA

Consulting Developer (2012 – present), Software Architect (2011 – 2012)

  • Architect and lead developer of AnyCase, the case-management platform used by attorneys and social workers delivering full-service child advocacy in five states.
  • .NET 10 modernization: Leading the move from ASP.NET MVC on .NET Framework to ASP.NET Core on .NET 10: dependency injection, Dapper data access replacing LINQ to SQL, Entra ID (OpenID Connect) sign-in, and Azure SQL and Blob Storage.
  • Legacy consolidation: Retiring the organization’s original WebForms system by merging its data and features into AnyCase. Built a restartable, 37-stage SQL migration pipeline (PowerShell runner with reset, resume, and logging) that moves 9.6M+ activity records and reconciles every one: duration mismatches went from 807K to zero.
  • Performance at scale: Moved in-memory filtering into SQL and added targeted indexes so pages stay fast at ~10M activities; made report date filters index-friendly, cutting the 37-report suite from 126 s to 7 s with identical results.
  • AI with HIPAA safeguards: Added Azure OpenAI summaries of case histories and attached documents (with Document Intelligence OCR for scanned PDFs), enforcing HIPAA and office access checks before any cached result and closing an HTML-injection path from uploaded documents.
  • Team & delivery: Led developers, QA, and customer support; built self-service BI reporting; introduced source control, CI, one-click deployments, and NUnit and Playwright test suites.

–

CGI

San Bernardino County, CA

Lead Developer

  • Led an Agile team building the Computer-Aided Mass Appraisal (CAMA) module of the county’s property-system modernization, which replaced a COBOL and VB6 client/server system with a .NET 6 Blazor WebAssembly application on Azure PaaS.
  • Delivered appraiser workflows (valuation queues, comparable search, value adjustments) using CQRS, Fluxor, and Azure SQL, with bUnit tests and static analysis in Azure DevOps CI/CD.

–

NTT DATA (formerly Dell Services)

Plano, TX

Software Development Senior Consultant

  • Architected Nucleus, a customer self-service portal for provisioning virtual machines and ordering services, with REST APIs and integrations to ServiceNow, VMware, Zenoss, Azure, and AWS.
  • Established SDLC standards (source control, CI, one-click deployments to Dev/QA/UAT) and mentored developers while coordinating with an offshore QA team.

Technical skills

Languages
C#, TypeScript, JavaScript, SQL (T-SQL, PostgreSQL), Python, HTML/CSS, VB.NET
.NET & web
.NET 10 / ASP.NET Core, .NET Aspire, Vue 3 / Vuetify / Vite, ASP.NET MVC & Web Forms, Blazor WebAssembly, Dapper
Cloud & DevOps
Azure (App Service, Azure SQL, Blob Storage, Key Vault, Table Storage, Entra ID / OpenID Connect, Application Insights / OpenTelemetry), Docker, GitHub Actions, Azure DevOps Pipelines, AWS
AI
Model Context Protocol (MCP) servers, Azure OpenAI (function calling, summarization), Azure AI Document Intelligence, AI-assisted development (Claude Code)
Testing & quality
NUnit, MSTest, bUnit, Vitest, Playwright, Testcontainers, Stryker mutation testing, SonarQube, Roslyn analyzers
Security & compliance
HIPAA access controls, Semgrep (SAST), gitleaks, dependency auditing, OWASP ZAP (DAST), WCAG 2.x / ARIA, VPAT
Architecture
Multi-tenant SaaS, REST APIs, backend-for-frontend, CQRS, resilience (Polly), legacy modernization, data migration, performance engineering

Education

B.S., Computer Systems, Grove City College, Grove City, PA