ProductionAI.
The distinction between “impressive at a hackathon” and “still running at 3am on a Tuesday.” The systems below ran for real users at Geeks For Growth, TedBree and on my own products — with real costs and a real number to hit. Where it's a prototype or an experiment, it says so.
What I actually use in prod.
The reasoning I trust in production
Claude for the hard reasoning. OpenAI for second opinions and embeddings. Gemini for cheap fast throughput — Gemini Nano on device when privacy matters. No religion. Route per request based on cost + task.
Grounded, cited, testable
Vectors on Pinecone or pgvector. Every answer scored against a threshold; citations returned with the answer. When confidence dips, the endpoint says “I don't know” and escalates.
Evals
Ground truth before the model call. If I can't test the answer, I don't ship the endpoint.
Guardrails
Input validation. Output policy. Human review where it matters.
Cost tracking
Every AI call has a dollar cost. I track it on the same dashboard as MAU.
Six principles I don't break.
Ground truth first.
Write the evals before the model call. A prompt without a test is a hope, not a shipping strategy.
Confidence thresholds beat temperature tuning.
You get further with `if (score > 0.85)` than with a week of prompt hackery. Cheap. Deterministic. Testable.
Fallback gracefully.
A clear "I don't know" beats a confident wrong answer. When the model isn't sure, the endpoint says so and escalates.
Every AI endpoint is a Laravel endpoint.
If you can't Pest it, don't ship it. The AI hides behind an API surface the rest of the team can reason about.
Cost is a product metric.
Track it in the same dashboard as MAU. The moment provider costs surprise finance, product decisions get harder.
Guardrails at both ends.
Input validation, output policy, human review where it matters. LLMs are stochastic — treat them like a third-party API you don't fully trust.
Two systems I built end to end.
Browser automation for tools that have no API
An agentic pipeline where an AI agent navigates real web interfaces instead of calling APIs. Tasks arrive in plain English from a Google Sheet task queue; the agent interprets them, executes in a real browser, and reports outcomes back. The pattern applies wherever there's no API and the UI is the only interface — internal tools, third-party dashboards, ops workflows.
- Vision model reads UI state directly from screenshots
- Claude produces structured JSON action plans from page context
- Deterministic retry logic when browser state diverges from expected
- Persistent action logs for auditability and human review
- RunPod RTX 6000 Ada · 48GB VRAM
- Persistent volume for model weights + workflow state
- Cron-scheduled task execution with human-in-the-loop review
One knowledge base, four channels
Multi-channel AI assistant SaaS. Non-technical SMB owners drop their docs, get an assistant deployed live across Website, Discord, Telegram, and Email — from a single knowledge base. Web2 and Web3 experiences separated at the tenant layer.
- embed tracking so owners see reach
- onboarding resume — pick up where they dropped off
- jargon-free UX for non-technical SMBs
- Laravel + Vue 3 + Inertia
- PostgreSQL + Redis
- Deployed on Hetzner via Forge
- Tenant isolation between Web2 and Web3
OpiaTranslate
Chrome extension that translates selection in-page using Gemini Nano on-device. Zero network round-trip. Submitted to Google's Chrome Built-in AI Challenge.
SERP → Claude briefs
Pulls live SERP data via ScaleSERP, hands it to Claude for structured briefs the writers actually use. Replaced manual SERP research for the content team.
KeywordMetrics generator
OpenAI-powered SEO brief generator inside a Laravel + Livewire SaaS. Google Search Console ingestion → keyword clustering → AI-assisted briefs, all billed via Stripe.
Veo in a Laravel service
Google Veo wired into a Laravel job pipeline for client marketing content — queued generation, status polling, asset storage. Client names under NDA; the integration pattern isn't.
Reusable patterns I pull off the shelf.
RAG with graceful fallback
Retrieval scored, threshold enforced, refusal + escalation baked in. The pattern behind every RAG endpoint I ship.
Browser automation with human review
Vision model reads the UI, Claude writes a JSON action plan, every action logged for review. For internal tools and dashboards with no API. Megaphone Swarm generalized.
Multi-channel AI assistant
One knowledge base, N channels. Channel routers, embed tracking, tenant isolation. AIDEVELOPIA in a reusable shape.
Claude Code team rollout
Prompt review gates, AI-output validation, mentoring two juniors. Claude Code certified (Feb 2026); rolled out with governance standards at Geeks For Growth.

Need someone who's shipped AI past the demo?
I've built RAG, chat and agent endpoints that run in production — tested, cost-tracked, with a fallback path. If your team is adding AI to a Laravel product, send me the role and I'll reply within 24 hours.