What I've built
In production
Aino: an AI agent that runs B2B sales end to end
Aino runs the EU B2B sales of a product line at Ihohud Vaasa Oy Ab: prospecting, outreach and customer
correspondence, the CRM, and orders booked into Odoo through to invoice. It is live and generating sales.
It is built for the whole EU: outreach is prepared in all 24 official EU languages, plus Norwegian, Ukrainian
and Russian. Finnish, Swedish, Polish and English are live today; each further language goes live after a
native speaker's review.
- Guardrails in code, not prompts. A banned-claims check that enforces EU product-claim
rules in 18 languages, a tool-call guard, and approval gates before any new market or language goes live.
- A human in the loop where it matters. Close to a guardrail, Aino asks for advice or
approval and waits. Over email, that pause costs the customer nothing.
- Built end to end. It runs on Nous Research's open-source Hermes Agent with Claude. I
built everything above the platform: the sales policy, about 30 Python scripts, the CRM schema, the Odoo
integration, the scheduled jobs and the guardrails.
Open source · AGPL-3.0
Time-travel debugging for multi-agent LLM workflows. Replay any run to any step and diff two runs to find
where they diverged. Tested integrations for LangChain, CrewAI, AutoGen, OpenAI Agents, PydanticAI,
Semantic Kernel, DSPy, LlamaIndex and Claude Code, plus a web dashboard and a VS Code extension.
Open source · MIT
Reasoning skills for coding agents, led by premortem-evolved and skill-gauntlet: a
pre-registered, blind A/B evaluation harness for skills, prompts and agent configurations. I ran it on my
own skills and published the results, negative ones included.
Open source · MIT · on PyPI
A security-focused MCP server that helps AI agents write safer Python: package search with vulnerability
status, OSV checks and dependency audits, including transitive dependencies. One of the 10+ MCP servers
I've built.
Open source · AGPL-3.0
GPU-accelerated candlestick charting for Python: up to 70x faster than mplfinance at 10k candles, 28.8x
on average across chart sizes.
Also: custom Odoo 14–18 modules for POS payments (Nexi), booking and an Amazon marketplace
connector.
How I work
Guardrails in code
Rules an agent must follow live in code that can refuse, not in a prompt it can argue with. When a guard
refuses a draft, the text gets fixed, never the guard.
Evals before trust
Changes are measured against a baseline before an agent gets more autonomy. What doesn't beat the
baseline gets cut, and I publish what didn't work.
Earn autonomy step by step
New markets and languages go live behind approval gates. Agents prove themselves on email, where a pause
for a human is free, before real-time channels like voice.
Premortems before launches
Assume the plan already failed, work back to why, and fix the cheapest causes first. It's how I catch
problems while they're still cheap.
Background
- 2020 – AI/ML and agent systems: production agents, MCP servers, open-source agent tooling.
- 2004 – Ihohud Vaasa Oy Ab, manager (VP & owner 2004–2010): medical device systems,
installation, commissioning and maintenance, ERP/CRM/POS implementation, customer training.
- 2000 – 2025 IT and cloud services: B2B infrastructure, e-commerce and API integrations.
- 1997 – 2009 Firefighter and ambulance medic, group leader and training coordinator. That's
where the habit comes from of building things that must not fail.
Stack: Python (expert), Rust, TypeScript · Claude, OpenAI, MCP · PostgreSQL,
Redis, SQL · Docker, Kubernetes, CI/CD · AWS (Solutions Architect – Associate, 2020) · Odoo
Open to
- Senior roles building or deploying AI agents: agentic automation, AI platform, forward-deployed and
solutions work.
- Remote across Europe, or relocation within the EU, including Sweden and Helsinki.
- Full-time contract missions.
Languages: Swedish (native), English (professional), Finnish (good working knowledge). EU citizen.
Get in touch