---
title: "LLM systems in products"
description: "Product systems where a model proposes and surrounding software decides. MedVoice is the clearest case. AGENYRA is the structured-data case."
canonical: "https://www.ayushrai.site/ai-engineering/llm-systems/"
last-updated: "2026-10-16"
---

# LLM systems in products

Source: https://www.ayushrai.site/ai-engineering/llm-systems/
Markdown: https://www.ayushrai.site/ai-engineering/llm-systems.md

Product systems where a model proposes and surrounding software decides. MedVoice is the clearest case. AGENYRA is the structured-data case.

Evidence level: Mixed: shipped pieces and explicit limits.

## Scope

An LLM system, as I use the term on this page, is the application around a model: what it may see, what it may decide, how a person confirms it, and what is stored. The model is not the system.

MedVoice is the implementation I will talk about in detail. AGENYRA is included because it is explicit that placing a product inside another tool or agent is a later stage than representing the product as data.

## MedVoice: speech proposes, rules decide

The worker speaks an order line. Speech is normalized and matched only against that tenant's medicine catalog. Ambiguous matches stay unconfirmed. Tax is computed with deterministic GST logic in integer money. An ERP failure is not reported as a successful sale.

The repository has phase-2 foundations, including a mock path from speech to a confirmed draft invoice. Real catalog import, production speech, the Android field app, inventory hardening, and live ERP sync are not complete. There is no public demo URL.

```
spoken line
    |
    v
speech adapter (mock by default; Deepgram adapter exists, needs a key)
    |
    v
match only against that tenant's catalog
    |
    v
person confirms ambiguous or risky matches
    |
    v
draft order -> integer GST rules -> confirmed invoice
    |
    v
ERP adapter (mock and CSV exist; Marg, Busy, and Tally are specified, not live)
```

## Trade-offs I accepted there

A model that 'just fills the invoice' would be shorter to demo and harder to audit. The constraint is the product: the model does not choose the medicine, the price, or the tax.

An in-memory demo catalog is enough to exercise the state machine and dishonest as a claim of a live wholesaler deployment. The product page keeps those stages separate.

## AGENYRA is a different kind of system

AGENYRA starts with structured representation and builder onboarding. Discovery over those fields is not the same thing as inserting a product into someone else's agent. The public repository proves the site that says so. It is still building.

## Security and reliability

MedVoice's reliability claims that I will make are the ones in the case study: confirmation before a risky match, idempotent invoice posting, and no success message when the ERP write fails. I do not add a latency budget or a throughput number, because I have not published a measurement.

## Evidence

- [MedVoice case study](/work/medvoice): Problem, role, and what is not done.
- [MedVoice product record](/products/medvoice): Stage: building. No public demo.
- [MedVoiceERP repository](https://github.com/ayushrai-hub/MedVoiceERP): Source. Sampled commits may use the author name MedVoice Agent.
- [AGENYRA case study](/work/agenyra): Structured data before distribution into other tools.

## Related

- [Agents](/ai-engineering/agents)
- [AI engineering hub](/ai-engineering)
- [Products](/products)


## Further reading

- [Patterns of Distributed Systems](https://martinfowler.com/articles/patterns-of-distributed-systems/): Useful for the idempotency point. MedVoice is not itself a distributed-systems case study.

## Gaps

- No production speech traffic, live ERP, or wholesaler deployment to report.
- No general LLM gateway, prompt-management service, or multi-tenant model router.
- Which MedVoice commits were written by me versus coding agents is an open question already listed on the case study.

Contact: /contact

_Unverified award metrics are omitted. Wording matches the public site._
