Writing

Everything I've written, newest first. some of it I'd still stand behind.

2026

  1. Stop Polling the EHR: FHIR Subscriptions and Event-Driven AI Agents
    Healthcare integration10 min readStop Polling the EHR: FHIR Subscriptions and Event-Driven AI AgentsWake healthcare AI agents on EHR event notifications: FHIR Subscriptions, webhooks or HL7v2, id-only payloads, gap detection, debounce and audit.
  2. AI Business Process Mapping Should Output a Graph, Not a Diagram
    Data platforms12 min readAI Business Process Mapping Should Output a Graph, Not a DiagramAI process mapping that holds up: LLM extraction into a typed graph, source spans, measured alias merges, owner sign-off and HL7 event log checks.
  3. AI Forward Deployed Engineer Agent: Its Riskiest Output Is a Default
    Applied LLMs & AI engineering7 min readAI Forward Deployed Engineer Agent: Its Riskiest Output Is a DefaultAn AI forward deployed engineer agent scaffolds a partner integration in minutes. Its riskiest output is the business rules it fills in as defaults.
  4. Is Text Messaging HIPAA Compliant? Only With a Gate Before send()
    Healthcare integration10 min readIs Text Messaging HIPAA Compliant? Only With a Gate Before send()Is texting patients HIPAA compliant? Only with no PHI or a warned patient who asks. Who needs a BAA, why carriers usually don't, and the gate before send().
  5. LLM Decision Support Without Alert Fatigue: Make the Hook Say Nothing
    Healthcare integration8 min readLLM Decision Support Without Alert Fatigue: Make the Hook Say NothingLLM CDS without alert fatigue: keep the model out of the 500 ms hook path, dedup per encounter, ask for quiet cards, and cite FHIR or say nothing.
  6. AI Draft Replies to Patient Messages: Route, Ground, Measure
    Applied LLMs & AI engineering8 min readAI Draft Replies to Patient Messages: Route, Ground, MeasureAI draft replies to patient messages work when you route first, ground drafts in FHIR, measure edits and discards by category, and never let the model send.
  7. Detecting Model Drift in Clinical AI: Your Labels Won't Tell You in Time
    Applied LLMs & AI engineering10 min readDetecting Model Drift in Clinical AI: Your Labels Won't Tell You in TimeDetect model drift in clinical AI without labels: override and edit rates, FHIR input checks, pinned models, frozen eval replays, and preset alert actions.
  8. How to Format FHIR for an LLM: Same Patient, Different Med List
    Healthcare integration8 min readHow to Format FHIR for an LLM: Same Patient, Different Med ListSame patient, three renderings, three med lists. How to pick a FHIR format for an LLM by task, plus a benchmark harness for the edge cases that break it.
  9. HTI-5 Drops the AI Model Card From Decision Support. Ship Your Own.
    Healthcare integration11 min readHTI-5 Drops the AI Model Card From Decision Support. Ship Your Own.HTI-5 would drop the 31 model card attributes from decision support. Ship them yourself: a versioned model card, CDS Hooks links, Provenance, local validation.
  10. Epic Agent Factory Will Eat the Easy AI. Build What It Can't.
    Healthcare integration9 min readEpic Agent Factory Will Eat the Easy AI. Build What It Can't.Epic Agent Factory vs custom build: which healthcare AI it replaces, what stays outside it, and how to plug into Epic with CDS Hooks, SMART and FHIR.
  11. De-Identifying Clinical Notes for LLMs: Your Overall Recall Number Is Lying
    Healthcare integration10 min readDe-Identifying Clinical Notes for LLMs: Your Overall Recall Number Is LyingPHI redaction for LLMs: score recall per Safe Harbor identifier, gate MRN and SSN at 100%, and choose a date policy on purpose.
  12. Claude Code for FHIR and HL7v2: The Agent Doesn't Get to Say Done
    Healthcare integration8 min readClaude Code for FHIR and HL7v2: The Agent Doesn't Get to Say DoneClaude Code can write FHIR and HL7v2 interface code. A verification loop decides done: FHIR Validator, replay diffs, terminology checks, PHI hooks.
  13. Neo4j vs Memgraph: Neither Should Be Your Source of Truth
    Data platforms8 min readNeo4j vs Memgraph: Neither Should Be Your Source of TruthNeo4j vs Memgraph from someone who moved Graphite Atlas twice: why we left Neo4j, the Memgraph outage, real pricing, and why Postgres should hold the truth.
  14. HL7v2 to FHIR Conversion With an LLM: Mapping, Not Messages
    9 min readHL7v2 to FHIR Conversion With an LLM: Mapping, Not MessagesUse an LLM for HL7v2 to FHIR mapping at design time, never on live messages. Real bugs, a diff-and-validate loop, and how to catch feed drift.
  15. Writing AI Notes Back to Epic: FHIR on the Outside, Vendor-Specific on the Inside
    8 min readWriting AI Notes Back to Epic: FHIR on the Outside, Vendor-Specific on the InsideWriting AI scribe notes back to Epic, Oracle and eCW via FHIR DocumentReference: payloads, silent failures, audit trails, and why the model never signs.
  16. LLM ICD-10 Coding Accuracy: Why the Model Shouldn't Type the Code
    Applied LLMs & AI engineering10 min readLLM ICD-10 Coding Accuracy: Why the Model Shouldn't Type the CodeGPT-4 scored 33.9% on ICD-10-CM code lookup. Don't let the model type the code: retrieve from the code set, check rules in code, cite the note.
  17. How to Detect Hallucinations in AI Clinical Notes Before They're Signed
    11 min readHow to Detect Hallucinations in AI Clinical Notes Before They're SignedSplit the note into claims, cite each to a FHIR resource, and reject empty or truncated output before a clinician signs.
  18. SMART Backend Services for AI Agents: system/ Scopes Are God Mode
    Healthcare integration9 min readSMART Backend Services for AI Agents: system/ Scopes Are God ModeSMART Backend Services gives an AI agent every patient the client policy allows. Borrow a clinician's token instead, and trace chart reads to a model run.
  19. Is Claude Code HIPAA Compliant? Covered Isn't Compliant.
    9 min readIs Claude Code HIPAA Compliant? Covered Isn't Compliant.Claude Code fits under Anthropic's BAA only in narrow setups, and that never makes your app compliant. What's covered, ZDR vs HIPAA config, where PHI leaks.
  20. The Best FHIR MCP Server Gives the Model No FHIR Tools
    8 min readThe Best FHIR MCP Server Gives the Model No FHIR ToolsWhy a production FHIR MCP server gives the model typed tasks, not FHIR: SMART scopes, Bundle bloat, minimum PHI and audit logs from MedScrub and eSpiral.
  21. CMS-0057-F FHIR Prior Auth API for 2027: Keep the LLM Out of Order-Sign
    9 min readCMS-0057-F FHIR Prior Auth API for 2027: Keep the LLM Out of Order-SignCMS-0057-F makes FHIR prior auth APIs due in 2027. How CRD rides CDS Hooks, why no LLM belongs in order-sign, and where AI can safely draft DTR answers.
  22. FDA's 2026 Clinical Decision Support Guidance Didn't Bless Generative AI
    Applied LLMs & AI engineering8 min readFDA's 2026 Clinical Decision Support Guidance Didn't Bless Generative AIFDA's 2026 clinical decision support guidance is silent on generative AI. What changed, and how to build LLM CDS clinicians can independently review.
  23. Your Support Team Is Claude Code on a Timer
    Applied LLMs & AI engineering7 min readYour Support Team Is Claude Code on a TimerAn L2 support engineer that's just Claude Code on a /loop, with all its state living in Slack reactions. No app, no database, no deploy — and it only pings you when it's real.
  24. What an AI Audit Actually Finds
    Applied LLMs & AI engineering4 min readWhat an AI Audit Actually FindsMost teams asking for AI don't have a model problem. They have a "which problem is even worth it" problem. Here's what a real AI audit surfaces — and why "don't build this" is often the most valuable line in the report.
  25. Inside a Production Voice Agent: How the Stack Actually Ships
    Applied LLMs & AI engineering24 min readInside a Production Voice Agent: How the Stack Actually ShipsProduction voice-AI has converged on a pattern: graph-based conversations, separated decision and response prompts, synthetic-call regression testing, and per-component latency budgets. Why the stack looks the way it does — and what most teams are still missing.
  26. Prompt Engineering Didn't Die. It Got Unrolled.
    Applied LLMs & AI engineering19 min readPrompt Engineering Didn't Die. It Got Unrolled.Everyone keeps announcing the death of prompt engineering. They are describing the symptom, not the shift. The loops you used to run by hand — refine, retry, verify, learn — moved out of your head and into infrastructure. Four of them, simultaneously.
  27. The Two Rhythms of B2B Tech: What Palantir Gets Right That Most Companies Get Wrong
    Engineering leadership & career10 min readThe Two Rhythms of B2B Tech: What Palantir Gets Right That Most Companies Get WrongPalantir built a company on the idea that software alone isn't enough: you need engineers embedded with customers. That model has a name, a cost, and a hidden technical debt time bomb most B2B companies are quietly sitting on.
  28. Healthcare AI Will Be Won by Verticals. The Recipe Has Been Around for a Decade.
    Applied LLMs & AI engineering8 min readHealthcare AI Will Be Won by Verticals. The Recipe Has Been Around for a Decade.Most healthcare AI companies are failing for the same reason. The ones winning are running the same playbook: one Palantir figured out before anyone called it AI. Forward-deployed engineer. Ontology. Integrations. Then AI tooling.
  29. Penpal: Dispatch Tool Today, RPG Interface Tomorrow
    Applied LLMs & AI engineering7 min readPenpal: Dispatch Tool Today, RPG Interface TomorrowI built a tool that turns GitHub issues into pull requests using a three-agent pipeline. That's the boring part. The interesting part is what happens when you stop thinking about AI agents as productivity tools and start thinking about them as a workforce, and build a world for them to live in.
  30. Mirth Connect, what happened? Here's What Comes Next.
    Healthcare integration8 min readMirth Connect, what happened? Here's What Comes Next.Mirth democratized healthcare integration. Then NextGen acquired it, and the world moved on. What the next generation of integration tooling looks like, and why the transition was inevitable.
  31. Product Evals in Three Steps (That You'll Actually Do)
    Applied LLMs & AI engineering8 min readProduct Evals in Three Steps (That You'll Actually Do)Most teams skip evals because the process feels overwhelming. The three steps that make eval-driven development achievable: label a small dataset, calibrate an LLM evaluator to human judgment, then iterate configs against the harness.
  32. Table Stakes for Pragmatic Development Using LLMs
    Applied LLMs & AI engineering8 min readTable Stakes for Pragmatic Development Using LLMsUpdated for 2026: lessons from two years using Claude Code in production. Context engineering, real eval frameworks, model economics, and agent workflows. What works.
  33. Staff Engineer Layoff Survival Guide: Lessons from 2008, 2020, 2023 — and Now
    Engineering leadership & career10 min readStaff Engineer Layoff Survival Guide: Lessons from 2008, 2020, 2023 — and NowI've survived three tech recessions. Lost my job in one, held the axe in another. The AI boom changed the rules again. The updated playbook for 2026.
  34. The Principal IC Playbook Nobody Shares With You
    Engineering leadership & career9 min readThe Principal IC Playbook Nobody Shares With YouReaching principal is the first rung of a new ladder, not the last rung of the old one. What nobody told me about the ownership-autonomy paradox, how leverage works at this level, and the charter model I wish I'd had from day one.
  35. The ESM Mess: JavaScript's Module System Is Still Broken and Here's Why
    Frontend & React7 min readThe ESM Mess: JavaScript's Module System Is Still Broken and Here's WhyES Modules have been the supposed future of JavaScript for nine years. Only 9-27% of the ecosystem has adopted them. What's really going on, and how to survive until the ecosystem commits.
  36. The Three Things Exceptional Engineering Leaders Do (And the One They Stop Doing)
    Engineering leadership & career7 min readThe Three Things Exceptional Engineering Leaders Do (And the One They Stop Doing)Most engineering leaders excel at one of three pillars and quietly fail at the other two. The three are: providing direction, removing obstacles, foreseeing change. What it takes to build strength across all three.
  37. The Open-Weight LLM Landscape in 2026: What Engineers Actually Need to Know
    Applied LLMs & AI engineering8 min readThe Open-Weight LLM Landscape in 2026: What Engineers Actually Need to KnowThe open-weight ecosystem has matured faster than most engineers realize. MoE proliferation, hybrid attention, and extended context windows are changing what's deployable on-premise. That matters more than ever for healthcare AI.
  38. Software 2.0 Is Here and It Changed How I Think About Programming
    Applied LLMs & AI engineering7 min readSoftware 2.0 Is Here and It Changed How I Think About ProgrammingIn 2017, Andrej Karpathy argued that neural networks would replace explicit logic as the dominant programming paradigm. Nine years later, that prediction has fully landed. The implications for how we build software are bigger than most engineers want to acknowledge.
  39. Three Ways to Know If Your Career Is Actually Growing
    Engineering leadership & career8 min readThree Ways to Know If Your Career Is Actually GrowingNormal career metrics: title, pay, team size. They tell you how you're doing relative to others. They don't tell you whether you're growing. Three metrics that do.
  40. RAG Isn't Dead. You're Just Using It Wrong.
    Applied LLMs & AI engineering7 min readRAG Isn't Dead. You're Just Using It Wrong.The 'RAG is dead' narrative is wrong, but it's wrong in an interesting way. What kills LLM context quality in production, and what to do about it.
  41. Fine-Tuning a 70B Model on a Consumer GPU: The Q-LoRA Practical Guide
    Applied LLMs & AI engineering8 min readFine-Tuning a 70B Model on a Consumer GPU: The Q-LoRA Practical GuideQ-LoRA + SFTTrainer + Flash Attention v2 means you can fine-tune a 70B parameter model on 24GB of VRAM. What that looks like end-to-end, what it costs in quality, and when to just use the API instead.
  42. Time vs. Timing: The Career Framework I Wish I Had Earlier
    Engineering leadership & career7 min readTime vs. Timing: The Career Framework I Wish I Had EarlierI've made bets that paid off because of timing and bets that paid off because of compounding. Confusing the two is how careers stall.
  43. The LLM Year in Review: What Actually Mattered in 2025 (And What Was Noise)
    Applied LLMs & AI engineering8 min readThe LLM Year in Review: What Actually Mattered in 2025 (And What Was Noise)The prediction was: bigger models win. The reality was: DeepSeek R1 rewrote the rules in January and nothing was the same after that. What 2025 taught us about reasoning, inference-time compute, and the economics of intelligence.

2025

  1. From Contractor to Consultant: The Mindset Shift That Changes Your Income
    Engineering leadership & career7 min readFrom Contractor to Consultant: The Mindset Shift That Changes Your IncomeContractors sell time. Consultants sell results. That distinction is the whole game. How I changed my pricing, positioning, and client selection once it clicked.
  2. What the Teams Actually Shipping Coding Agents Have Figured Out
    Applied LLMs & AI engineering8 min readWhat the Teams Actually Shipping Coding Agents Have Figured OutCoding agents are the most economically viable AI in production today. The patterns Devin, Cline, Amp, and others converged on, and what they mean for anyone building or using agents seriously.
  3. Stop Shipping Features: Why AI Products Need an Experiment Mindset
    Applied LLMs & AI engineering7 min readStop Shipping Features: Why AI Products Need an Experiment Mindset12 features shipped in a quarter. Zero meaningful metrics moved. AI products aren't software projects. The roadmap is a hypothesis board, not a delivery schedule, and treating it otherwise is expensive.
  4. Beyond Chunks: Why Faceted Context Is the Future of RAG
    Applied LLMs & AI engineering8 min readBeyond Chunks: Why Faceted Context Is the Future of RAGChunk-based RAG returns results. Faceted context gives agents peripheral vision: an understanding of the information landscape that lets them navigate rather than just consume. What that looks like in a domain where getting it wrong matters.
  5. Context Engineering: The Skill That Replaced Prompt Engineering
    Applied LLMs & AI engineering7 min readContext Engineering: The Skill That Replaced Prompt EngineeringPrompt engineering is a symptom, not a skill. The engineers shipping better agents aren't writing better instructions. They're designing better information spaces. Context engineering is the meta-skill no one teaches.
  6. Every Service Is Going to Need an MCP Layer
    Applied LLMs & AI engineering8 min readEvery Service Is Going to Need an MCP LayerREST APIs were designed for humans calling services through UIs. AI agents are not humans. What breaks when you expose your existing APIs to agents, and what the right architecture looks like.
  7. When English Became a Programming Language
    Applied LLMs & AI engineering7 min readWhen English Became a Programming Languagev0 just proved that English plus AI can replace traditional web development for most apps. That changes what it means to be a developer. An honest take on what shifts, what doesn't, and what to do about it.
  8. Fine-Tuning LLMs Without the RLHF Headache: The DPO Approach
    Applied LLMs & AI engineering8 min readFine-Tuning LLMs Without the RLHF Headache: The DPO ApproachRLHF is the right idea with the wrong implementation cost for most teams. DPO flips the math. How to align a healthcare AI model on clinician feedback without burning a month on reward model engineering.
  9. Agency Beats Intelligence: How I Now Hire (And Evaluate Myself)
    Engineering leadership & career9 min readAgency Beats Intelligence: How I Now Hire (And Evaluate Myself)Raw intelligence is abundant and cheap. The engineers thriving in the AI era are the ones with agency: setting goals, acting under uncertainty, self-correcting. How I changed my interview process to find them.
  10. You Are No Longer a Coder: The Shift from Execution to Direction
    Applied LLMs & AI engineering7 min readYou Are No Longer a Coder: The Shift from Execution to DirectionI stopped writing most of my own code. What changed, what I delegated to AI, what I found it can't do, and why the hardest part of the transition had nothing to do with technology.
  11. Context Rot: The Silent Performance Killer in Your LLM Application
    Applied LLMs & AI engineering7 min readContext Rot: The Silent Performance Killer in Your LLM ApplicationYour LLM system works great in demos and degrades in production. The culprit is almost never the model. It's what you're feeding it. How to diagnose and fix context rot before it kills your product.
  12. Why Your AI Gets Smarter When You Let It Think Longer
    Applied LLMs & AI engineering8 min readWhy Your AI Gets Smarter When You Let It Think LongerTest-time compute is the most underused lever in production AI right now. What chain-of-thought, best-of-N sampling, and process reward models mean for practitioners, and when to use them instead of grabbing a bigger model.
  13. The Async-First Engineering Team: What Actually Works (And What Doesn't)
    Engineering leadership & career8 min readThe Async-First Engineering Team: What Actually Works (And What Doesn't)I went async-first with my remote engineering team. Productivity went up. Culture took a hit. What changed, what broke, and the specific practices that made it worth it.
  14. What the AI Tool Ecosystem Is Actually Telling You
    Applied LLMs & AI engineering8 min readWhat the AI Tool Ecosystem Is Actually Telling YouTool selection in healthcare AI is a compliance problem, not a productivity one. Most AI tools that sounded great in 2023 are dead or deprecated. The framework I use for betting on the right ones.
  15. What Autonomous Vehicles Taught Me About Multi-Agent AI Design
    Applied LLMs & AI engineering7 min readWhat Autonomous Vehicles Taught Me About Multi-Agent AI DesignBAIR researchers discovered that just 5% autonomous vehicle penetration can smooth all highway traffic, with no central coordination. That finding reshapes how I think about building multi-agent AI systems.
  16. The Death of Institutional Memory: Why I'm Building Atlas (And Why It Matters)
    Engineering leadership & career7 min readThe Death of Institutional Memory: Why I'm Building Atlas (And Why It Matters)Every resignation takes a piece of the organization nobody wrote down. Org charts capture hierarchy, not the relationship networks that keep things running. A different approach to preserving institutional knowledge before it walks out the door.
  17. Vision + Language: How Multimodal LLMs Actually Work (And When to Use Them)
    Applied LLMs & AI engineering9 min readVision + Language: How Multimodal LLMs Actually Work (And When to Use Them)Multimodal LLMs integrate vision through two fundamentally different architectures. Knowing which one you need, and why, shapes every other technical choice in your build.
  18. The Self-Healing Stack: What AI-Native Infrastructure Actually Means
    Applied LLMs & AI engineering8 min readThe Self-Healing Stack: What AI-Native Infrastructure Actually MeansThe AI Cloud vision, where infrastructure monitors, optimizes, and repairs itself, is compelling. Some of it exists today. Most doesn't yet. What self-healing infrastructure looks like in practice, and what engineers should be doing to prepare.
  19. FHIR Meets Graph Databases: Exploring Healthcare's Natural Network Structure
    Healthcare integration12 min readFHIR Meets Graph Databases: Exploring Healthcare's Natural Network StructureFHIR data is a graph. Treating it as flat tables is why most healthcare AI struggles with relationships between patients, providers, and encounters. What happens when you model it the way it actually is.
  20. The Tools I Dropped When AI Changed My Development Workflow
    Applied LLMs & AI engineering7 min readThe Tools I Dropped When AI Changed My Development WorkflowAI coding assistants forced a full rethink of every layer of the dev stack. What I dropped, what I added, and the principle behind the restructuring.
  21. From GPT-2 to DeepSeek: The Architectural Changes That Actually Mattered
    Applied LLMs & AI engineering8 min readFrom GPT-2 to DeepSeek: The Architectural Changes That Actually MatteredI've been reading ML papers for 10 years. Most don't matter. These architectural choices did. RoPE, GQA, SwiGLU: each one solved a real scaling problem. What to look for when a new model claims 'better architecture.'
  22. Building a GenAI Platform That Doesn't Collapse Under Its Own Weight
    Applied LLMs & AI engineering8 min readBuilding a GenAI Platform That Doesn't Collapse Under Its Own WeightGenAI platforms don't fail because the models are bad. They fail because teams build everything at once. A practitioner's guide to layered architecture, from the minimal production-ready core to healthcare-grade guardrails.
  23. The GenAI Strategy Question You're Not Asking (But Should Be)
    Applied LLMs & AI engineering8 min readThe GenAI Strategy Question You're Not Asking (But Should Be)Everyone asks 'how should we use GenAI?' The honest answer requires a harder question: does AI's unique capability create new value here, or is it just a more expensive way to do something that already worked? A practitioner's framework for getting this right in healthcare.

2024

  1. Every Failed AI Product Has the Same Root Cause
    Applied LLMs & AI engineering7 min readEvery Failed AI Product Has the Same Root CauseThe same failure pattern shows up everywhere: teams shipping fast and iterating on vibes instead of building systematic evaluation. Evals aren't a nice-to-have. They're the core competency of any serious AI product team.
  2. The 6 Ways I've Watched GenAI Projects Fail (And How to Avoid Them)
    Applied LLMs & AI engineering8 min readThe 6 Ways I've Watched GenAI Projects Fail (And How to Avoid Them)GenAI projects in healthcare go sideways in predictable ways, sometimes with real patient consequences. Six failure modes that come up over and over again, and what to do instead.
  3. When to Look Beyond Standard LLMs (And When to Stop Overthinking It)
    Applied LLMs & AI engineering8 min readWhen to Look Beyond Standard LLMs (And When to Stop Overthinking It)Most teams should use a frontier API and move on. There are specific situations where alternative architectures matter: extreme latency, long-context scale, cost walls, privacy constraints. The decision framework.
  4. When Recommendations Meet Language: The LLM-RecSys Convergence
    Applied LLMs & AI engineering7 min readWhen Recommendations Meet Language: The LLM-RecSys ConvergenceMost AI stacks treat the recommendation engine and the language model as two separate systems that hand off to each other. A new class of hybrid models eliminates that seam. The implications for domain-specific AI are significant.
  5. Trading Speed for Quality: A Practical Guide to Inference-Time Scaling
    Applied LLMs & AI engineering9 min readTrading Speed for Quality: A Practical Guide to Inference-Time ScalingInference-time scaling lets you tune the latency-quality tradeoff at runtime instead of at training time. When to use Best-of-N sampling, beam search, iterative refinement, or one-shot generation, with real examples from clinical AI.
  6. Inside the Black Box: What Mechanistic Interpretability Means for Builders
    Applied LLMs & AI engineering9 min readInside the Black Box: What Mechanistic Interpretability Means for BuildersHealthcare AI requires explainability. 'The model said so' is not a clinical rationale. Mechanistic interpretability is the research field trying to change that. What it offers practitioners today, where the gap is, and what to do in the meantime.
  7. How to Actually Test If Your AI Will Say Something Dangerous
    Applied LLMs & AI engineering9 min readHow to Actually Test If Your AI Will Say Something DangerousMost teams treat jailbreak testing as a vibe check. StrongREJECT achieves 0.90 Spearman correlation with human judgment. Automated safety evaluation is real, and there's no excuse not to build it into your pipeline.
  8. The Attack Your LLM App Is Definitely Vulnerable To
    Applied LLMs & AI engineering8 min readThe Attack Your LLM App Is Definitely Vulnerable ToPrompt injection is the #1 OWASP threat to LLM applications and most teams aren't taking it seriously. What the attack looks like, why it's hard to stop, and how to harden your system.
  9. The Honest Guide to LLM Evals: What Actually Works
    Applied LLMs & AI engineering8 min readThe Honest Guide to LLM Evals: What Actually WorksMost teams skip real evals and wonder why their AI products degrade in production. The framework that holds up: from 30-minute manual reviews to binary scoring to knowing when your eval suite is finally doing its job.
  10. 5 Reasons to Solve for Adoption Before Building Your Digital Health Tool
    Healthcare integration6 min read5 Reasons to Solve for Adoption Before Building Your Digital Health ToolClinicians love the idea but no one's buying. That gap is a pattern, and it almost never comes down to the technology. Five adoption problems to solve before you build the product.
  11. Why Your LLM Evaluator Is Lying to You
    Applied LLMs & AI engineering7 min readWhy Your LLM Evaluator Is Lying to YouLLM-as-judge evaluators feel like quality assurance but behave like rubber stamps. They fail hardest on the outputs that matter most: edge cases, safety-critical errors, domain-specific nuance. What to do instead.
  12. Why I Stopped Using RAG for Coding Agents (And What I Do Instead)
    Applied LLMs & AI engineering6 min readWhy I Stopped Using RAG for Coding Agents (And What I Do Instead)The instinct when building a coding agent is 'I need RAG to handle large codebases.' The better instinct is giving the agent tools to explore code the way a senior engineer would: reading files, following imports, tracing execution.
  13. React Tooling 2024: Stop Using the Wrong Shit
    Frontend & React5 min readReact Tooling 2024: Stop Using the Wrong Shit20+ React apps built this year. What works, what's a waste of time, and why you're probably overengineering.
  14. The Neural Net Training Recipe That Actually Works
    Applied LLMs & AI engineering8 min readThe Neural Net Training Recipe That Actually WorksI spent months chasing architecture fixes when my real problem was bad debugging hygiene. The training recipe that works: start simple, visualize everything, tune last. The unglamorous discipline that separates working models from expensive experiments.
  15. You Don't Need GPT-4 for That: Small Models and Edge Agents
    Applied LLMs & AI engineering9 min readYou Don't Need GPT-4 for That: Small Models and Edge AgentsFrontier models aren't required for agentic function calling. For healthcare AI, assuming they are can also be a compliance liability. When a fine-tuned 7B model is the right architecture, and when it isn't.
  16. Multi-Agent Orchestration in Practice: What I Learned Building Parallel Agent Systems
    Applied LLMs & AI engineering8 min readMulti-Agent Orchestration in Practice: What I Learned Building Parallel Agent SystemsThe orchestrator/worker pattern is the key mental model for multi-agent systems. How to structure orchestrators, spawn and manage workers, aggregate results, and avoid the coordination failures that sink most implementations.
  17. What It Actually Takes to Build a Real LLM Agent
    Applied LLMs & AI engineering8 min readWhat It Actually Takes to Build a Real LLM AgentEveryone's talking about agents. Few have shipped one that works in production. The failure modes, memory tradeoffs, and tool design decisions the architecture papers skip.

2023

  1. Three Hard Truths About LLMs in Production Nobody Warned Me About
    Applied LLMs & AI engineering8 min readThree Hard Truths About LLMs in Production Nobody Warned Me AboutTwelve years in ML and I still got burned. Stochasticity is a systems design problem. Your target model will be deprecated. Silent failures are worse than loud ones. What production healthcare AI taught me.
  2. What AI Agents Actually Are (And What They Can't Do Yet)
    Applied LLMs & AI engineering6 min readWhat AI Agents Actually Are (And What They Can't Do Yet)Everyone's building 'agents.' Most are just APIs with a system prompt. The precise definition, the components that matter, the failure modes I've hit, and how to pick the right pattern for your problem.
  3. Stop Using Optional Props: Why Discriminated Unions Make Better React Components
    Frontend & React7 min readStop Using Optional Props: Why Discriminated Unions Make Better React ComponentsOptional props feel flexible until they ship a runtime error to production that TypeScript should have caught at compile time. The pattern that prevents it.
  4. CDS Hooks: What Nobody Tells You Before You Build
    Healthcare integration4 min readCDS Hooks: What Nobody Tells You Before You BuildCDS Hooks look straightforward until you try to get them working in Epic. Six months of integration reality the documentation glosses over.
  5. The Food Truck Method: Building MVPs That Don't Suck
    Engineering leadership & career6 min readThe Food Truck Method: Building MVPs That Don't SuckMost MVPs turn into dumpster fires not because teams move too fast, but because they move fast in the wrong direction. The food truck method for building without the regret.
  6. React State Management & Clean SPA Architecture
    Frontend & React9 min readReact State Management & Clean SPA ArchitectureRedux, Zustand, Recoil, Context API. Most React apps use the wrong one for the wrong reasons. What each tool is for, when SSR changes the calculus, and how to pick without a fight.
  7. HIPAA Consent: What Engineers Actually Need to Know
    Healthcare integration10 min readHIPAA Consent: What Engineers Actually Need to KnowHIPAA documentation runs to thousands of pages. What engineers building healthcare apps need to know, and what's compliance theater.
  8. Ingesting HL7v2 with ❄️ Snowflake Part 1
    Healthcare integration8 min readIngesting HL7v2 with ❄️ Snowflake Part 1Snowflake's flexible compute model makes it interesting for healthcare data warehousing. A walkthrough for ingesting HL7v2 messages into Snowflake: schemas, parsing, and getting clinical data into a structure you can query.
  9. HL7v2 Healthcare Integrations with 🫏 Mulesoft
    Healthcare integration7 min readHL7v2 Healthcare Integrations with 🫏 MulesoftThe MuleSoft Accelerator promises a unified patient view across EHRs using FHIR and HL7v2 integrations. What that looks like in practice, where it delivers, and where you'll spend your consulting budget.
  10. How to ingest HL7v2 Messages into Google Cloud
    Healthcare integration11 min readHow to ingest HL7v2 Messages into Google CloudHL7v2 arrives over MLLP. Google Cloud Healthcare API converts it to FHIR. A complete walkthrough for capturing healthcare messages in Google Cloud, from DICOM stores to Pub/Sub triggers.
  11. Mirth Connect: Part 2 - Adding 🐰RabbitMQ
    Healthcare integration5 min readMirth Connect: Part 2 - Adding 🐰RabbitMQMirth Connect handles the transform. RabbitMQ handles the delivery. Together they make healthcare integrations durable and survivable when downstream systems go down. How to wire them up.
  12. Mirth Connect: Part 1 - Getting Started with 🐳 Docker
    Healthcare integration6 min readMirth Connect: Part 1 - Getting Started with 🐳 DockerMirth Connect is how most healthcare orgs still move HL7v2 messages. Setup from scratch: configuring channels, parsing message types, sending and receiving messages without losing your mind.
  13. Healthcare Integration For Beginners: HL7v2
    5 min readHealthcare Integration For Beginners: HL7v2HL7v2 is how most hospitals have moved clinical data for 30+ years. How it works, why it's still everywhere despite being a 1980s standard, and what you need to know before you start integrating.