--:-- local Available for new work

Developer working at the edge of AI, building small, specific tools.

I'm James. I build MCP servers, agents, and observability tools that sit between language models and real enterprise workflows. Insurance-industry roots, AI-native approach.

Focus
  • MCP servers & agent toolingcore
  • Deterministic preprocessingdeep
  • Observability & synthetic monitoringapplied
  • Multi-model routingdaily
Stack
  • Python · FastAPI
  • PHP · MySQL
  • PostgreSQL · PostGIS
  • Claude · GPT · Ollama · Qwen3
  • Docker · nginx · n8n
Currently
  • Shipping Travel Alerts MCP
  • Iterating on multi-model routing
  • Open to dev-role conversations
Elsewhere

Small, specific tools I'm actively building.

Day 1 honesty: these are active builds, not case studies yet. I'll add write-ups as each one earns them.

  1. 01
    Travel Alerts MCP

    An MCP server that folds nine global travel-safety feeds — GDACS disasters, US State Department advisories, FAA NOTAMs, NOAA, UK FCDO, USGS, CDC, ReliefWeb — into two queryable tools for LLMs.

    RoleSolo build StackPython · FastMCP · SQLite StatusLive
  2. 02
    NOTAM Decoder

    A Python library that decodes 400+ ICAO Q-codes, expands ~300 aviation abbreviations, and parses both ICAO and FAA domestic NOTAM formats — so cryptic aviation notices reach the model already structured, not as string soup.

    RoleLibrary + CLI StackPython · rule tables · pytest StatusShipping
  3. 03
    SiteProbe

    A crawler that hits target URLs through multiple simulated visitor profiles and flags divergent HTTP responses. Born from a real production incident where silent WAF rules were blocking legitimate customers.

    RoleSolo build StackPython · FastAPI · Postgres · React StatusLive
  4. 04
    MockShield

    A configurable mock target with a rule engine returning varied HTTP responses (200/403/429/503) based on request shape. Companion to SiteProbe — makes the rule-misconfiguration failure mode reproducible on demand.

    RoleCompanion build StackPython · FastAPI · Docker StatusLive
  5. 05
    MyAssistant — local orchestrator

    A FastAPI + Ollama assistant that routes requests across 16 tools and two Qwen3 models (a 0.6B router, a 4B reasoner) — with DAG-based context compression so long conversations keep full fidelity without token bloat.

    RoleSolo build StackPython · FastAPI · Ollama · Qwen3 StatusOperational
  6. 06
    docredact

    A local-first PDF redactor. Two-pass PII detection (Presidio + GLiNER zero-shot NER) wrapped around layout-aware extraction, with an interactive approve/deny review — so sensitive documents never touch a cloud model before redaction.

    RoleSolo build StackPython · Granite-Docling · Presidio · GLiNER StatusAlpha

Starting this portfolio honestly.

Portrait of James Gault

I'm James Gault, a developer and AI power user based in the US. My day job is running customer service operations at a travel insurance company — training, escalations, the edges of the product where real customers meet real systems. That vantage point is where most of my projects come from: tooling for problems I watched go unsolved.

I came up on PHP and MySQL in the late '90s and early 2000s, stepped away from development, and came back through AI. Today I pair with LLMs to build the things I used to build by hand — MCP servers, agents, observability tools — with the same instinct for the quiet plumbing between systems.

This portfolio is the start of something, not the end of one. No giant shipped-at-Stripe logos yet — just a point of view, a few live projects, and a commitment to write honestly about what I'm learning as I build.

If you're working on AI tooling, agent infrastructure, or insurance-adjacent dev work, I'd like to hear from you.

Based
United States · remote-friendly
Open to
Dev roles, collaborations, contract work, interesting conversations
Reading
Anything on agent evals, DX, tools for thought
Writing
Weekly-ish
Contact · Let's talk

If you're building something in AI, email me.

I read everything. I reply to most. Short is fine — a sentence about what you're working on and why is usually enough.