I build software that reasons.
I'm a software engineer and systems designer who works at the intersection of AI and product. For most of my career I've built full-stack systems — backends, APIs, infrastructure, frontends. Then foundation models became genuinely capable, and the interesting problems shifted.
What I do now is design systems where AI isn't decorative. That means LLMs with real tool access, agentic loops that plan and self-correct, streaming interfaces that feel alive, and infrastructure built to support all of it without becoming a liability. I work primarily with startups and engineering-led companies who want to build something that actually thinks — not just something that looks like it does.
Let's Do Tech is my independent practice. Budge — an AI-native travel research app — is something I'm building under it. Both exist because I'd rather ship things than describe them.
I take on a small number of engagements at a time. I'm most useful when I'm involved early — at the architecture and design phase — before patterns get locked in. I work remotely, async-first, and I don't pad timelines.
If you're a CTO or technical founder with a hard problem and the right attitude, the best next step is a direct conversation.
Get In TouchOn the AI side: Anthropic Claude, Amazon Bedrock, OpenAI, RAG pipelines, agentic loop design, multi-model architectures, tool/function calling, streaming and WebSocket interfaces. On the infrastructure side: AWS serverless (Lambda, DynamoDB, API Gateway, Cognito, SES, EventBridge), Terraform, GitHub Actions. On the frontend: Next.js, React, TypeScript, Tailwind. I choose tools for the problem, not the other way around.