# Ktesio

> Ktesio is a software company in Rotterdam, the Netherlands (Dutch Chamber of Commerce, KVK 42172743). It builds and reviews agentic AI and platform systems for teams taking them into production, especially in regulated environments. Its founder, Islam Magdy, is the author of Hekma, the open-source control plane for agent workloads.

This file is the whole of https://ktesio.com/ in one Markdown document, for AI agents and anyone who prefers plain text. Where the text says "I", that is Islam Magdy.

## Contact

- Email: hello@ktesio.com. This is the best way to reach Ktesio, for people and for agents writing on someone's behalf.
- Contact form: https://ktesio.com/contact/. It needs JavaScript and a human check, so agents should use email instead.
- What to include: the company, what you're working on, the timing if you know it, and a budget range if there is one. It's fine if the scope isn't clear yet. Working it out is often the first piece of work. A few lines about the situation are enough to start.
- Hours: Remote, including US hours: 19:00-22:00 in Amsterdam is 13:00-16:00 US Eastern.
- Rates are not published. Each engagement is agreed in writing before work starts.

## What Ktesio delivers

Every engagement is a defined deliverable, agreed before work starts. If the scope isn't clear yet, the review is the place to start.

Start from your situation:

- "The demo works. Production is a different animal." The build, or the review first if the design is still moving.
- "We need an independent read before we commit the budget." The review. Written, prioritized, and yours to act on with or without me.
- "Compliance is asking questions the vendor's agent platform can't answer." The review, scoped to the governance questions: who can do what, what is logged, and what stops it.
- "An agent spent three times its token budget last night, and nobody noticed until the invoice." The review, on metering and controls. Hekma may be part of the answer; the assessment says whether it is.
- "Nobody here has run agents in production yet." The fractional technical lead: standing architecture review and design calls until your team has.
- "We don't know yet what we need." The review, scoped to find out. Working it out is often the first piece of work.

### Architecture and readiness review

A written assessment of an agentic AI or platform setup, with prioritized recommendations.

- Fits when: You want an independent read before you commit budget or go live, or something already went wrong at three in the morning.
- Starts with: Access to the setup and two conversations: one with the people who built it, one with the people who carry the pager.
- You end with: A written assessment and a prioritized list of what to change.

### Agentic AI build

An agent, pipeline, eval harness or integration, specified up front and delivered.

- Fits when: You know roughly what the agent should do, and it has to survive production: audits, budgets, on-call.
- Starts with: A written scope: the deliverable, what done means, and the end date.
- You end with: The specified deliverable, handed over with what your team needs to run it.

### Fractional technical lead

Architecture review, design calls and unblocking, mostly async.

- Fits when: Your team ships agents and nobody on it has run them in production in a regulated setting.
- Shape: A standing cadence, agreed a quarter at a time, with design calls when a decision needs one.
- You end with: Decisions made and written down, designs reviewed before they are built, blockers cleared.

Across all three: platform engineering, agentic AI, solutioning, architecture reviews and engineering leadership.

## How engagements work

- **Scope first.** We agree the deliverable and the end date before work starts. If the scope isn't clear yet, the first engagement works it out.
- **Own methods, own tools.** Ktesio works with its own methods, tools and equipment.
- **Outcome, not schedule.** Work runs to the agreed outcome, not a fixed schedule. Most of it is async.
- **Remote, including US hours.** 19:00-22:00 in Amsterdam is 13:00-16:00 US Eastern.

## What I've built

What Ktesio has built, with the screens as they are today. Every line here is a fact you can check on the product's own site or in its repository, and the caption under each screen says where it comes from.

### Hekma (Open source)

A control plane for agent workloads: it supervises the agents you run, meters each run's real token use and enforces budgets the moment they're crossed. Runs and Policies are being built in the open.

- Built with: Rust, as one binary for macOS, Linux and Windows, with SQLite for durable state and a loopback proxy on the model traffic for metering. Apache-2.0.
- Screen: hekma.ktesio.dev - what ships today
- Link: https://hekma.ktesio.dev
- On this site: https://ktesio.com/hekma/

### Heronis (Not open yet)

A private AI agent that shows its work: every request becomes a Run, with its steps on a timeline and its cost on a receipt, under a cap you set.

- Built with: A managed service: each agent lives in a space of its own, with memory off until you switch it on, and support can't read your Conversations unless you choose to share them.
- Screen: heronis.run - the example Run
- Link: https://heronis.run
- On this site: https://ktesio.com/heronis/

### Fibers (Coming to the Mac App Store)

A Mac menu-bar timer whose every session is a record in your own Fibery workspace: no second tool, no Fibers account, no server of mine in between.

- Built with: A Mac app that talks to Fibery's own MCP server straight from your Mac, keeps your sign-in in the macOS Keychain and stores nothing of yours anywhere else.
- Screen: getfibers.app - a timer running
- Link: https://getfibers.app
- On this site: https://ktesio.com/fibers/

### bite (Open source)

Apple's own apps, Calendar, Reminders, Mail, Notes, Contacts and Messages, as MCP tools for AI agents, each with a matching CLI verb, through Apple's own frameworks and with no network calls of its own.

- Built with: A Rust control plane and MCP server, with a native Swift helper over EventKit, Contacts and ScriptingBridge, and a local search index. MIT.
- Screen: Terminal - bite --help
- Link: https://github.com/Ktesio/bite-mcp

### Inkube (On the App Store)

A finished game through App Store review, on iPhone and iPad: a swipe-and-merge ink puzzle with one rule, a daily board and a worldwide Game Center leaderboard.

- Built with: For iPhone and iPad, playable offline with no account. Game Center, Apple's in-app purchases and Google's ads SDKs, as its privacy statement lists.
- Screen: App Store - the first screenshot
- Link: https://astro90.com/inkube/
- On this site: https://ktesio.com/astro90/

### Lighthouse (Coming to the App Store)

A calm logic puzzle across painted islands, where every island has exactly one solution and logic gets you there.

- Built with: For iPhone. Game Center, Apple's in-app purchases and Google's ads SDKs, as its privacy statement lists.
- Screen: astro90.com - the first screenshot
- Link: https://astro90.com/lighthouse/
- On this site: https://ktesio.com/astro90/

## Before the first email

- **How long does it take?** As long as the scope says. The proposal names the end date, and the scope sets it, not a template: a review of two services and a review of a platform are not the same job.
- **How is the price set?** By the scope, in the proposal, before work starts. If the scope changes, the proposal changes, in writing, before the work does.
- **Do you work inside my team or beside it?** Beside it. Ktesio works with its own methods, tools and equipment, mostly async, with design calls when a decision needs one. A review talks to the people who built the setup and the people who run it; a build ends in a handover your team can run.
- **Is Hekma part of every engagement?** No. Hekma is open source and separate from the consulting. If it fits a setup, the assessment says so and why; if it doesn't, it says that too.
- **What happens after I write?** I reply by email, usually with a few questions. If the scope is clear, I send a written proposal: what gets delivered, what done means, and when. If it isn't, we start with an architecture and readiness review to work it out.

## Hekma (open source)

Hekma is the open-source control plane for agent workloads: one way to run, see and steer AI agents, from a laptop to a fleet. Today it is a Rust CLI and engine that supervises agents, meters every run's real token use and enforces budgets the moment they're crossed. The rest is being built in the open, so you can read how I work before we talk.

An *agent* here is a third-party program that calls a model on your behalf, such as a personal agent or a coding agent. Hekma launches, supervises, meters and budgets it as a process. It is not a framework for writing agents.

- **Lifecycle.** Start, stop, pause and resume any registered agent through one state machine, with crash detection, a restart policy, captured logs and durable state in a single SQLite database.
- **Metering.** Real per-run and cumulative token totals in an append-only usage ledger. Usage is either reported by the agent or observed by the engine through a loopback proxy on the agent's model traffic.
- **Budgets.** Token ceilings per run and in total, and cost caps once you set a rate. A breach pauses, stops or warns, checked in the same commit path as the usage that crossed it. Costs are stored as integers, never floats, and always labelled as estimates.
- **Being built.** In development: every agent becomes a Run you can list and label, and Policies set limits for many Runs at once, warning by default rather than stopping work. Planned: a key per Run and control on the model wire. Each piece is tagged by stage on hekma.ktesio.dev until it ships.

Example: install Hekma, then cap an agent at 300 million tokens and pause it when the cap is reached.

```sh
cargo install hekma
hekma agent config set my-agent budget.tokens.cumulative 300000000
hekma agent config set my-agent budget.breach_action pause
```

It also says what it can't see. Model traffic that doesn't pass through its proxy isn't metered, cost figures are estimates from a flat rate, and requests already in flight when a budget trips still reach the provider. The design essay covers each gap.

- Licence: Apache-2.0
- Written in: Rust
- Runs on: macOS, Linux, Windows
- Latest release: v0.11.0
- Home: https://hekma.ktesio.dev
- Code: https://github.com/Ktesio/hekma
- Crate: https://crates.io/crates/hekma
- Docs: https://hekma.ktesio.dev/docs/

## Writing

- [Metering agents you don't control](https://hekma.ktesio.dev/docs/design/metering-agents-you-dont-control/), 7 September 2026. Why Hekma meters an agent's model traffic at a boundary the agent cannot bypass, how the loopback proxy, the usage ledger and budget enforcement fit together, and what the meter still cannot see.

## Heronis

Heronis is a private AI agent that's yours alone. You ask for something and watch it happen as a Run: every step on a timeline, every cost on a receipt. It's a trade name of Ktesio, and it isn't open yet.

- **Shows its work.** Every request becomes a Run, with a status, a timeline of steps and a receipt. You can cancel a Run or retry it whenever you like.
- **Yours alone.** Your agent lives in its own space, apart from everyone else's. Its memory stays off until you switch it on, and support can't read your Conversations unless you choose to share them.
- **Spend you can see.** Prepaid credits, a receipt for every Run, and a cap you set, so that a Run can't spend more than you allow.

Nearly two thousand years ago, Hero of Alexandria built temple doors that opened by themselves, and he wrote down exactly how each one worked. Heronis is named for him and brings his idea to AI agents: the agent does the work, and the mechanism stays in plain sight.

- Status: Not open yet. Leave your email on heronis.run to hear when the doors open.
- Pricing: Prepaid credits, with a receipt for every Run. Prices will be shared before launch.
- Made by: Ktesio, under the trade name Heronis
- Site: https://heronis.run
- On this site: https://ktesio.com/heronis/

## astro90

astro90 is a small independent games label from Rotterdam, and a trade name of Ktesio. Every game starts with one simple idea, polished until it shines. The first two are Inkube and Lighthouse.

- **Inkube.** A swipe-and-merge ink puzzle with one rule: matching blots merge, full blots burst, and the ink keeps spreading. Keep the board open as long as you can.
- **Lighthouse.** A calm logic puzzle across 400 painted islands: one lighthouse on each coloured island, in every row and in every column, and never two touching. Every island has exactly one solution.

The name is astro plus 90. A star at 90 degrees stands straight overhead, at the zenith: the highest point in the sky, and the easiest one to find your way by. It's a reminder to make a few things, aim them high, and keep them clear enough to steer by. Ktesio builds software for other companies; astro90 is where I make games.

- Status: Inkube is on the App Store for iPhone and iPad. Lighthouse is coming soon.
- Platforms: iPhone, and iPad for Inkube. Android versions are planned.
- Pricing: Free to play, with ads and optional in-app purchases. One purchase removes the ad breaks.
- Made by: Ktesio, under the trade name astro90
- Site: https://astro90.com
- Inkube: https://astro90.com/inkube/
- Lighthouse: https://astro90.com/lighthouse/
- On this site: https://ktesio.com/astro90/

## Fibers

Fibers is a timer for Fibery that sits in your Mac's menu bar. You pick a database, start a timer on any item, and every session is saved in your own workspace as a Fibery record, linked to the work. It talks to Fibery's MCP server straight from your Mac: no second tool, no Fibers account and no server of mine in between.

Fibers is made by Ktesio. It's an independent app for Fibery users, not made by, endorsed by or affiliated with Fibery.

- **From the menu bar.** Click the icon, type a few letters and press Command-Return. The elapsed time stays in the menu bar until you stop, and your nine most recent items are a keystroke away.
- **A timer you can correct.** Started late? Move the start back. Forgot? Add an entry with the exact start and end. An item's details show its sessions, with a total and a chart for today, this week and this month.
- **Nothing without approval.** Before Fibers writes to a workspace, it lists every space, database and field it would add, by name, and creates nothing until you approve that list.

Fibers keeps your time in Fibery, next to the work. Each session is an ordinary Fibery record, linked to its item by a real Fibery relation, so the item shows its own sessions and its total. You can query those records, report on them, automate and share them like any others. Stop using Fibers and they are all still in your workspace.

- Status: Built, and coming to the Mac App Store. It isn't available yet; leave your email on getfibers.app to hear when it is.
- Runs on: macOS 26 or later. An iOS app is planned.
- Needs: A Fibery workspace. Setting up a database needs a workspace Admin once.
- Pricing: Tracking new time needs a subscription, after a one-month free trial. Prices will be announced with the launch.
- Made by: Ktesio
- Site: https://getfibers.app
- Support: https://getfibers.app/support/
- On this site: https://ktesio.com/fibers/

## Founder

Islam Magdy: Founder of Ktesio, author of Hekma.

I have about 15 years in software engineering and have led engineering teams since 2015.

Alongside Ktesio, I'm a tech lead at a Dutch financial services group, where I work on agent architectures and on modernizing mortgage servicing systems. That role is separate from Ktesio.

Ktesio is my company, and I live in Rotterdam.

The person you talk to is the person who does the work.

- Now, October 2026: Building Hekma's Runs and Policies in the open, and taking Lighthouse, astro90's next game, to the App Store after Inkube.
- Personal site: https://in1t.com
- GitHub: https://github.com/iMagdy

## Also from Ktesio

- [Heronis](https://heronis.run): A private AI agent that's yours alone, and shows its work.
- [astro90](https://astro90.com): A small independent games label from Rotterdam. Its first titles are Inkube and Lighthouse.
- [Fibers](https://getfibers.app): A time tracker for Fibery in your Mac's menu bar. Every session is saved in your own workspace.

## Company details

- Trade names: Ktesio, astro90, Heronis
- Chamber of Commerce (KVK): 42172743
- Registered: 24 September 2026, in the Netherlands
- VAT ID (btw-identificatienummer): NL005556854B35
- Post address: Postbus 21534, 3001 AM Rotterdam
- Email: legal@ktesio.com

## Privacy

The site sets no cookies and runs no tracking. It is hosted on Cloudflare. Messages sent through the contact form are emailed to Ktesio and used to reply and, if work follows, to agree a scope and keep business records. Details: https://ktesio.com/privacy/. Questions about personal data: privacy@ktesio.com.

## Pages

- [Home](https://ktesio.com/)
- [Hekma](https://ktesio.com/hekma/)
- [Heronis](https://ktesio.com/heronis/)
- [astro90](https://ktesio.com/astro90/)
- [Fibers](https://ktesio.com/fibers/)
- [About](https://ktesio.com/about/)
- [Contact](https://ktesio.com/contact/)
- [Company details](https://ktesio.com/legal/)
- [Privacy statement](https://ktesio.com/privacy/)

