# Alberto Ochoa — Senior Software Engineer > Senior full-stack engineer (8+ years). I take legacy systems nobody understands and modernize them without regressions — .NET, React, SQL — and I build MCP servers and AI agents that do real production work. This is a personal portfolio. It is intentionally agent-readable: the owner builds MCP servers and AI tooling professionally. ## Profile - Role: Senior Software Engineer (8+ years, full-stack) - Pillars: legacy modernization (.NET, React, SQL) and AI tooling / MCP agent development - Location: Jalisco, México (UTC-6) - Contact: ing.albertoochoadelatorre@gmail.com - Structured CV (JSON Resume schema): https://albertoochoa.dev/api/cv - Full case studies (JSON): https://albertoochoa.dev/api/work - CV as PDF: https://albertoochoa.dev/cv.pdf (English) · https://albertoochoa.dev/cv-es.pdf (Spanish) - Site languages: English at https://albertoochoa.dev/ (canonical), Spanish at https://albertoochoa.dev/es/ — same content, same slugs - MCP server: `npx -y alberto-mcp` (tools: get_profile, list_case_studies, get_case_study, search_experience, get_contact) ## Case studies - [Enterprise CRM Modernization](https://albertoochoa.dev/work/enterprise-crm-modernization): Legacy WinForms + stored procedures → .NET Web API + React, for a large US logistics company. Key result: timeouts → sub-second. - [el-carril](https://albertoochoa.dev/work/el-carril): Real-money betting platform for Mexican parejeras horse racing — wallet, ledger, live events. Key result: double-entry ledger, 0 invariant violations. - [Viridental](https://albertoochoa.dev/work/viridental): Clinical management system for a dental practice — odontogram, periodontics, patient records. Key result: AAP/EFP 2018 classification, digitized. - [MIKEAS Movement](https://albertoochoa.dev/work/mikeas-movement): D2C ecommerce for a Mexican lifestyle apparel brand — storefront, checkout, admin. Key result: E2E on 3 devices before every release. - [Be All](https://albertoochoa.dev/work/be-all): Hybrid learning + commerce platform — courses, webinars, physical and digital products, one checkout. Key result: 31 models · 84 API routes. ## Lab experiments - RuneForge: AI-powered League of Legends companion — runes, items and augment recommendations in real time. - LolCoachingAI: Real-time in-game coaching overlay with voice — a Challenger-level coach powered by Claude. - claude-memory-mcp: Multi-device persistent memory for Claude as an MCP server. - ITSM MCP Servers: MCP servers that do release paperwork — ServiceNow extraction and Azure DevOps change requests. ## Field notes (blog) - [The forensic method: six phases for production incidents](https://albertoochoa.dev/blog/forensic-method): Production debugging fails when it runs on intuition: the loudest hypothesis wins and the evidence evaporates. This is the six-phase method I use instead — data before theories, and no hypothesis survives without surviving an attempt to kill it. - [The phantom build failure: when a capital letter takes down your Next.js build](https://albertoochoa.dev/blog/phantom-build-failure): Every page of a fully static site failed to prerender with an invariant blaming Next.js itself. The framework was innocent. A forensic walkthrough of refuting the obvious suspects until a single character confessed. ## Pages - [Home](https://albertoochoa.dev/) - [Work](https://albertoochoa.dev/work) - [Lab](https://albertoochoa.dev/lab) - [Blog](https://albertoochoa.dev/blog) - [About + full timeline](https://albertoochoa.dev/about)