Experience

My full CV, also available as a PDF and as Markdown. I'm based in Mexicali, Baja California, Mexico, and I work remotely.

Summary

I'm Pedro Lizárraga, a Senior Software Engineer with 15+ years of experience building scalable, reliable web applications across healthcare, e-commerce, finance, transportation, and government. I specialize in TypeScript, Node.js, NestJS, React, Angular, GraphQL, Cloudflare Workers, Durable Objects, Cloudflare D1, and Epic FHIR integrations, and I hold the Apollo Graph Developer – Associate certification.

I also build AI agents with the Vercel AI SDK as a freelancer, and I conduct code reviews and mentor engineers in cross-functional Agile teams.

Skills

Professional experience

Freelance Software Engineer · Independent

–Present · Remote, Mexicali, Baja California, Mexico

AI Appointment Agent for a Dental Clinic (in development)

–Present

  • Developing an AI agent that answers patient questions and books, reschedules, and cancels appointments for a dental clinic over WhatsApp, with a panel where the clinic team takes over conversations the agent cannot resolve.
  • Implemented tool calling and structured output with the Vercel AI SDK and configurable model providers (OpenAI, Anthropic, Google, OpenRouter) through a closed tool catalog; code enforces identity, policies, and output guards (invented prices, wrong dates), validated by an automated evals suite.
  • Built the backend on Cloudflare Workers, Durable Objects, D1, Drizzle, and Hono, and the team panel with React, with Vitest tests and a GitHub Actions CI pipeline.
  • Designed the solution as a reusable template, one deployment per client, to adapt it to other business niches.

Stack: TypeScript, Vercel AI SDK, OpenAI APIs, Cloudflare Workers, Durable Objects, D1, Drizzle, Hono, WhatsApp Cloud API, Better Auth, React, Vitest, GitHub Actions

Read the AI Appointment Agent case study

Senior Software Engineer · Publicis Sapient

– · Remote, Mexicali, Baja California, Mexico

  • Conducted code reviews and mentored and onboarded engineers joining the projects.

Healthcare Platform

–

  • Built GraphQL and Node.js services in TypeScript for a patient-facing healthcare web and mobile app (doctor search, appointments, lab results, notifications, dependents), owning the doctor search and details subgraph, system notifications, and caching in an Apollo Federation graph.
  • Integrated Epic FHIR APIs (Practitioner, Patient, Appointment, DiagnosticReport, Observation, plus lab tests and medications), parsing source payloads into normalized domain models and joining Epic data with other subgraphs.
  • Designed PostgreSQL models for notifications, preferences, and a cache of Epic practitioner data that avoids unnecessary Epic calls, plus GraphQL schemas and resolver patterns.
  • Strengthened delivery quality through Jest and Vitest test suites and cross-functional collaboration with frontend, mobile, QA, product, and engineering teams.
  • Helped the React Native mobile team migrate Android and iOS build and deployment pipelines from GitHub Actions to Bitrise.

Stack: TypeScript, Node.js, Apollo Server, Apollo Federation, GraphQL, PostgreSQL, Epic FHIR, Jest, Vitest, GitHub Actions, Bitrise

Read the Healthcare Platform case study

Document Search API

–

  • Built a REST API with NestJS that enables search over proprietary documents using Azure AI Search semantic search and Azure Blob Storage.

Stack: NestJS, REST, Azure AI Search, Azure Blob Storage

AngularJS Migration

–

  • Migrated an AngularJS (Angular 1) application to Angular 2+.

Stack: AngularJS, Angular

HR Reporting Tool

–

  • Built a human-resources reporting tool with React and Vite.

Stack: React, Vite

Senior Frontend Developer · Fender Musical Instruments Corporation

– · Remote, Ensenada, Baja California, Mexico

  • Built core experiences for Fender's dealer-facing B2B commerce platform, including product discovery, catalog, cart, ordering, and order-tracking workflows.
  • Designed scalable Angular application structures and improved responsive behavior and navigation across key journeys.
  • Connected frontend capabilities through serverless Node.js services running on AWS Lambda.
  • Collaborated with product, backend, and QA functions in Agile teams to plan, implement, test, and release customer-facing capabilities.
  • Conducted code reviews and mentored and onboarded engineers on the team.

Stack: Angular, TypeScript, Node.js, Express.js, AWS Lambda, Amazon S3, Agile

Read the Dealer B2B Commerce Platform case study

Senior Full-Stack Developer · docDigitales

– · Mexicali, Baja California, Mexico

  • Migrated a legacy WebDev electronic-invoicing platform to a Ruby on Rails SaaS, module by module, covering invoicing, cost control, payroll, customer, and supplier workflows, with parallel redirects until the legacy application was shut down.
  • Implemented full-stack functionality with Ruby on Rails, JavaScript, Bootstrap, and MySQL, balancing usability with dependable business processing.

Stack: Ruby on Rails, JavaScript, Bootstrap, MySQL

Read the Electronic Invoicing SaaS Migration to Rails case study

Full-Stack Developer · Secretaría de Seguridad Pública

– · Mexicali, Baja California, Mexico

  • Led development of SAFyS, a web application used to administer and track public-security funds and subsidies.
  • Automated monthly accounting and reporting activities using C#, ASP.NET/.NET, JavaScript, SQL Server, and Oracle.

Stack: C#, ASP.NET/.NET, JavaScript, SQL Server, Oracle

Software Developer · Grupo GM Transport

– · Mexicali, Baja California, Mexico

  • Developed C# and ASP.NET administrative systems supporting transportation operations and back-office processes.

Stack: C#, ASP.NET

Software Developer · Seres Soluciones en Software

– · Mexicali, Baja California, Mexico

  • Developed client-server business applications with WinDev, WebDev, MySQL, and HyperFile Classic.

Stack: WinDev, WebDev, MySQL, HyperFile Classic

Selected projects

starter-template-nestjs

  • Created a production-ready NestJS 12 starter with Better Auth, PostgreSQL-backed sessions, RBAC, user administration, Prisma, Pino, and Vitest with Testcontainers, to bootstrap new backend projects with consistent best practices.

Read the NestJS Starter Template case study

finance-tracker

  • Built a mobile-first personal finance tracker with Next.js (App Router), Prisma, PostgreSQL, Better Auth, and automated tests with Vitest and Playwright.

RAG Chat over PDFs (personal MVP)

  • Built an MVP that answers questions over uploaded PDFs using NestJS, PostgreSQL, OpenAI embeddings and chat completions, and ChromaDB.

Certifications

Education

Bachelor of Engineering, Computer Systems Engineering · Instituto Tecnológico de Mexicali · Mexicali, Mexico ·–

Languages

Spanish, English (B2+)