Tom Marler

Senior Software Engineer · Applied AI on Spring Boot

Summary

Java engineer with 7+ years shipping production systems in insurance, retail, and e-commerce, now focused on putting LLMs into Spring Boot services. I build with Spring AI end to end: retrieval over pgvector, tool calling, MCP, streaming voice agents, and evaluation suites that keep model behavior honest in CI. Everything runs on Azure, provisioned with Terraform. I hold AI code to the same TDD and XP discipline as any other code, and I teach teams to do the same.

Spring AI & LLM Stack

Spring AI 2.0
ChatClient Advisor chains, QuestionAnswerAdvisor over VectorStore, @Tool callbacks, structured output, streaming replies, MCP server and client
Models
Azure OpenAI (GPT-4o, GPT-4o-mini), OpenAI Realtime API, Ollama (Qwen 2.5, nomic-embed-text) for local inference
Retrieval & data
PostgreSQL + pgvector, chunking and embedding pipelines, grounding checks, MongoDB
Evaluation
Dokimos eval suites for intent, grounding (LLM-as-judge) and RAG answer quality; gold-set prompt harnesses; pairwise RAG judging
Platform
Java 21, Spring Boot 4, Azure (Container Apps, Service Bus, Event Grid, Key Vault, Azure OpenAI), Terraform, Docker, GitHub Actions
Integrations
Microsoft Graph and M365, Twilio ConversationRelay and Media Streams, eBay Trading API, SAM.gov
Practice
TDD around the model seam, XP and pairing, Moderne and OpenRewrite for large-scale refactoring

Applied AI Projects

May 2026 – Present 130 commits · 42 test classes
Spring AIpgvectorAzureTerraform

IntelligentOldMan AI operations platform for a trading-card business

  • Built an event-driven pipeline that turns a Microsoft 365 mailbox into queryable business data: Graph change notifications flow through Event Grid and Service Bus, then each message is deduplicated, classified, grounded, chunked, and embedded into pgvector.
  • Implemented RAG question answering with QuestionAnswerAdvisor so the agent answers only from retrieved email context, and escalates high-signal supplier inquiries to a human.
  • Added an intent classifier with a grounding evaluator and an operator correction API, so mistakes feed back into the system instead of disappearing.
  • Wrote Dokimos eval suites (intent accuracy, grounding judge, RAG answer quality) that run as a separate Gradle task, keeping LLM regressions out of main.
  • Shipped a card identification API (image and OCR text to catalog lookup) and exposed agent helpers as @Tool methods for MCP.
  • Ran the infrastructure as Terraform stacks on Azure, including Graph subscription lifecycle management, delta-sync reconciliation, and OpenAI capacity and 429 throttling controls.
2026 46 commits · 38 test classes
VoiceTwilioStreaming

Parley Self-hosted phone agent for Poke Pitch Shop

  • Built the production voice path on Twilio ConversationRelay over WebSocket, streaming Azure OpenAI replies sentence by sentence so callers hear the answer while it is still being generated.
  • Added native barge-in, per-turn and per-stage latency logging, guardrails on every reply, and store facts injected into each turn's context.
  • Persisted post-call summaries to MongoDB and kept a turn-based fallback path for resilience.
  • Extended it to answer for several businesses, each on its own number, with business wording moved out of code into per-business profiles and callers scoped to the right one.
  • Imported eBay listings into a MongoDB inventory with an in-memory index and utterance matcher, so live stock is injected into the turn when a caller names a card.
2026
TeachingTDDSecurity

Rollo Spring AI knowledge-transfer curriculum

  • Designed a staged learning path (chat, then RAG, then tools) that teaches a Spring Boot / XP team Spring AI by shipping a real, secure service in small stories.
  • Mapped Spring AI concepts onto familiar Spring idioms, for example advisors as servlet filters, and practiced red-green-refactor around the ChatModel seam.
  • Treated security and observability as day-one requirements, with a request security gate, custom advisors, and interceptors.
2026 34 commits
AgentsOllamaPipelines

Draftsmith AI writing agent for technical tutorials

  • Built a drop-a-link pipeline that ingests a URL into source material and drives outline, draft, self-edit, and export steps from a step registry, with the provider and model set per step (cloud or a local Ollama GPU box).
  • Added a code-check step that checks the draft's code samples and blocks exports when they fail, so broken examples never ship.
  • Runs as a NAS worker: dropping a link file into an inbox produces a draft pull request, with exports for Medium, tommarler.com, and X threads.
sdvosb-brainDaily SAM.gov ingest that summarizes and scores SDVOSB contract notices against a capability statement, using local Ollama models and pgvector.
Voice Agent referencePhone agent on the OpenAI Realtime API with RAG over pgvector and backend tool calls, with Spring AI as the brain and a small Node bridge for audio.
RAG JudgeSpec-driven design for a pairwise judge that compares RAG answers, planned as 18 vertical-slice tasks.

Experience

Jul 2022 – Present

Allstate Insurance Senior Software Engineer, Full-Stack

  • Led large-scale automated refactoring with Moderne and OpenRewrite across services, migrating Spring Boot versions and removing deprecated APIs.
  • Coach engineers in TDD and XP; pair daily and run standups, iteration planning, and retrospectives.
Sep 2020 – Jul 2022

MidwayUSA Lead Merchandising Developer

  • Reduced chargebacks with a fraud-detection system that checked customer credentials against known data-breach databases.
  • Built full-stack C# web applications with high standards for code quality and test coverage.
Jul 2019 – Sep 2020

Shelter Insurance Java Software Developer

  • Cut credit-report processing from 14 days to near real time with a Spring Boot service integrated with LexisNexis.
Nov 2020 – Present

JmacLogistics Co-Founder & Developer

  • Build applications that surface government-contract data and apply OSINT to identify prime contractors for business development.

Earlier, Service & Education

2017 – 2019Quarkworks, iOS / Web Developer · Disabled American Veterans, Digital Marketing Associate
2002 – 2016U.S. Marine Corps / Missouri Army National Guard, Protective Services and Security Clerk
2015 – 2017University of Missouri, Columbia · B.S., Information Technology