Full-stack engineer. Creative technologist.
Based in San Diego. I've been doing freelance web development since 2010. In 2017 I founded RipeMetrics — an AI-powered marketing automation and customer experience platform — and ran it for 8 years. Now I build production software and creative technology projects, with strong instincts for where AI belongs and where a button is still the right answer.
From sales to engineering
Freelance Web Development & Sales
Full-stack web development and B2B sales. Seven years learning how businesses actually buy software and what makes customers stick around — while building custom applications, client portals, and marketing automation.
Founder & CEO — RipeMetrics
Founded RipeMetrics and graduated from the CSD16 (Canopy San Diego) accelerator. Built a Customer Experience Management platform from scratch while leading teams across marketing, business development, and engineering.
Full-Stack Developer — RipeMetrics
Led complete technical refactor from Laravel Livewire to React/Next.js, reducing network response times by 6 seconds. Integrated language models into customer service automation, engagement systems, and data pipelines.
Full-Stack Engineer & Creative Technologist
Building ctrl+shft — open source infrastructure for AI coding agents. Shipping freelance projects with AI integrations. Exploring the intersection of software, music, and spatial computing with PUSH and RISE Awake.
Sales instinct meets engineering rigor
Eight years building RipeMetrics taught me how to build things that actually work for real businesses over the long haul. I integrated language models into customer service automation, engagement systems, and data pipelines in ways that moved business metrics — that hands-on experience gave me good instincts for where AI genuinely adds value versus where it's just noise.
I'm also going deep on agentic engineering — custom Claude Code skills, cross-machine dotfile management for AI agents, and getting deliberate about where human-in-the-loop patterns matter versus where you can let agents run. I have strong instincts for where conversational interfaces belong and where a button is still the right answer.
Most engineers optimize for the system. I optimize for the person using it.
The stack I work with
frontend
- React
- Next.js
- TypeScript
- Tailwind CSS
- Framer Motion
backend
- Node.js
- Python
- FastAPI
- PostgreSQL
- Redis
ai
- OpenAI API
- Claude API
- LangChain
- RAG
- Pinecone
- Vector DBs
tools
- Sanity CMS
- Stripe
- Twilio
- Docker
- Git
emerging
- Model Context Protocol
- MCP UI
- Claude Code
- AI Agents
Recent certifications
Claude Code for Real Engineers
Master the Model Context Protocol (MCP)
AI Engineering Bootcamp
AI-Powered Sanity Development
LLM Engineering - Foundations to SLMs
Cursor AI Bootcamp
Landing Page Academy
Effective Communication For Engineers
Modern Redux with RTK & TypeScript
Introduction to Next.js
Formal education
UC San Diego Extended Studies
Customer Experience Leadership
Stanford University Online
Technology Entrepreneurship
Stanford University Online
Advanced Entrepreneurship
California State University, East Bay
Mass Communications
Speaking & publications
Building an AI Content System That Captures Your Voice
Inspired Birth Workers Alliance · Q4 2025
Building an AI Assistant to Supercharge Developer Velocity
Relentless Software Solutions CTO Coffee · Aug 2023
How To Use Cause Marketing To Grow Your Business
Going Up: Business Excellence Press · Apr 2014
When I'm not building
You'll find me rock climbing around San Diego or hunting for rare vinyl records.
Let's work together
If you're looking for someone to build production-grade software or implement AI systems that actually work, I'd love to hear from you.