When Not to Send Data to a Public LLM

How to decide when a business workflow should avoid public LLM endpoints, based on data sensitivity, contractual exposure, and safer design alternatives.

March 16, 2026 · 7 min · Michelle

The AI Stack in Plain English

A plain-English guide to the main layers of a modern AI system, from models and prompts to retrieval, tools, guardrails, and review.

April 23, 2026 · 7 min · Michelle

Expense Categorization with LLMs

How to use LLMs to turn messy receipts, descriptions, and invoices into structured expense categories without weakening accounting controls.

March 16, 2026 · 8 min · Michelle

Open-Source LLMs You Can Host

How to choose a hostable open-weight model based on task fit, hardware limits, governance needs, and support burden rather than hype.

March 16, 2026 · 7 min · Michelle

Deploy Your Own Private LLM

What a private LLM deployment means in practice, when it makes sense, and how to compare managed private inference, self-hosting, and hybrid architectures.

March 16, 2026 · 6 min · Michelle

Build an LLM-Powered Spreadsheet Assistant

How to design a spreadsheet assistant with safe permissions, table awareness, formula guardrails, and a realistic product scope for business users.

March 16, 2026 · 7 min · Michelle

LLMs vs Traditional Machine Learning

A practical comparison of large language models and classical machine learning, with guidance on when each approach fits a business problem.

March 16, 2026 · 9 min · Michelle

Prompting 101 for Business

A practical guide to writing prompts that produce useful, controlled outputs for real business work rather than clever toy demos.

March 16, 2026 · 9 min · Michelle
Cover image

Refactor, Then Run It: SemaDiff Tests Whether Behavior Actually Changed

TL;DR for operators A commit may be labeled as a refactor and still change behavior that users can observe. For release, backport, rollback, and dataset decisions, the label matters less than whether the parent and modified versions behave differently. The existing repository may not provide a practical way to reach the changed code: in the benchmark, original callers were absent in 50% of cases. SemaDiff addresses this by creating a small caller—called a generated dependent class—that invokes stable public APIs in both versions. It then runs the same generated tests against each version and treats a divergent outcome as evidence of a semantic-changing commit, a process known as differential execution. ...

July 28, 2026 · 8 min · Zelina
Cover image

Look Ahead, Look Back, or Fix It Later: Three Ways to Build an AI Agronomist

TL;DR for operators Agri-SAGE replaces the usual “retrieve some documents and produce a confident paragraph” workflow with a closed loop: retrieve locally relevant agronomic knowledge, generate a complete management plan, execute that plan inside the APSIM crop simulator, inspect yield and crop-stress signals, and revise the advice. Within a ten-year retrospective maize simulation, all three tested reasoning strategies beat a static regional Package of Practices. Tree of Thoughts achieved the highest reported average simulated yield: 9,262 kg/ha, compared with 8,110 kg/ha for the static baseline. Plan-and-Solve reached 9,045 kg/ha, while Reflexion reached 9,002 kg/ha. ...

July 18, 2026 · 18 min · Zelina