Flagship project: M365 Setup Expert
An AI agent used in production by Microsoft 365 customers. I conceived, architected, and built the "Ask Expert" assistant in the M365 Accelerator — guided, conversational help for deploying and configuring Microsoft 365.
- RAG done right: retrieval over indexed Microsoft Learn and YouTube content via Azure AI Search, grounding answers in trusted documentation to reduce hallucinations.
- Agent orchestration: Semantic Kernel with multiple selectable personas, Microsoft Graph integration for customer-specific configuration help, and a critiquer agent reviewing generated code.
- Responsible AI built in: Azure AI Content Safety, PII filtering, red-teaming workflows, and golden-dataset groundedness evaluation.
- Stack: React · FastAPI · Semantic Kernel · Azure AI Foundry · Azure AI Search · Microsoft Graph.
Try it live: open the M365 Accelerator and click "Ask Accelerator Expert".
Selected work
App Guardian — AI-escalated monitoring
Full-stack app and infrastructure monitoring platform: configurable collectors, health rollups, and directive-driven AI agent escalation to email, chat, webhooks, ITSM, Azure DevOps, and Event Grid.
React 18 · TypeScript · FastAPI · PostgreSQL · Playwright · Docker · Azure AI Foundry
ML automation framework
Reusable framework automating feature engineering, model selection, tuning, and validation — Deep Feature Synthesis, Recursive Feature Elimination, genetic feature selection, Azure AutoML.
Python · Azure ML · Azure AutoML
M365/O365 analytics platforms
BI, KPI reporting, monitoring, alerting, and incident-management platforms for Microsoft M365/O365 engineering, used by Fortune 500 and federal customers. Predictive analytics with Azure ML and SSAS.
Azure Synapse · Databricks · Spark · Power BI · Azure Data Factory · SQL
AI content pipeline with approval gates
Local-first pipeline producing long-form videos and Shorts with review workflow, human approval gate, automated upload, publish checks, and QC.
FastAPI · RQ/Redis · PostgreSQL · Next.js · ffmpeg
Spreadsheet-to-app builder
Upload CSV/Excel, edit in the browser, get AI-suggested reports from sheet metadata, and deploy to Azure.
Next.js · Drizzle · PostgreSQL · Azure OpenAI · Docker
NLP & text intelligence
Sentiment analysis, key-phrase detection, and topic modeling for customer and internal intelligence in Databricks and Azure Synapse.
Python · Databricks · Azure Synapse · NLP
Experience
AI Solutions Engineer / Senior Data Scientist — CloudFit Software (Microsoft vendor)
2009 – 2026 · Remote / Kentucky (incl. Composable Systems LLC, joined CloudFit)
Architected and delivered AI/ML, GenAI, analytics, and Azure cloud solutions for Microsoft and enterprise clients across healthcare, retail, manufacturing, government, and M365 engineering. Built LLM APIs across Azure OpenAI, Anthropic Claude, Google Gemini, and open-source models; designed RAG and AI-search patterns with retrieval evaluation; shipped containerized services with Docker and Kubernetes.
Earlier roles
Charter Communications (2006–2008): built a VB.NET troubleshooting tool cutting support call time from 45 minutes to under 5. Mercer (2005–2006): automated a monthly reporting process from 1+ month to 15 minutes.
Skills & certifications
GenAI / LLM: Azure OpenAI, Azure AI Foundry, Azure AI Search, RAG, AI agents, Semantic Kernel, LangChain, prompt engineering, function calling, LLM evaluation & guardrails, embeddings, vector search
Engineering: Python, FastAPI, TypeScript, React/Next.js, C#/.NET, PostgreSQL, Redis, Docker, Kubernetes, GitHub Actions, Azure DevOps
Data: Azure Synapse, Databricks, Spark, Azure Data Factory, Power BI, SSAS, SQL/T-SQL, Azure ML, forecasting, NLP
Certifications: Microsoft Certified Azure AI Engineer Associate (AI-102) · Azure Data Scientist Associate (DP-100) · Azure Data Engineer Associate (DP-203) · MCSD Web Applications
Get in touch
I'm exploring senior GenAI / AI engineering roles — remote or hybrid in the Kentucky / Louisville area.
Best option: message me on LinkedIn. Recruiters and hiring managers reach me there most often, and your message stays on a professional channel.
Email: for a resume copy, role details, or something too long for LinkedIn, use the form below. I reply to recruiting and serious collaboration inquiries — please include the role title, company, and whether the position is remote.
Prefer not to use a form? Connect on LinkedIn first and ask for my email there.