I build software, architect systems, lead development teams, teach the next generation of software engineers, and help organizations make better technology decisions.
I'm an Assistant Professor-Educator at the University of Cincinnati and a Faculty Fellow / Technical Lead at the Information Technology Solutions Center (ITSC), where I work with student development teams to deliver production software for industry, government, education, and research partners.
I'm also the founder of Clearbound Consulting, where I work directly with organizations on technology strategy, software architecture, custom software, AI & automation, and team enablement.
My work sits at the intersection of software architecture, applied AI, data systems, developer tooling, technology strategy, and experiential learning.
I like taking complicated problems and turning them into systems that are practical, maintainable, and understandable.
-
🤖 Applied AI & Agentic Systems
Exploring AI agents, RAG, MCP, LLM-powered applications, structured tool use, and practical ways to integrate AI into real software systems. -
🗄️ AskDB
An open-source toolkit for building natural-language-to-SQL applications. AskDB includes schema introspection, database-specific adapters, retrieval, a development studio, and an extensible architecture for bringing AI to relational data. -
🏗️ Software Architecture & Engineering
Designing production applications, APIs, data architectures, development workflows, deployment strategies, and the technical foundations that help teams build reliably. -
💡 Technology Strategy & Consulting
Helping organizations understand the problem before committing to technology, then connecting strategy, architecture, and implementation through Clearbound Consulting. -
🎓 Software Engineering Education
Teaching software development, web development, data technologies, analytics, and applied AI while building course environments that emphasize real-world engineering workflows. -
👥 Experiential Learning
Mentoring student software teams through architecture, Git workflows, code review, testing, CI/CD, releases, client demonstrations, and production delivery.
I'm the founder and Principal Consultant at Clearbound Consulting, a boutique technology consultancy built around a simple idea:
Understand the problem before reaching for the technology.
Through Clearbound, I work with organizations that need senior technical thinking paired with hands-on execution. Engagements span:
Technology Strategy · Software Architecture · Custom Software · AI & Automation · Roadmapping · Team Enablement
I especially enjoy problems that sit between business and technology, where the challenge isn't simply writing code, but understanding what should be built, why it should exist, and how a team can successfully own it afterward.
Have a technology problem worth talking through?
📅 Book a conversation · 🌐 Visit Clearbound
Languages & Platforms
C# · .Net · TypeScript · JavaScript · Python · SQL
Application Development
ASP.NET Core · React · Next.js · Node.js
AI & Data
LLMs · AI Agents · RAG · MCP · NL→SQL · Data Architecture · PostgreSQL · SQL Server · MySQL · MongoDB · Redis
Engineering & Infrastructure
Docker · GitHub Actions · CI/CD · Software Architecture · Automated Testing
Testing & Quality
Playwright · vitest · Jest · pytest · Automated Testing · Code Review
I don't believe the technology stack is the interesting part. The interesting part is choosing the right tools, architecture, and engineering practices for the problem.
Natural language → database intelligence
A modular toolkit for building schema-aware natural-language-to-SQL applications across relational databases.
TypeScript AI NL→SQL RAG PostgreSQL SQL Server MySQL Prisma
Software Architecture
├── Distributed & Data-Driven Applications
├── API & Integration Architecture
├── Developer Experience
└── DevOps / CI/CD
Applied AI
├── AI Agents
├── Retrieval-Augmented Generation
├── Model Context Protocol
├── Natural Language → SQL
└── AI-Native Applications
Technology Strategy
├── Architecture & Roadmapping
├── AI Adoption
├── Process Automation
├── Custom Software
└── Team Enablement
Engineering Education
├── Experiential Learning
├── Student Development Teams
├── GitHub Classroom & Autograding
├── Professional Software Practices
└── Curriculum & Course Design
One of the things I care most about is closing the gap between learning software development and practicing software engineering.
That means giving students opportunities to work with the same concepts they will encounter professionally:
Git · Pull Requests · Code Reviews · Issues · Testing · CI/CD · Architecture · Documentation · Production Releases
I believe students learn software engineering best when they have the opportunity to build real things, for real users, as part of a real team.
🌐 Personal Website
💼 Clearbound Consulting
💻 GitHub
🔗 LinkedIn
📅 Schedule a Conversation
Always building. Always learning. Usually teaching someone what I just learned.




