ABAaron Buhr

AARON BUHR · SENIOR SOFTWARE ENGINEER

Backend.
Platform.
Applied AI.

I build the systems behind the interface.

Backend services, data pipelines, and practical AI tools in Python, C#, and C++. From architecture to production debugging, I take hands-on ownership of the software I build.

01 / BACKEND & PLATFORM

Built for real workloads.

Services, queues, ingestion, and data systems. Explicit failure handling, recoverable processing, and the operational visibility to diagnose what happened.

02 / APPLIED AI

Models inside engineered systems.

Retrieval, MCP servers, and AI-assisted workflows. Defined contracts and inspectable outputs, with deterministic code responsible for validation and execution.

SELECTED WORK

Problems. Decisions. Working code.

Independent projects, with their current status.
Production work follows below.

02Complete · Personal daily use

MailLens

Answers from an email archive, with the sources attached.

Self-hosted email intelligence tested against roughly 66,000 messages across four accounts and more than a decade of history.

THE ENGINEERING DECISION

Combine vector and keyword retrieval, recover conversation context, and fit the strongest evidence into the model’s context budget. Generate embeddings locally.

Python / FastAPI / pgvector / Ollama

View source
Architecture notes

Ingestion parses and deduplicates email, splits long messages into overlapping chunks, and embeds them locally. Retrieval merges keyword and vector results, then expands relevant threads.

Context budgeting limits per-message length and filters weak matches. Answers stream with citations. Cloud LLMs are optional; local generation is available through Ollama.

03Complete · Personal use

AI MCP Server

One tool interface. Multiple model providers.

A reusable routing server that renders caller-supplied prompt templates and sends requests to OpenAI, Anthropic, or Google models.

THE ENGINEERING DECISION

Separate provider routing from application workflows. Keep request contracts, validation, retry configuration, and audit logging at the tool boundary.

Python / MCP / FastAPI / Pydantic

View source
Architecture notes

One codebase supports stdio, HTTP, and HTTPS. Configuration maps intelligence tiers to provider models; credentials are resolved from environment variables.

Tests cover configuration, template rendering, routing, contracts, and validation. Health checks expose provider readiness.

04Complete · Personal use

DOCX Renderer MCP

An explicit policy boundary for generated document code.

Accepts a document program, validates it against a static policy, and executes accepted code in a separate render workspace.

THE ENGINEERING DECISION

Reject prohibited operations before execution. Strip secret-bearing environment variables, check file paths, and retain failed workspaces for inspection.

Python / MCP / Node.js / Static analysis

View source
Architecture notes

Static checks reject prohibited imports, dynamic execution, and network URL literals. File transport rejects unknown aliases, path traversal, missing files, and oversized inputs.

Execution uses a subprocess without a shell. Optional source hashes verify that the submitted program matches the generated code. Static policy checks are controls, not a guarantee against arbitrary hostile code.

ENGINEERING IN PRACTICE

Decisions under real constraints.

Assembling a call from incomplete recordsLogZilla · Python · Asynchronous pipelines

A customer needed Cisco CallManager records displayed as complete calls. Records arrived across one-minute files, with links from media to segments to call IDs. No message established that every component had arrived.

I built three asynchronous queues: wait for files to settle, assemble call components, then batch and reliably deliver the results. A customer-selected timeout started with the call-start record; late records were treated as a new call. The completion policy made the uncertainty explicit.

Finding a leak across the managed/native boundaryFIS · .NET / C++ · Production diagnosis

A vendor PDF renderer leaked memory until the web server crashed. Live memory debugging showed unmanaged growth, while managed memory was not the source. I traced the problem to the vendor’s .NET wrapper allocating memory improperly for its C++ engine.

I rewrote the wrapper while retaining the rendering engine. The replacement completely cured the memory leak.

Keeping character saves off the game threadTrendy Entertainment · C++ · Concurrency

Serializing the full character and inventory state to JSON caused visible gameplay stutters. I captured a binary snapshot in memory, then serialized that snapshot on a background thread before cloud persistence.

This introduced the game client’s first asynchronous path. The stutters disappeared completely.

Checking AI-generated tests before trusting themLogZilla · Python / Lua LPeg · Applied AI

I built an LLM-assisted tool to translate complex regex log parsers into Lua LPeg. With no real samples available, the model also generated test messages. I first ran each candidate message through the original regex, then used accepted messages to compare the translated parser’s results and capture values.

Executable checks challenged both the generated tests and the generated code. Roughly 80 rules were translated. Passing examples was evidence of correctness, not proof of equivalence for every input.

ENGINEERING APPROACH

Model output is a proposal.
Software owns the checks.

AI is useful for reasoning, generation, and extraction. Deterministic software should own validation, permissions, and known failure cases.

  • 01Retain the evidence behind the result.
  • 02Make generated outputs inspectable.
  • 03Handle failure explicitly.
  • 04Build systems you can debug.

PRODUCTION BACKGROUND

Experience behind the decisions.

View resume
2026 — Present

Involvant LLC

Principal Software Architect / Engineer, Founder

Founded Involvant to build civic tools that help people understand and influence local public decisions. Own the architecture, implementation, relational data model, deployment, and development workflow for Involvant Signal, now live.

involvant.org
2020 — 2025

LogZilla

Senior Software Engineer

Built production ingestion and retrieval systems for an observability platform.

  • Cisco call-log integration with three asynchronous queues for file readiness, call assembly, and reliable delivery.
  • Modernized a Windows Event Log agent with subscriptions, bookmarks, batching, and reusable buffer pools.
  • FastAPI / FAISS retrieval exposed through MCP and deployed for the live support chatbot.
2017 — 2020

Trendy Entertainment

Senior Software Backend and DevOps Engineer

Sole backend engineer for a cross-platform multiplayer platform serving tens of thousands of concurrent users.

  • C# / ASP.NET services for matchmaking, server control, authentication, inventory, and player profiles.
  • Software built against AWS services including EC2, RDS, SQS, S3, and CloudWatch.
  • Eliminated character-save stutters with binary snapshots and background JSON serialization; added friend matchmaking through existing party interfaces.
Earlier work

Enterprise & data systems

Oceanside Ten · FIS / DocX / LPS

C# query engines, SQL Server data systems, and distributed document rendering. Designed a cache policy for changing workloads and replaced a vendor PDF wrapper to completely cure an unmanaged-memory leak.

TECHNICAL AREAS

Languages
Python · C# · C++ · SQL
Backend & data
ASP.NET Core · FastAPI · EF Core · PostgreSQL · SQL Server
Applied AI
RAG · MCP · pgvector · FAISS · LLM APIs
Infrastructure
AWS · Docker · Linux · Windows services

WHY I BUILD

It started with people playing something I made.

I started writing online games in BASIC for neighborhood friends after getting my first computer and modem in 1983. That grew into Worlds of Carnage and, later, backend and data systems. What has stayed consistent is the part I enjoy: designing a useful system, writing the code, and seeing people use it.

A piece of online-world history

I developed World of Carnage’s original scripting system around 1991. The distributed MobProg documentation explicitly credits me (Aaron Buhr), under my nom du jue as Dimwit Flathead the First, for the system its implementation emulated. Raph Koster’s historical writing documents Carnage’s place in early Diku scripting and its community’s connections to later MMO development.

Original attribution ↗ · Koster’s account ↗

CONTACT

Let’s talk about
what you’re building.

Interested in hands-on backend, platform, and applied AI roles.
Based in Gainesville, Florida. Open to remote US opportunities.