YOANDRY(1) User Commands
2026-10
NAME

yoandry

senior software engineer, LLM platform and backend systems
SYNOPSIS

I build systems whose state can be proved rather than asserted, whether that state is money moving through an exchange or an answer from a language model.


DESCRIPTION

Two problems that look unrelated are the same problem. An append-only event ledger can prove what happened; a mutable table can only assert it. An answer checked by entailment can prove it is supported by the documentation; one checked by embedding similarity can only assert that it is on the same subject. Both are the difference between a system that can be audited and one that asks to be trusted.

At NDAX, a regulated Canadian crypto exchange, I work on both layers. I own the architecture across agent orchestration, a layered guardrail stack, a replayable evaluation harness and the authenticated gateway between models and customer accounts, and I lead the team that builds on it. Before the AI work I built back-office, reporting and payments services for the exchange itself.

The grounding work is the clearest case. I replaced embedding-similarity grounding with an entailment-based judge after showing that similarity both false-blocked safe replies and passed answers the corpus did not support. In a regulated environment, “the model said so” is not an acceptable answer to a compliance reviewer, and designing for that from the start is most of the work.


WORK

Agent orchestrator. The service that turns a customer message into a grounded answer: intent routing, prompt assembly with few-shot selection, tool calling against internal APIs, streamed responses over WebSockets, session continuity and erasable user memory.

Guardrails. Sixteen independent response-safety checks covering groundedness, structured-output validation with fallback, formatting integrity, provenance and compliance-sensitive content. Grounding is checked by entailment, not embedding similarity.

Evaluation harness. An in-repo framework (runner, assertion library, LLM judge, versioned baselines), so a prompt or model change is measured against a replayable suite instead of judged by hand.

AI gateway. A NestJS service that is the single authenticated ingress for AI traffic and the only path to exchange internals, exposing internal APIs to agents as typed tools with generated parameter schemas, per-tool access control and full audit logging.

MCP tooling. Model Context Protocol servers turning OpenAPI specs and internal service operations into tools over STDIO and HTTP, under the same access controls as the APIs beneath them. They run in production for internal testers.

Coding agent. ndax-pilot, a Go command-line coding agent that runs on the company’s own Azure AI Foundry deployments, with a context engine, persistent memory per repository and a skill system, so engineers get agent help without code leaving our tenancy.

Chat surface. A Preact and Vite chat widget compiled to a standalone CDN bundle, embeddable on any page, plus the assistant and marketing surfaces that consume it.

Team. I lead two junior engineers and write every ticket they pick up to a ready-for-work standard: one repository, one pull request, one working day, and no design decision left open. Weekly sprints, estimates calibrated against measured cycle time, and security review on every authentication, money-movement and personal-data change.

Agent tooling. The team’s Claude Code plugin marketplace, which carries our ticket, estimation and review process into the coding agents we use. Releases pass a behavioural eval suite first, and agents must ask a person before writing to the issue tracker or the code host.

Exchange platform. A multi-tenant admin portal for the exchange’s business clients, built from scratch in Next.js with a NestJS backend, role-based access and four-eyes approvals. Also customer statement generation and a payments service brought under strict TypeScript.

Direction and standards. The cross-service contracts and the engineering organisation’s operational record: incident post-mortems, runbooks, workstation hardening and the development workflow the team works to.


EXPERIENCE
2025–
NDAX · Senior Software Engineer Calgary. Contract from June 2025, full-time since January 2026. AI platform architecture and the exchange’s backend services. See WORK above.
2022–2025
Quantifi / Credit App · Senior Software Developer Auto-lending finance. Event-sourced microservices on Kurrent (formerly EventStore), with the event ledger as the system of record, built as Node.js services in an Nx monorepo. Joined Quantifi as a full-stack developer; promoted when Credit App was spun out as its fintech arm.
2018–2022
Front10 · Lead Software Engineer Miami, remote. Led the team building embeddable React widgets for airline websites (booking forms, fare maps and related flows), shipped for Spirit, Air Canada and LATAM. Built out test coverage with the QA team across unit, integration and Cypress end-to-end suites, and led accessibility QA for the widget suite after certifying in it.
2017–2018
LUPO Barcelona · Full-stack Developer Barcelona. Led the store’s migration from WordPress to PrestaShop and ran the DigitalOcean infrastructure alongside it. PHP, MySQL, Python.
2012–2016
DTS · Systems Engineer, data centres Havana. Oracle database administration on RAC clusters, with GoldenGate replication and standby (Data Guard) failover, alongside Linux server administration across the estate.

ENVIRONMENT
Languages
TypeScript · Go · Python · SQL
AI
Azure AI Foundry · Model Context Protocol · RAG and grounding · LLM-as-judge evaluation · guardrail design
Backend
NestJS · Node.js · GraphQL · WebSockets · Redis · OpenAPI
Event-driven
Event sourcing · Kafka · Kurrent (formerly EventStore) · microservices · Nx monorepos
Platform
Linux · Docker · Kubernetes · Terraform · AWS · Azure
Daily driver
Arch Ubuntu Debian

SEE ALSO
yoandry.dev 2026-10 YOANDRY(1)