about

I’m Filip. I build AI that a person stays in charge of.

Keel Agents is the name I work under: one independent AI engineer building agents, document Q&A and LLM features for small businesses, agencies and startups.

I am self-taught and came to AI engineering from backend and web apps. I would rather show than claim: each project below comes with its tests, its measured results and its limits written down. My public code is on GitHub.

projects

What I have built

Two projects, built on my own to the standard I would deliver to a client. They are portfolio projects, not client engagements. Read the evidence rather than take my word for it.

EU AI Act compliance assistant

You ask a question about the EU AI Act. Every sentence of the answer cites the provision it came from, and the code checks that the provision was really retrieved. When the Act does not support an answer, the assistant refuses.

901chunks

Split on the Act’s own structure.

source: eu-ai-act-assistant repo

36questions

Labelled by hand.

source: eu-ai-act-assistant repo

245offline tests

Run with no API key.

source: eu-ai-act-assistant repo

AI service delivery coordinator

It turns a client request into a project plan. A person edits and approves the plan; only then does anything reach Asana and HubSpot. After that it watches delivery and proposes what to do about blockers and slipping dates, for a person to approve.

~6,800tests

Unit and integration tests.

source: project README

85browser tests

CI also runs strict mypy and both Docker Compose stacks.

source: project README

habits

How I work

These five habits show in both projects. They are also what I would bring to yours.

The AI drafts, a person approves

Anything with consequences waits for a person. The AI can propose a plan or draft a message. It cannot send it, or write it into your systems, on its own.

evidence

In the coordinator nothing is created in Asana or HubSpot until a person approves. The approval records who approved which version of the plan.

Measured, not assumed

If a claim about quality matters, a test or an evaluation sits behind it. I measure against questions I labelled by hand, and I publish the result even when it is unflattering.

evidence

On the assistant, vector search alone scored 0.86 on recall@5; the hybrid search I shipped scored 0.58. Both reached 0.92 at recall@20. The table and my reasoning are in the repository.

Spend is capped in code

Anything that calls a paid model has a hard limit written into the program, not a polite request in a prompt.

evidence

The assistant stops at 10 questions per session and 30 per address. In the coordinator, every model call reserves tokens against a per-run and a daily cap before it is made.

Untrusted text is data

What a customer types, a comment on a task or a note in a CRM is never an instruction. It reaches the model quoted, never as part of the instructions.

evidence

In the coordinator the agents have no tools, so a hostile comment has nothing to act with. In the assistant, every line of visitor text is quoted, so a question cannot pose as a provision of the Act.

Limits are stated plainly

Every project I hand over comes with a list of what it does not do. You should hear that from me before you find it out.

evidence

The assistant’s README says its citation check confirms a cited provision was retrieved, not that the sentence says what the provision says. The coordinator’s lists what is not built yet, including that it has no hosted demo.

engagements

Working together

format
Remote and in writing. Scope, decisions and progress are written down, so you can forward them to a colleague without explaining a call.
updates
Updates as the work goes. You see what changed and what I decided, not just that time has passed.
code
Your repository. The code lives in your repo, with tests and a README another engineer can follow, so you can run it without me.
contact
One person. You talk to the person writing the code.

Tell me what is eating your team’s week.

Send a short brief: what the work is, who does it now, and what it costs you. I reply within two working days with a rough scope, a price range and whether AI is the right tool for it at all.

Send a brief

Or write to [email protected].

  • Defects fixed at no charge for 30 days after a build’s handover
  • Stop partway: pay for the work done, keep the code
  • No mark-up on model usage