Jarby Jessid Cosme
Resume ES

Jarby Jessid Cosme

Software and AI engineer. I own the AI that answers SIESA's ERP support chat, about 1,000 conversations a day.

Now
Running SIESA's support RAG in production, 15 ERP modules
Building
The online triage that will be every customer's first contact
Looking for
A full-time remote role, from Cali, Colombia, GMT-5

Profile

I've built software for seven years. Full-stack .NET first, and since 2025 the AI behind customer support at SIESA, one of the largest ERP vendors in Colombia.

I like owning a system from the first look at the data to the day it runs without me. At SIESA that meant reading 90 days of chats, taking a business case to leadership, building the engine, shipping it and running it since. The language is whatever the system needs. Mostly Python, C# and TypeScript, with SQL everywhere.

I also teach. I trained 16 people and worked with 3 teams as they started using AI in their own work.

Now
Sole technical owner, AI support platform, SIESA, since May 2026. Software developer at SIESA since March 2022.
Before
Freelance full-stack developer, 2019 to 2022. Six web apps for Colombian small businesses, one of them a PayU store with US$25K+ in first-year sales.
Stack
Python, FastAPI, C# and .NET 8, TypeScript, React, SQL Server, PostgreSQL with pgvector, AWS Bedrock, LangGraph, n8n.
On the side
Tocaturno, my own product, plus AI classes and automations for clients.
Education
B.Sc. in Systems Engineering, UNAD, expected 2027. Technologist in Systems Analysis and Development, SENA, 2022.
Languages
Spanish native. English B2, and I work in it every day.

The RAG story

SIESA's support chat ran on a third-party chatbot nobody could audit. I replaced it with an engine the company owns and can measure. It now answers about 1,000 conversations a day.

It started with the data

I pulled 90 days of production conversations, 55,350 chats and about 964K messages, and read what customers actually went through. There was no way to tell whether an answer was right. The model, the retrieval and the citations belonged to the vendor, so a no-invention policy couldn't be enforced from outside. And the worst moment came after the bot, when a customer asked for a person and the handoff stalled.

I took that to leadership as a business case with six decisions ranked by impact and cost. The main one was to build our own engine and fix the handoff in the same move.

The engine

  • No framework in the request path

    Python and FastAPI straight on the model API, so every millisecond and every token can be traced.

  • Claude on AWS Bedrock

    SIESA already ran on AWS, so billing and permissions stayed in the account it had. Sonnet answers, Haiku rewrites follow-ups and reads scanned pages.

  • Retrieve wide, rerank narrow

    pgvector search filtered by ERP module, then Cohere Rerank keeps the five passages the model reads.

  • Checked before it goes out

    Every citation has to exist in what was retrieved. A number that isn't in the sources sends the chat to a person.

  • Rules before the model

    About 170 deterministic rules handle greetings, risk and requests for a person before any LLM call.

  • Same contract as the old bot

    The support portal didn't change, so switching over and rolling back were both routine operations.

Shipping it, twice

  1. Shadow run772 real conversations, answers hidden. A separate judge preferred the new engine 44% of the time, the old one 40%.
  2. SwitchCustomers kept the same chat window.
  3. RollbackBack to the vendor after a complaint from the support desk.
  4. Switch againWith the root cause fixed.
  5. 15 ERP modulesAbout 1,000 conversations a day. Reported to leadership and to the CEO.

What changed

40.2%32.7%

Human escalation per chat in Payroll, the busiest module. Statistically significant, p = 0.0005.

6.95%0.25%

Replies that tell the customer to contact support.

71.6%89.6%

Answer correctness between evaluation cuts, scored by a human-validated LLM judge.

-16%

Cost per turn after adding prompt caching.

30%64%

Customer-service CSAT after redesigning the handoff to agents.

The fix was in the content

Hybrid retrieval looked like the obvious upgrade. I built it, measured it twice on real customer queries and switched it off. It recovered 0 of 5 failing cases, and every retrieval variant I tried landed within 3.6 points of the others.

So the effort went to the documents. I reprocessed 1,027 of them with multimodal OCR and set up a curation loop where agents approve about 150 new answers a week, from a console 44 agent accounts use.

Every change now ships the same way. A golden set per module scored by an LLM judge, an A/B replay on real traces and a significance test before and after. I rebuilt that method in the open as rag-eval-bench.

The platform belongs to SIESA. Figures come from project reports to leadership, July to October 2026. I can walk through the architecture in an interview.

Projects

rag-eval-bench report comparing five retrieval configurations on accuracy, wrong answers shown, escalation, cost and latency.
Public code

rag-eval-bench

A bench that decides whether a RAG change ships. Golden set with questions the docs can't answer, an LLM judge, a validator that catches invented citations and numbers, and a paired McNemar test behind a CI gate. It runs on the public Odoo 18 docs.

What it found. Hybrid retrieval beat dense by 12.5 points, p = 0.02. A reranker added 1.4 points and pushed p95 latency from 2.5 s to 8.3 s, so it doesn't ship.

  • Python
  • BM25 + RRF
  • LLM-as-judge
  • GitHub Actions
Tocaturno home page, a WhatsApp reception service for clinics, vets, salons, barbershops and pharmacies.
Live

Tocaturno

My own product. A WhatsApp reception for appointment-based businesses. It answers at any hour from templates the owner approves, books free slots, sends reminders and hands sensitive conversations to a person.

  • WhatsApp
  • LLM
  • Scheduling
41.1%

How often the old bot's attribution matched a ticket-by-ticket audit. That gap is why Jarvis exists.

In shadow

Jarvis

A daily LLM judge that reads every support conversation and decides who resolved it, the AI, an agent or no one, with the same rule for both. At closing it also types the ticket, replacing the old bot.

In shadow since October 21 at about US$0.002 per chat. I rewrote its closing engine in LangGraph with parallel judges, PostgreSQL checkpoints and pauses for human review.

  • Claude Haiku
  • LangGraph
  • Power BI
  • n8n
Internal to SIESA

Next on the support platform

Two pieces that build on the RAG. One is under construction, the other is designed and planned for later.

Under construction

Online triage

Today a customer picks an ERP module before the chat starts, and that choice is where the bouncing between channels begins. The triage becomes the single entrance. It reads the problem and the customer's open tickets, then sends the case to the RAG or to an L1, L2 or L3 agent with a summary, so nobody starts over.

CustomerWrites the problem in their own words
then
TriageClassifies the request and reads the open tickets
routes to
RAG
L1
L2
L3

Before promising anything I estimated the ceiling from data, about 6 points off escalation.

Designed, planned for later

RAG v2, tools on customer systems

Today the RAG explains the fix and the customer applies it. The second version runs the fix on the customer's installation, a service restart or an update, and every action has its own permission level.

Customer problemArrives through the chat
then
RAG finds the fixFrom the docs, as it does today
then
Permission for that actionEach action has its own level
then
Runs on the customer's systemRestart a service, apply an update

The design is done. Building it comes later.

Smaller things

Service KPI pipeline

SIESA

Replaced a manual export with Excel and nine SQL scripts, run two or three times a day, with a pipeline from the Freshdesk API to Power BI. Checked against the manual load, 9,607 rows against 9,606.

Enterprise .NET app

Public code

A reference monorepo. ASP.NET Core in layers, JWT with roles, PostgreSQL, React with Vite, tests, Docker Compose and CI.

In-house service platform

SIESA

The Jira-style platform more than 500 employees use. I lead its development and merged three internal apps into it.

Open to full-time remote roles.

Where I can own a system end to end, in AI, backend or data. I'm in Cali, Colombia, GMT-5, with full overlap with US Eastern and Central time.

jessidc95@gmail.com