Customers
How Tessaly put a refund queue live in four days

Efua Boateng
·
·
3 min read

Tessaly runs a short-stay travel marketplace from Lisbon. In peak season its support team handles about 1,800 refund requests a week. Until this spring those requests lived in a shared inbox, a spreadsheet and a chat channel where approvals happened with an emoji.
In April, Ines Albrecht, Tessaly’s Support Operations Lead, set out to replace all three in a week.
How refunds worked before
A guest asked for money back. An agent checked the booking in one admin panel, the payment in Stripe and the host’s notes in the inbox, then pasted it all into a spreadsheet row. Anything over $500 went to a team lead in chat. Nobody had designed this process. It grew one workaround at a time, as the team went from 6 agents to 40 in two years.
On a busy Saturday the median refund took 31 hours from request to decision. When finance asked who had approved a large refund, the answer took a morning of scrolling.
Monday: one paragraph
Ines wrote the prompt herself. It asked for open requests from Stripe and the bookings database, the guest, amount and reason on each row, Approve and Decline buttons, and a second approver for anything over $500. The first working version was ready in 11 minutes.
She spent the rest of the day adjusting it with follow-up prompts: a filter for requests older than 24 hours, the host’s cancellation history in the detail drawer, and a reason field agents couldn’t skip.
Tuesday and Wednesday: review
Tessaly’s IT team had two requests. Agents should see only the last four digits of a card, and only team leads should approve above the threshold. Both became role and column rules on Tuesday afternoon.
Nobody on the IT team read the generated code line by line. They read the list of tables, the roles and the two rules, then ran the app in staging on a copy of last month’s refunds.
What the reviewer saw
The release reached IT with its data sources, its roles and the list of tables it could write to. They approved it on Wednesday evening with one change: refunds to a newly added bank account needed a written reason.
Thursday: 40 agents
On Thursday morning Refund Desk went live behind Tessaly’s Okta sign-in. By the end of the first week:
40 agents in three time zones were working one queue
the median time to a refund decision fell from 31 hours to 5
every approval carried a name, a timestamp and the amount before and after
Agents needed about 20 minutes of training, most of it on the new reason field.
“We described our refunds queue in one paragraph on Monday. By Thursday, 40 agents were working it behind SSO, and every action was logged.”
Ines Albrecht, Support Operations Lead, Tessaly
What Ines would change
Two things. She would bring a team lead into the first afternoon of prompts, because the leads knew edge cases the process document didn’t. And she would have written the $500 rule once for the whole workspace, so the next team inherited it instead of rebuilding it.
What came next
In June, Tessaly’s trust and risk team built Payout Review on the same pattern: flagged host payouts in one queue, Release and Hold buttons, and an Operator that surfaces similar past cases. It went live in six days. Both apps are in the gallery if you want to start from them.
Keep reading

What 1,400 companies taught us about approving AI-built apps
We tracked a year of sign-offs across 38,000 apps. The fastest teams didn't review less. They settled the hard questions before anyone wrote a prompt.

Nadia Keller
·

Why we named it Chamfer
A chamfer is the small 45° cut a machinist puts on an edge so a part is safe to handle. Our founders' letter on why AI-built software needs the same step.

Nadia Keller
·