{"$schema":"https://jsonresume.org/schema","basics":{"name":"Alberto Ochoa","label":"Senior Software Engineer","email":"ing.albertoochoadelatorre@gmail.com","url":"https://albertoochoa.dev","summary":"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.","location":{"region":"Jalisco","countryCode":"MX"},"profiles":[{"network":"LinkedIn","url":"https://www.linkedin.com/in/alberto-ochoa-de-la-torre-340410171/"},{"network":"GitHub","url":"https://github.com/junior8adlt"}]},"work":[{"position":"Senior Software Engineer","name":"Nexaminds","period":"Sep 2024 — present","summary":"Enterprise CRM modernization for a large US logistics client: WinForms + stored procedures → .NET Web API + React.","highlights":["End-to-end ownership across 6+ quarterly releases: SQL design, API, React UI, production support.","Critical screens from user-visible timeouts to sub-second; led stored-procedure-to-LINQ migration and API consolidation.","Built MCP servers (Python + Playwright) automating ITSM ticket extraction and change-management artifacts.","Release support lead: production issue queue, hotfix cherry-picks, change-approval coordination."]},{"position":"Senior Software Engineer","name":"Pentalog","period":"Jul 2021 — Aug 2024","summary":"Enterprise platform managing programs, coaches and students across multiple US universities.","highlights":["React + GraphQL interfaces with real-time feedback and automatic session handling; +15% process efficiency through automation.","Designed reusable component architecture and state-management patterns.","Presented demos directly to clients; led frontend candidate screening and technical evaluations."]},{"position":"Software Engineer","name":"Edgebound","period":"Jan 2021 — Jul 2021","summary":"Ecommerce platform features on VTEX and HCL Commerce.","highlights":["Checkout flows, cart systems, shipping and payment integrations.","Sales and usage analytics dashboards."]},{"position":"Software Engineer","name":"Rokode","period":"Jun 2019 — Dec 2020","summary":"Frontend solutions for enterprise clients, including major automotive companies.","highlights":["Employee transport tracking, event platforms, interactive plant maps — React and React Native.","Led a team of 4 frontend developers."]},{"position":"Software Engineer","name":"Ferax","period":"Jul 2018 — May 2019","summary":"Logistics and waste-management web and mobile applications.","highlights":["Route scheduling and real-time vehicle tracking (AngularJS, Node.js, React Native + Google Maps).","Payment integrations and identity verification modules."]}],"skills":[{"name":"backend","keywords":[".NET / C#","ASP.NET Core","LINQ","SQL Server (T-SQL, optimization)","Node.js","NestJS","PostgreSQL","Prisma","Redis"]},{"name":"frontend","keywords":["React","Next.js","TypeScript","Tailwind CSS","Redux","React Native"]},{"name":"ai","keywords":["MCP server development","Claude API","Python","Playwright","prompt engineering","agent workflows"]},{"name":"practices","keywords":["legacy modernization","API-first design","feature flags","release management","incident forensics","load testing (k6)"]}],"projects":[{"name":"Enterprise CRM Modernization","type":"case-study","description":"Legacy WinForms + stored procedures → .NET Web API + React, for a large US logistics company","keywords":[".NET","C#","React","SQL Server","LINQ","Azure DevOps","LaunchDarkly"],"url":"https://albertoochoa.dev/work/enterprise-crm-modernization","highlights":["< 1s — response time on previously timing-out critical screens","0 regressions — legacy workflows replaced at parity across releases","hours/release — saved by MCP-automated change-management paperwork","stable defect ratio — across releases under mandatory AI-assisted + peer review"]},{"name":"el-carril","type":"case-study","description":"Real-money betting platform for Mexican parejeras horse racing — wallet, ledger, live events","keywords":["NestJS","Prisma","PostgreSQL","Redis","React","k6"],"url":"https://albertoochoa.dev/work/el-carril","highlights":["100% reconcilable — balances recomputable from the ledger at any point in time","~100 VUs — sustained load on minimal infra, with a measured (not guessed) ceiling","argon2 — identified as the true CPU bottleneck via load forensics, not assumption"]},{"name":"Viridental","type":"case-study","description":"Clinical management system for a dental practice — odontogram, periodontics, patient records","keywords":["NestJS","Prisma","PostgreSQL","React","PWA"],"url":"https://albertoochoa.dev/work/viridental","highlights":["paper → 0 — clinical records fully digital for new patients","computed staging — periodontal classification derived from findings, not transcribed"]},{"name":"MIKEAS Movement","type":"case-study","description":"D2C ecommerce for a Mexican lifestyle apparel brand — storefront, checkout, admin","keywords":["Next.js 15","TypeScript","PostgreSQL","Playwright","Vitest"],"url":"https://albertoochoa.dev/work/mikeas-movement","highlights":["3 devices — desktop, iPad, iPhone — every module E2E-tested before release","push = prod — trunk deploys safely because the release gate is non-negotiable"]},{"name":"Be All","type":"case-study","description":"Hybrid learning + commerce platform — courses, webinars, physical and digital products, one checkout","keywords":["Next.js 14","MySQL","Prisma","Stripe","Clerk","Claude API"],"url":"https://albertoochoa.dev/work/be-all","highlights":["1 checkout — for three product verticals with different fulfillment and refund rules","auto-resolved refunds — policy engine approves routine cases; humans only see the exceptions","in production — live at beallfam.com serving a Spanish-speaking market"]},{"name":"RuneForge","type":"experiment","description":"AI-powered League of Legends companion — runes, items and augment recommendations in real time","keywords":["React","FastAPI","Python","Electron","Claude API","SQLite"],"highlights":["An ARAM interaction engine with 71+ tagged mechanic chains that detects 'broken' combos mechanically (infinite-scaling scenarios statistics miss) — verified by a golden no-regression test suite of 120+ tests."]},{"name":"LolCoachingAI","type":"experiment","description":"Real-time in-game coaching overlay with voice — a Challenger-level coach powered by Claude","keywords":["Electron","React","FastAPI","Claude API","WebSocket","TTS"],"highlights":["Solving overlay-on-game rendering plus real-time Claude prompting with structured Pydantic schemas for matchup analysis, jungle prediction heatmaps, and S–D graded post-game reports."]},{"name":"claude-memory-mcp","type":"experiment","description":"Multi-device persistent memory for Claude as an MCP server","keywords":["MCP","TypeScript","Turso","SQLite FTS5"],"highlights":["Memory recall as ranked full-text search over a synced edge database — the same pattern this portfolio uses to stay readable by agents."]},{"name":"ITSM MCP Servers","type":"experiment","description":"MCP servers that do release paperwork — ServiceNow extraction and Azure DevOps change requests","keywords":["MCP","Python","Playwright","Azure DevOps"],"highlights":["Not demos: these run during actual quarterly releases and save hours of change-management paperwork per cycle."]}],"education":[{"institution":"Instituto Tecnológico Superior de Chapala, México","area":"Computer Systems Engineering"}],"languages":[{"language":"English","fluency":"Fluent"},{"language":"Spanish","fluency":"Native"}],"meta":{"canonical":"https://albertoochoa.dev/api/cv","note":"Machine-readable CV. Human version at the site root. Built by an engineer who ships MCP servers; agents welcome."}}