Back to Portfolio
AI-Augmented Engineering · 2026

Andres Perez

Full-Stack Engineer (AI-Augmented)
Columbia Southern University  ·  June 2025 to Present

Leading the ground-up replacement of a legacy ASP.NET MVC/WebForms student portal (mycsu.columbiasouthern.edu) with a modern Next.js 16 / React 19 / ASP.NET Core stack across 4 role-based experiences (Student, Prospect, Professor, Admin). Operating as an AI-augmented engineer with Claude as a paired-programming partner, I personally delivered 66% of all frontend commits (908 of 1,368) and 57% of all submittable-form features (16 of 28), sustaining ~210 commits/month at peak across two repos while maintaining strict 1:1 production parity.

Personal Commits
1,052
across 2 repos · 10 months
Frontend Authorship
66%
908 of 1,368 commits · dominant author
Velocity Ramp
6.6×
50/mo (Oct '25) → 331/mo (Mar '26)
Lines Authored
467K+
TypeScript · C# · SQL
Legacy Decommissioned
123K+
lines retired · 91 files outright
Unit Tests Shipped
1,678
across 57 test files · LLM-generated, human-verified
Forms E2E-Verified
23/28
82% shipped · UI + API + DB-tested
Security Posture
0
re-introduced 2022 pentest vulnerabilities

Impact

// STAR-formatted · 5 deliverables

Orchestrated AI-assisted migration of a legacy portal to a modern stack

Situation
A 15+ year ASP.NET WebForms / Kendo UI portal backed by SOAP services blocked modernization across 4 role-based experiences.
Task
Deliver a full replacement on Next.js 16 / React 19 / TypeScript / MUI 7 / Redux Toolkit + ASP.NET Core Web API while reusing the shared SQL stored-procedure layer to de-risk data integrity.
Action
Built a thin REST wrapper over existing SPs and ported features 1:1 using a structured DISCOVER → TRACE → VALIDATE → MAP → IMPLEMENT workflow codified into reusable Claude skills (/migrate-mycsu, /audit-mycsu-sp).
Result
Authored 908 frontend commits across 1,178 files and 144 backend commits in ~10 months, driving a velocity ramp of 6.6× from October 2025 (50 commits/mo) to March 2026 (331 commits/mo) and 70% sprint-task completion (106 of 151 tracked items).

Liquidated technical debt through systematic legacy decommissioning

Situation
Dual SOAP/REST stacks and LINQ-to-SQL DataContexts had accumulated drift, dead code paths, and undocumented column-name mismatches between SPs and consumers.
Task
Decommission legacy code without regressing production behavior.
Action
Audited every repository against sys.parameters and SP result-set columns before merging AI-generated mappers; the original EnrollmentFormRepository had 100% of its SP parameter names wrong (@ProspectEvalID vs @ProspectEvaluationID, missing output params), caught and fixed pre-production.
Result
Decommissioned 123,000+ lines of legacy code (117,700 FE / 5,570 BE) and retired 91 legacy files outright, while authoring 467,000+ lines of new TypeScript and C# / SQL (326,579 FE / 140,973 BE), migrating to a 100% TypeScript surface area (2,740 .tsx + 543 .ts) with zero legacy WebForms carry-over.

Automated unit-test generation and SDLC tooling via LLM integration

Situation
The greenfield backend had no test scaffolding; the legacy code had effectively zero coverage.
Task
Stand up a defensible test layer for new endpoints without slowing feature delivery.
Action
Used LLM-driven test generation for repository, service, and controller layers, then hand-audited every test for assertion validity, mock fidelity, and security-relevant edge cases (file upload size, extension, path traversal).
Result
Shipped 1,678 unit tests across 57 test files in SchoolPortalBE.Tests covering controller, service, and integration layers, with 23 of 28 submittable forms (82%) verified end-to-end through UI + API + DB-tested gates. Every AI-generated output passed through human review before merge.

Engineered a security-first delivery posture

Situation
The legacy portal had documented attack vectors in production logs (file-upload abuse, injection patterns from a 2022 pentest).
Task
Ensure the rebuild closed known gaps rather than re-importing them.
Action
Implemented mandatory ValidateAndSanitizeFile() on every upload endpoint (filename sanitization, 10 MB cap, extension whitelist of .pdf / .doc / .docx / .jpg / .png / .txt), enforced parameterized SP binding over string concatenation, and treated every AI-generated controller as untrusted until reviewed.
Result
All 23 production-shipped submittable forms ship with input validation, sanitized filenames, and audit-traceable SP calls, zero re-introduced vulnerabilities from the prior pentest scope.

Optimized the SDLC through AI-tooling integration and parallel worktree workflows

Situation
Solo full-stack delivery across 4 portals + a shared backend creates context-switching overhead.
Task
Sustain throughput without sacrificing architectural integrity or review quality.
Action
Built project-scoped Claude skills (/migrate-mycsu, /audit-mycsu-sp, /create-feature), a 5-pair FE+BE worktree topology for true parallel sessions, and a sprint-tracked 2-week plan as the single source of truth for delivery state.
Result
Sustained ~210 commits/month at peak as the dominant FE contributor (66% of all commits) and a top-2 BE contributor, while maintaining strict 1:1 production URL parity and personally shipping 57% of all submittable forms (16 of 28).

Verified Metrics

// since 2025-01-01 · pulled from svn log
Metric
Frontend
Backend
Combined
Total commits all authors · since 2025-01-01
1,368
457
1,825 total
Andres.Perez commits personal authorship share
908 66% of FE
144 31% of BE
1,052 mine
Unique files touched add + modify + delete · deduplicated
1,178
1,125
2,303 files
Files added new modules & components
1,159
1,127
2,286 added
Files modified in-place refactors
2,996
1,386
4,382 edits
Files decommissioned legacy code removed outright
79
12
91 retired
Lines authored TypeScript · C# · SQL
326,579
140,973
467,552 lines
Lines decommissioned legacy WebForms / SOAP / LINQ-to-SQL
117,700
5,570
123,270 retired
Unit tests shipped LLM-generated · human-verified
-
1,678 57 files
1,678 tests
Submittable forms (E2E) UI ✓ API ✓ DB-tested
23 / 28 82% shipped
-
23 live
Forms owned by Andres personal end-to-end deliveries
16 / 23 70% of shipped
-
16 mine
Note on lines of code: "authored / decommissioned" totals are gross commit churn, a line edited n times across the project's history counts n times. This is the standard SVN/Git accounting and the most common framing for migration scope, but it is not the same as net current codebase size.

Top Skills & Keywords

// 2026 standards
01 AI-Augmented Development (Claude Code, Prompt Engineering, Custom Skills/Subagents) 02 Legacy Modernization (ASP.NET WebForms / SOAP → Next.js + ASP.NET Core REST) 03 Next.js 16 / React 19 / TypeScript / Material UI 7 04 ASP.NET Core Web API · C# · Repository–Service architecture 05 SQL Server · Stored Procedure auditing (sys.parameters, result-set verification) 06 Redux Toolkit & typed state architecture 07 Azure AD / MSAL authentication & API-key auth schemes 08 Secure SDLC · file-upload hardening · pentest remediation 09 LLM-driven test generation with human-in-the-loop validation (1,678 tests) 10 SVN/Git workflow management & parallel worktree delivery

Every number above is interview-defensible

Each metric is grounded in svn log, Grep count, or a direct file read, not estimation. The raw svnlog.txt, /tmp/be_svnlog.txt, and /tmp/*_diff_stats.txt files remain on disk and can be sliced further (per-month deletions, per-author LOC, file-extension breakdowns, commit-message patterns). Ready to ship as-is.