Hackin '26 · Team Iris

Iris

Product content fixes.
In minutes, not days.

A wrong product description is a live page converting worse than it should, and the fix usually already existed. IRIS takes the request in Slack and gates itself on its own confidence.

INTERNAL TOOL

Built with

Slack APIOpenAI APIReplitLLM confidence scoringField normalisationDiff review UI

Built by Ayush · KJ · SS

IRIS explained: a Slack thread where a colleague asks IRIS to update a product’s timings, and IRIS works through understanding the request, fetching product data, updating across the CMS and connected systems, and publishing the change, reporting back in the same thread.

The motivation

Why we built it

A wrong product description is not an operations problem, it is a live page converting worse than it should. The fix usually already existed. It was the request, the triage and the queue that took roughly ten days at the 75th percentile, not the edit.

The trade-off

The decision that mattered

Confidence gating, rather than full automation. High-confidence fixes ship on their own; anything less lands in a side-by-side diff for a writer. Writers review, they do not re-execute. Automating the whole thing would have been easier to build and impossible to trust.

The interface

How a request comes in.

A requester sends one Slack message with the product ID and what needs changing. IRIS asks follow-up questions when the request is unclear, maps every field that needs updating, executes high-confidence fixes automatically, and routes medium and low confidence ones to a side-by-side diff for a writer to approve. No form, no ticket, no back-and-forth.

One Slack request to Iris fanning out into three actions, understanding the request, making the changes and routing anything low confidence, and ending in an updated product page plus one item held for human review.

Where the tickets go

What happens to 100 tickets.

Roughly, per 100 product-content fix tickets · 3 September

Closed zero-touch

The system identifies the fix, makes the change and closes the ticket automatically.

Review, no changes

The system has already identified the right actions. The writer reviews and closes the ticket.

Review, with changes

The writer needs to modify what the system proposed.

Don't process cleanly

Usually because context is missing, the request is misrouted, or several kinds of fix are bundled into one ticket.

The mechanism

How it works

Iris does the request handling, the mapping and the routing. Writers only touch the judgement calls.

Step 01 / 04

Slack intake

The request happens where the person already is.

What happens

  • A requester sends one Slack message with the product ID and what needs changing.
  • Iris asks follow-up questions when the request is unclear.
  • No form, no ticket, no back-and-forth.

The demo

See Iris in action.

A walkthrough of one real request: a plain Slack message, the fields Iris finds, the changes it applies and the ones it sends for review.

IRIS resolving a content fix from a single Slack message.

A real example

From two days to five minutes.

A banned keyword, "skip the line", had to come off every surface it appeared on: product pages, landing pages, shoulder pages and meta descriptions. It took two days to make the changes and a week to verify them. Iris does the same pass in minutes.

Before

Product description

… skip the line and enjoy …

Meta title

… skip the line tickets | …

Inclusions

Skip the line access

Landing page

… skip the line entrance …

After · via Iris

Product description

… enjoy priority access …

Meta title

… priority tickets | …

Inclusions

Priority access

Landing page

… priority entrance …

Impact

What changes, and by how much.

Today

35%

Of product-content fixes close with no writer touching them

Target, end of September

90%

The target, not a result

Before35
After90

% closed zero-touch

At today’s volume that is roughly 280 tickets a month handled without writer intervention, and about 720 a month at the target.

Three months earlier

10 days

A typical product-content fix, 75th percentile

Today

24 hours

The same measure, as of 3 September

Before240
After24

Hours to resolve

The goal for straightforward fixes is under 60 minutes, from ticket raised to content fixed to ticket closed.

The ground it works on

200

Product-content fixes a week

Of roughly 350 fix tickets a week. The scope of version one of the system.

86%

Tickets where the right fix is identified

Roughly: the zero-touch tickets plus those a writer only reviews.

Where it landed

Built at a hackathon. Absorbed into the workflow.

Iris was never a product with a roadmap. It was an argument about how content fixes should work, made in working code.

Built

A working build, in a hackathon week

Slack intake, field normalisation, product and variant mapping and confidence scoring, all running. The connection into our content admin system was stubbed for the demo.

Shown

Demonstrated to the company

Not a deck. The code, and the fixes it makes, walked through on real content requests.

Adopted

The existing ticketing workflow took it on

The company already ran its own ticketing workflow. That workflow has since taken on this code and this process, which is a better outcome than a second tool nobody has to adopt.

Let’s build something that scales.

I build systems that turn growth opportunities into scalable outcomes. Have a challenge worth solving? Let’s connect.