<- back to _ai

IoT analytics SaaS platform for HVAC and refrigeration

LLM feature in a production SaaS product

role: Designed and built the generation service, the context builder and the prompts.

// problem

Field technicians wrote the technical descriptions in their service reports by hand. It was slow, quality varied from one technician to the next, and the descriptions often ignored the telemetry the platform already had.

// approach

  • Generation runs behind a provider-agnostic LLM service. A cloud-hosted OpenAI deployment is the default, with OpenAI and Anthropic as configurable fallbacks.
  • Prompts are built from structured context: the equipment profile, a telemetry snapshot, and the anomalies the technician flagged, with measured values and expected ranges.
  • Two modes: generate a description from scratch, or enhance what the technician already wrote.
  • Output is constrained to a fixed format that drops straight into the report.

// architecture

// guardrails and production concerns

  • The model must say when the data is insufficient instead of guessing.
  • Calls authenticate with cloud identity tokens, not API keys.
  • Token caching and request timeouts on every call.
  • Configurable fallback providers, so the feature does not depend on a single vendor.

// outcome

Technicians get a grounded first draft, or a cleaned-up version of their own text, built from data the platform already has and ready for the report. It is applied AI with production discipline: grounding, refusal behaviour, structured output, provider independence and secretless authentication.

// stack

  • LLM integration
  • Azure OpenAI
  • OpenAI
  • Anthropic
  • Node.js
  • TypeScript