Recent Blog Posts
Insights on AI Agents, Modern Web, and the Future of Engineering.
Batch Inference at Scale with Ray
Offline LLM work — scoring, summarization, backfills — needs throughput and reliability, not latency. Distribute thousands of calls with Ray tasks and actors, retries, and structured cost tracking.
Streaming Inference with FastAPI and Server-Sent Events
Turn a blocking LLM call into an incremental, observable stream of tokens with FastAPI StreamingResponse and Server-Sent Events — including cancellation and backpressure.
Fine-Tuning vs. RAG: When to Use Which Technique
Fine-tuning changes how the model behaves; RAG changes what it sees. Use a checklist and a small offline eval to decide between the two — and when to combine them into a hybrid.
Structured Outputs: JSON Schema Validation for LLMs
Ask an LLM for JSON and you will get broken JSON. Learn to constrain generation with Gemini response_schema and Pydantic, then verify the output as an explicit, catchable step.
MLOps for LLMs: Versioning Prompts, Data, and Weights
LLM apps drift for reasons unrelated to weights. Version prompts, datasets, and models against the metrics that decide whether a change is an improvement, using MLflow tracking plus the Model Registry.
The Importance of Explainable AI (XAI) for Debugging and Trust
Explainability is the interface for human judgment. Learn the four practical XAI levers for LLM apps — RAG attribution, logprobs, traces, and SHAP — to make systems debuggable and trustworthy.
Secure AI Development: Secrets Management and Prompt Injection Defense
Instructions and data share the same token stream. Build the defensive stack for AI apps: env-based secrets, system-instruction hygiene, provider safety filters, output validation, and least-privilege tooling.
Observability for Agents: Tracing Tool Calls and Reasoning
An agent is a loop, not a single API call. Instrument it with OpenTelemetry AGENT/LLM/TOOL spans and a shared trace_id so you can attribute bad reasoning, slow dependencies, and tool failures.
RAG Evaluation: Measuring Retrieval Quality Objectively
A RAG pipeline fails in two halves: retrieval and generation. Build a transparent Python eval harness computing hit_rate, MRR, context precision/recall, and faithfulness to know exactly which half to fix.
Building Guardrails for LLM Outputs
Turn "the model should not do that" into a named, auditable gate. Build a deterministic validation layer with Guardrails AI and Gemini structured outputs — schema plus semantic checks, with bounded reask.
Beyond AI: An Executive Brief for C-Level Leaders
AI changes every month, but the principles of designing work change every ten years. An executive brief on how to manage AI — warning signs, the resource mindset, five strategies, and the role each C-Level leader must own.
Gemini 3 Robotics: Bridging the Gap Between Reasoning and Physical Motion
Reasoning and motion used to live in different worlds. Learn the two-brain robotics pattern: an embodied reasoning model that plans and coordinates, and a vision-language-action model that moves.