ProductionAI.
The distinction between “impressive at a hackathon” and “still running at 3am on a Tuesday.” Everything on this page has been in production — with real users, real costs, and a real number to hit.
What I actually use in prod.
The reasoning I trust in production
Claude for the hard reasoning. OpenAI for second opinions, Whisper, 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. Every citation clickable. When confidence dips, the endpoint says “I don't know” instead of making something up.
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. Occasional human review. Every one earns its bytes.
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.
Silence beats hallucination. Every time. 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, in production, right now.
Browser-based AI automation on a self-hosted LLM
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. Cut outline research time by an order of magnitude.
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.
Enterprise generative media pipelines
Image, video, and voice generation wired into client production workflows. Nano Banana, Google Imagen, Grok Image, Veo, Whisper, ElevenLabs — deployed across multiple client projects. Specifics protected under NDA.
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.
Agentic browser automation
Persistent profiles, stealth via Patchright, vision model for UI reads, Claude for action plans. 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, mentorship rails. Certified — and shipped across a team at GFG.

Got AI that only works in demos?
Show me the pipeline. I'll tell you what breaks at scale, where the hallucinations live, and how to add the guardrails you don't have yet.