Resume

Jake McInerney

Full-Stack Software Engineer — LLM & Agentic Systems

Summary

Full-stack engineer (TypeScript, React, Node, Postgres, AWS, Snowflake) with 4 years building data-platform products — including production AI-assisted features at Epicor — now specializing in LLM integration and agentic systems: local-first RAG pipelines, MCP tooling, human-in-the-loop agents with measured run costs. A theatre-trained communicator who translates hard technical capability into business value — comfortable owning the room in a demo, scoping a POC with a client, or aligning cross-team work.

Skills

Languages
TypeScript · JavaScript · SQL · HTML/CSS
Frontend
React · Vite · Zustand · MobX · Tailwind · Sass · Highcharts
Backend
Node · Express · Postgres · REST API design · service-layer architecture
Infra/DevOps
Docker · AWS · Snowflake · GitHub Actions CI/CD · nginx · Cloudflare · Linux server admin
AI/LLM
agentic tool-use loops · RAG (embeddings, semantic retrieval, dedup) · MCP servers · local model runtimes (LM Studio/llama.cpp/Ollama) · OpenAI-compatible APIs · Anthropic API · prompt/context engineering · human-in-the-loop design · cost observability

Experience

Software Engineer & Consultant

Hardpack Consulting LLC, Remote

March 2026 – present

  • Shipped a submittal-review system for a practicing mechanical engineer: it reads equipment schedules out of PDF submittals and reconciles them against the specified values, taking a check he reports at 30–60 minutes by hand down to 15–20. Built to refuse rather than guess — it will not check an airflow figure against a water-flow column, will not report on a table it could only partly read, and will not let an empty result pass as a completed check.
  • Built an auction-filtering system for an independent mechanic buying salvage vehicles: it ingests the CSV export he downloads from his own account, then dedupes and ranks it so lots he has already rejected never resurface — aimed at the hour he reports spending twice a week re-reviewing cars he has already ruled out. Two-week build.
  • Designed and built a local-first agentic-RAG intake system: a tool-use agent on a local LLM that turns unstructured reports into deduplicated, human-approved tickets — semantic retrieval over the board, fail-safe approval gates, and per-run cost telemetry that labels every figure measured or assumed.
  • Built the AI-native system my client work runs on: a from-scratch MCP server exposing a production-style app to Claude Code as first-class tools, a local-first agentic-RAG intake agent (retrieval → tool loop → human approval gate), and CI guardrails putting every change behind a ticket, a test suite and a review nobody can bypass — including me. That is what lets a two-week solo build carry a full audit trail and leave a codebase the next engineer can pick up cold. Extracted into ticket-workflow (MIT), now driving five repositories from one board.

Software Engineer

Aegle Capital

September 2025 – February 2026

  • Replaced ad-hoc, hand-mirrored TypeScript and Go types with a single parallel type contract both sides were written against, so a shape mismatch had one place to be caught rather than surfacing in QA or production — and saved the team hours of regression hunting.
  • Consolidated duplicated views into extensible components, so a design or behavior change landed once instead of being repeated across every view, and new ones assembled from parts that already existed.
  • Built the frontend's first test suite — a template the team kept extending after it landed.

Product Developer

Grow.com (Epicor), Remote

July 2022 – September 2025

  • Owned the frontend of Grow's greenfield Data Platform end-to-end — the full user journey from ingestion (Salesforce, HubSpot, Google Drive/Sheets, Postgres, CSV connectors, at millions of rows per connection) through the Snowflake data lake and transformation pipeline to Highcharts visualization and secure (SSH-tunneled) data sharing.
  • Built the data-transformation UX, including a production AI-assisted mapping flow that matches ingested data onto user-defined schemas — shipped LLM-powered product features before specializing in them.
  • Designed a non-destructive visualization pipeline: users branch from a cleaned data node to drill into and chart underlying data without mutating the source — exploratory analysis that preserves data-lineage integrity.
  • Implemented user/role permissions underpinning the platform's data security.
  • Full-stack in practice: built the Node/Express/Postgres endpoints behind these UIs; partnered with product management to scope customer requests into shippable features.

Earlier career

  • Owner/property manager (2018–2025): ran a rental property business end-to-end — cash-flow analysis, contractor management, capital projects.
  • ABO-certified optician (2019–2022): patient-facing clinical work — prescriptions, patient records and insurance claims handled under HIPAA — the regulated-data instincts behind the local-first architecture above.
  • Professional theatre, incl. Disney Cruise Line mainstage (2014–2018): live performance for thousands of guests — the communication and composure training behind the demo and client skills above.

Projects

Agentic Kanban — AI-native project system

github.com/mcinerneyjake/kanban
  • Markdown-backed kanban board operated end-to-end by AI agents: an MCP server for Claude Code, a local-first agentic-RAG intake agent (retrieval → tool loop → human approval gate), and an AI-first create flow in the React UI.
  • The guardrails that make agent-written code safe to merge: CI audits the guards themselves, not just the code — it fires a git add -A at the commit hook and fails if the hook doesn't block it, and asks eslint for rule severity rather than trusting the config. The permission model and the merge guards are asserted by tests, not documented and hoped for. Every branch traces to a ticket.
  • Local-first by design: runs air-gapped against LM Studio/llama.cpp; a pluggable cost model meters every run and marks each line measured or assumed, so a modeled figure can never pass as a measured one. Cloud is a config-swap seam, not a dependency.

Education

  • Prime Digital Academy — Full Stack Software Engineering Certificate, 2022
  • Minnesota State University, Mankato — BFA Musical Theatre, 2014, Magna Cum Laude