About
Lead AI Engineer and Full-Stack Systems Architect
I'm a Lead AI Engineer and Full-Stack Systems Architect with 20+ years of software development experience, specializing in end-to-end cloud-native web applications and autonomous agentic AI systems. I bridge resilient multi-tier frontends and high-availability backends with modern Generative AI, moving applications past simple prototypes into scalable, high-throughput production environments.
My architectural approach leverages both enterprise cloud infrastructure and modern AI model stacks — combining multi-tier cloud architectures (AWS/GCP) with enterprise APIs like Anthropic Claude and local open-source LLMs (Ollama/vLLM).
I hold a B.S. in Computer Science from the University of Kentucky. You can reach me at douglas@montanus.biz.
Key production focus areas
Full-Stack & Cloud Systems Architecture
Designing and deploying microservices, serverless workloads, REST/gRPC APIs, and responsive frontends using modern cloud infrastructure (AWS/GCP, Docker, Kubernetes, IaC).
Intelligent AI Assistants & Solution Platforms
Architecting low-latency, real-time conversational AI solutions integrated into web applications and communication stacks with multimodal APIs, handling dynamic routing, state persistence, and backend service integration.
Custom AI Dev Harnesses & Developer Tooling
Engineering local developer harnesses and autonomous execution environments that pair open-source models and Claude with codebases for automated refactoring, code generation, and complex workflow orchestration.
Core stack & competencies
- Full-Stack Web Development (TypeScript, Node.js, Python)
- Cloud & Distributed Systems Architecture (AWS/GCP, Kubernetes, Docker, Microservices)
- Agentic Frameworks (MCP, Tool Calling, Multi-Agent Loops)
- Anthropic Claude API & Open-Source Models (Ollama)
- MLOps, Vector Databases & Performance/Cost Optimization
Skills
AI Models
Claude (Anthropic), Gemini, Gemini Live, Gemma, Azure OpenAI
Agentic AI
MCP, Tool Calling & Structured Output, Multi-Agent Loops, Claude Code, Voice Agents (LiveKit)
AI Platforms & MLOps
Anthropic Claude API, Vertex AI, Ollama, vLLM, RAG, Vector Databases, Performance & Cost Optimization
AI Video & Media
ComfyUI, Wan 2.2 (Image-to-Video), Flux, AnimateDiff, Kokoro / Piper TTS, Kdenlive
Languages
Python, JavaScript (ES6+), TypeScript, Java, Spring Boot
Frontend
React, Next.js, Vite, Tailwind CSS, MUI, HTML5, CSS3
Backend
Java / Spring Boot, Node.js, Express, FastAPI, REST / gRPC APIs
GCP
Cloud Run, Cloud Build, Compute Engine, Vertex AI, Firestore
AWS
Lambda, ECS, CDK, CloudFormation, API Gateway, EventBridge, EKS, RDS
Azure
AKS, App Service, Functions, Event Grid, API Management, DevOps, GPT-4
Databases
PostgreSQL, MySQL, MS SQL, MongoDB, RDS
ML & Optimization
OpenCV, Google OR-Tools
CI/CD & Tools
Azure DevOps, GitLab, Docker, Kubernetes, Infrastructure as Code
Experience
After twenty years of leading teams through greenfield builds, legacy migrations, and now production AI systems, a few principles guide how I approach every project.
Own the architecture, not just the code
As a solutions architect, I treat system design as a first-class deliverable, not something that falls out of whatever gets built first. That means writing the technical specs, owning the tradeoffs between services, and being the person who can explain why the system is shaped the way it is — years after the original decision was made.
Build teams, not just features
Some of the work I'm proudest of is hiring and mentoring development teams from the ground up, and establishing patterns that hold up across concurrent workstreams. A team that can extend a system without me in the room is a better outcome than a system only I can maintain.
Modernize deliberately, not heroically
I've led more than one migration from legacy infrastructure to a modern, cloud-native stack. The ones that go well are treated as an ongoing discipline — incremental, tested, reversible — rather than a single high-stakes rewrite. Momentum matters less than not breaking what already works for someone.
Treat AI as a force multiplier, not a shortcut
I've embedded Claude into daily engineering work — scaffolding, security review, test generation, documentation — but the architectural decisions and the final judgment calls stay with the team. AI moves the routine work faster; it doesn't replace the thinking that makes a system good.
Keep process in service of the team, not the other way around
I've rolled out Agile processes at the organizational level more than once, and the lesson that stuck is that process should be as light as the team can get away with. Ceremony that doesn't help someone ship or communicate better gets cut.