Insights · Page 3 of 4
Notes from the people doing the work.
Earlier articles. Each one is here because we had something specific and true to say: a decision we made, a trade-off we learned, a problem we solved.
41 articles

Common VICIdial Problems and What Actually Causes Them
One-way audio, calls that will not connect, agents timing out, reports that disagree. The same handful of causes explains nearly all of it, and almost none of them are the application.
Shah Fahad· 8 min read
Securing a VICIdial Server: Toll Fraud and the Controls That Matter
An internet-facing dialer is scanned within hours of going live. The attack that costs you money is toll fraud, and one control caps the damage better than all the others.
Shah Fahad· 7 min read
Why Most AI Projects Fail on Data, Not the Model
The model is rarely what sinks an AI project. It is data you cannot reach, evaluation nobody defined, and demos that never survive real production traffic.
Shah Fahad· 7 min read
RAG or Fine-Tuning: A Practical Decision Framework
RAG gives a model knowledge it can cite. Fine-tuning changes how it behaves. Confusing the two is an expensive mistake. Here is how to choose.
Shah Fahad· 8 min read
How to Evaluate an LLM System You Cannot See Inside
You cannot unit test a language model. Same input, different output, no visible logic. Here is how to evaluate one with real rigour instead.
Shah Fahad· 9 min read
AI Agents in Production: What Actually Breaks First
A demo agent and a reliable one are different systems. Here is what breaks in production and the guardrails that keep agents from doing damage.
Shah Fahad· 8 min read
Prompt Engineering Is Specification, Not Magic Words
Good prompting is not about secret phrases. It is writing a precise spec: context, constraints and examples. Here is how to do it, and where it stops.
Shah Fahad· 8 min read
The Hidden Cost of Running LLMs in Production
Per-token pricing hides the real bill. The true drivers are context, retries, retrieval and evaluation. Here is what costs money and how to budget.
Shah Fahad· 9 min read
Monolith or microservices? Count teams, not features
Microservices solve an org problem, not a technical one. Below roughly three teams a modular monolith wins. How to tell, and how to draw boundaries.
Shah Fahad· 8 min read
Build vs buy: a framework that survives reality
Buy the commodity, build the differentiator, and watch the hidden costs on both sides. A practical build versus buy framework, plus the sunk-cost trap.
Shah Fahad· 8 min read
When to modernise legacy software, and when not to
The full rewrite is the most-regretted call in enterprise software. Use the strangler fig, find the seams, and know when leaving it alone is correct.
Shah Fahad· 9 min read
What Your Cloud Bill Is Really Telling You About Design
A cloud bill that grows faster than your traffic is not a pricing problem. It is your architecture speaking in the only language finance reads.
Shah Fahad· 7 min read
Have a project to talk through?
Tell us what you are building or fixing. A senior engineer reads every enquiry and will give you a straight view, including when the answer is to leave it alone.
- 01A senior engineer reads it. Not a form queue, and not an account manager.
- 02We reply either with questions or with a straight answer that we are not the right fit.
- 03If it looks like a fit, a technical call with the person who would actually run the delivery.
- 04Then scope, effort and risk in writing, before anyone signs anything.