Zach McEntire, Full-Stack and AI Engineer
Portrait photograph of Zach McEntire

About

Zach McEntire

Full-Stack & AI Engineer

I build agentic systems, cloud-native APIs, and the support tooling that keeps them running and then I support the engineers who depend on them. My background spans full-stack product engineering, Technical Account Management, and incident command, which means I can ship the feature, debug the integration, and explain both to a customer on the same day. Sometimes all three in the same afternoon.

Most recently I deployed and triaged live network infrastructure for the Sundance Film Festival : seven venues, 20,000+ attendees, zero tolerance for downtime during screenings. Before that, I led incident command at ActionIQ on production CDP failures, built agentic AI tooling at the intersection of SENTINEL/OPS and SupportDesk, and designed 6 custom ASP.NET web pages for Splunk's partner portal as a TAM at Impartner.

Off the clock: I take weightlifting and pizza with equal seriousness. Elder emo: industrial, metal, post-rock. It was never a phase. Cosmic horror enthusiast. Top three games: Bloodborne, Ocarina of Time, The Last of Us. Top three films: Blade Runner, Inception, Shawshank. Currently targeting Support Engineering, Full-Stack/Backend, and Solutions Engineering roles, remote preferred, Salt Lake City based.

Skills & Stack

Technical Arsenal

UI engineering — component architecture, type-safe interfaces, accessibility

7 skills
Exposure
Solid
Expert
  • React
  • Next.js
  • TypeScript
  • Angular
  • JavaScript
  • HTML5
  • CSS3

DevOps & SDLC

How I Ship

Every project goes through the same pipeline: feature branch → CI checks → preview deploy → PR review → production. Automated from commit to live.

CI/CD Pipeline● animated packets = live trigger events
git pushfeature branchCI Checkslint · testActionsBuildnext buildPreviewVercel / PR URLPRMerge → mainPR approvedProductionauto-deploy

Branch Strategy

mainfeature/xyzPR mergedeployCI gate

Feature branches off main. CI gate on every push — lint + build must pass before a PR can merge. Preview deployment auto-generates on PR open. Merge triggers production deploy.

Deploy Targets

Vercel

Portfolio v2 (this site)

Trigger

Push to main

Environments

Preview per PR → Production on merge

Zero-config Next.js. Preview URLs on every PR branch for stakeholder review before merge.

Railway

TigerData Fitness Tracker

Trigger

Push to main

Environments

Single production environment

Managed containers with automatic redeploys. FastAPI + TimescaleDB run as separate services with private networking.

Netlify

Stoic Timeline, Stoic Quote, Metronome

Trigger

Push to main

Environments

Production + deploy previews

CRA and React apps served via global CDN. netlify.toml pins Node version to prevent OpenSSL conflicts.

Firebase Hosting

HotZone field resource app

Trigger

GitHub Actions on merge

Environments

Preview channel per PR → Live on merge

Actions workflow uses firebase-hosting-pull-request.yml for preview channels and firebase-hosting-merge.yml for production.

Real Workflow — Firebase Hosting Deploy

.github/workflows/firebase-hosting-merge.ymlView on GitHub ↗
# .github/workflows/firebase-hosting-merge.ymlname: Deploy to Firebase on mergeon:  push:    branches: [ main ] jobs:  build_and_deploy:    runs-on: ubuntu-latest    steps:      - uses: actions/checkout@v3      - uses: actions/setup-node@v3        with:          node-version: '18'      - run: npm ci      - run: npm run build        env:          NODE_OPTIONS: --openssl-legacy-provider      - uses: FirebaseExtended/action-hosting-deploy@v0        with:          repoToken: ${{ secrets.GITHUB_TOKEN }}          firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT }}          channelId: live

This workflow runs on every merge to main and deploys to Firebase Hosting production. A parallel workflow (firebase-hosting-pull-request.yml) creates preview channels on every open PR.

AI-Powered Tool

Recruiter Bio Personalizer

Paste a job description. Claude rewrites my professional summary to match the language and priorities of that specific role, live, in your browser.

Awaiting input
0 / 3,000

Guide Claude toward a specific angle: domain, skill, or story you want to lead with.

Paste a JD to continue

DUMONT // PORTFOLIO GUIDE
>

Welcome, visitor. Want to know if Zach is the right hire?