Work / 2026
KestrelTrading agents with limits a person can read.
- Client
- Kestrel Markets AS
- Year
- 2026
- Role
- Product design, Interface system, Front-end engineering
- Team
- Ingrid Solberg, Mats Eide, Selma Varga

The brief
Kestrel Markets builds autonomous trading agents for small Nordic funds. Each agent trades inside limits: how large a position may grow, how much it may lose in a day, when it may trade. In 2025 those limits lived in YAML files in a git repository. Risk managers asked engineers to change them, engineers asked what they meant, and compliance read pull requests to learn what an agent was allowed to do.
The brief was a product a fund’s own people could run: risk managers changing limits without a ticket, compliance reading them without a developer in the room, and anyone able to answer, at any moment, why an agent just did what it did.
What we decided
- 1
Limits are written as sentences
Each guardrail reads as one plain sentence with its values inline: “Never let one position grow past 8.0% of the fund.” The sentence is both the interface and the specification. It compiles to the same rule engine the YAML fed, so nothing about execution changed.
- 2
Show the cost before the change
Editing a value replays the agent’s last 90 days under the new limit. You see which trades it would have stopped and what that does to return and to the worst day, before anyone approves it. Tighter isn’t always better, and the chart says so.
- 3
Every action cites its rule
The activity log lists each order with the rule that allowed or stopped it, in the order the engine checked them. The compliance export is the same list as a PDF. It replaced a week every quarter spent rebuilding decisions from server logs.
- 4
Soft limits ask a person, and default to no
Above a soft limit the agent asks on the phone: what it wants, why, and how far past the limit it would go. If nobody answers in 90 seconds, the trade is declined. We tested 30, 60 and 90 seconds with three funds; 90 was the shortest window people answered in without rushing.
- 5
Two colours, one meaning each
Lime only ever means an agent is acting. Amber only ever means it is waiting for a person. Everything else is grey, so one glance across five agents tells you which one needs you.
What happened
The guardrail editor launched with three funds in March 2026 and now runs for eleven. Risk managers make most limit changes themselves, and compliance signs off a new agent in days rather than weeks.
We built the interface in React alongside Kestrel’s engineers and handed over the component library and its documentation in June. They have shipped two new rule types on it since.



Reading the room
We spent the first two weeks on the trading floors of three funds, watching how people checked on their agents. Nobody looked at the charts first. They looked for the one agent that was behaving differently, then for the reason.
So the overview is a list ordered by attention, not by performance. An agent that wants something rises to the top and turns amber; everything that is fine stays quiet.


“I used to find out what our agents were allowed to do by reading a pull request. Now I read three sentences, and I change them myself.”

- to sign off a new agent, down from three weeks
- 4 days
- of limit changes now made by risk managers, not engineers
- 73%
- median time to answer a soft-limit request
- 38 s
- funds running their agents on the editor
- 11
Kestrel’s figures, June to October 2026.
