What I'm Building
I'm not theorizing about operational strategy. Right now, I'm orchestrating a SaaS transformation, advising an AI platform, and building community. Here's the log.
Generative UI as a component discovery pipeline
When a conversational sales agent encounters a situation without a pre-built component, it generates one on the fly and logs it with full context — user situation, conversation state, trigger conditions. The most useful generated components get reviewed, optimized, and promoted to the pre-built library with usage-derived documentation. The user population builds the component library without knowing it. This treats the generative layer as a deliberate harvest mechanism, not just a fallback — a pattern that applies to capability expansion as well as UI.
Operational intelligence as a graph problem
Shipped Morfoo OIS — a 7-agent sweep across Jira, Drive, GitHub, and Slack that writes to a Neo4j knowledge graph. First sweep: 104 nodes, 101 edges, three documents in Drive nobody knew existed. The point isn't the dashboard. It's turning scattered signals into a queryable map of what's actually happening across the business.
Proactive beats reactive in relationship management
Added key date intelligence to the Forever Follow-Up engine — pre-approval expirations, credit pull windows, rate locks, close anniversaries. The engine now catches "your pre-approval expires in 3 weeks" before anyone asks. That's the difference between a CRM reminder and a relationship.
Copilot beta shipped
Shipped the Morfoo Copilot to beta users with magic link auth, scope-gated routing, and a feature request subagent. Suggested prompts seed from the highest-scoring eval questions — the bot leads with what it's best at instead of letting users discover its limits.
Parent-child chunks beat retrieval tuning
Rebuilt the RAG KB with parent-child architecture — micro chunks for precision, parent chunks for context. Accuracy went from 0.857 to 0.909, but the unlock wasn't retrieval. It was negative chunks: explicitly teaching the model what's out of scope killed more hallucinations than any embedding or reranker change.
KB quality is the only lever
Built async faithfulness eval and ran 11 experiments — reranker, model swaps, token limits, retrieval strategies. Haiku beat Sonnet on the same chunks. Cutting max tokens in half dropped unsupported claims 30%. Every lever that isn't KB quality is noise. Build the eval first, then let it tell you where the knowledge gaps are.
Agent platform architecture — orchestrator + subagent pattern
Shipped the Morfoo agent platform (Node.js, Fastify, Redis, Postgres, Docker). Architecture separates orchestrator routing from subagent execution — the support agent (Lenny) is the first subagent but the infrastructure handles additional agents without rewiring. Every interaction logged with per-model token tracking for rebilling. Two API surfaces: full reasoning (sidebar/dashboard) and direct dispatch (contextual pill invocations).
Full LMS course built with Claude Code + Chrome
Built a 17-competency LOS training course (6 modules, 51 lessons, 185 minutes) entirely through Claude Code sessions — content authoring, quiz generation, screenshot capture via a custom Chrome extension bridge, and GHL deployment artifacts. No instructional designer. The constraint that made it work: competency taxonomy authored upfront as structured JSON, so every downstream artifact (lessons, quizzes, screenshots) could be generated against a shared schema.
Screenshot bridge — smart capture for training content
Built a Chrome extension for programmatic screenshot capture from the LOS — text match targeting, aspect ratio control, OffscreenCanvas cropping, and tab pinning. 76 screenshots captured and uploaded to GHL CDN. The real value: when the LOS updates, re-capture is scripted rather than manual. Exploring extending it with annotation overlays (arrows, highlights, callouts) to eliminate the manual image editing step entirely.
Hallucination is a scope problem, not a retrieval problem
Ran 339 real support questions through a RAG-powered software support bot for a mortgage LOS. Only 2 answers were factually wrong from bad knowledge chunks. But 46 were the LLM confidently generating mortgage process knowledge from its training data — stuff that sounds authoritative but didn't come from the knowledge base. The bot wasn't retrieving wrong content; it was filling gaps with plausible-sounding domain expertise it was never asked to provide. The fix wasn't better embeddings or re-ranking. It was prompt-level scope boundaries (explicit lists of what to answer and what to refuse), anti-hallucination rules (treat irrelevant retrieval as no retrieval), and cutting retrieved chunks from 10 to 5. More context gave the model more surface to confabulate against. For domain-specific support bots, precision beats recall — and teaching the LLM what not to answer matters more than teaching it what to say.
The Strategy
Transforming a niche mortgage SaaS (Avenu) into a multi-product ecosystem.
Active Projects
Building something similar?
Compare Notes