Agent systems, built and run by one person.
in10x is the workshop of Theis Frost. Multi-agent teams, multi-model pipelines and data products, in production. AI agents do the building and the collection. One person sets the task, checks the result and decides what ships. The part I like most: systems that get better from their own output.
systems
AI citation research pipeline
Problem: nobody can see which sources AI assistants trust. This pipeline asks the same questions across markets and models, stores every answer and classifies every cited link.
Read the studyEU law corpus with an MCP server
Problem: EU digital law differs across 27 member states and nobody tracks it in one place. Collector agents built the corpus. AI assistants query it through an MCP server.
Open fontvera.euProcurement data pipeline
Problem: public tender data is scattered and late. Collectors pull UK procurement notices every day, enrich them weekly and produce a Monday brief.
Open fontfore.comSMS back office for trades
Problem: small trade firms lose money on unpaid invoices and admin. An SMS agent acts as the office and chases late payments on a fixed schedule.
Open texttheoffice.co.ukAll of it runs on one server that costs about 15 dollars a month, plus static hosting.
systems that get better on their own
A recursive system feeds its own output back in as input. Each run leaves the next run smarter. These four loops are running or have run in the projects above.
- The memory loop. Every agent session starts by reading the project's state file and ends by writing what it did and what it learned. A hook blocks the session from closing if it skipped the write. Session 40 starts with everything sessions 1 to 39 found out. Without the loop, each session would start cold.
- The rules loop. The citation pipeline samples its own misses. On the first run 20 percent of cited links had no source type. The misses were reviewed, turned into rules and applied back to every stored answer. Unclassified fell to 1.2 percent with no new API calls. Every later run inherits the rules.
- The metrics loop. A posting agent drafted 15 candidates per slot, scored them against the engagement data of its own earlier posts and proposed the best one. What worked last week shaped what it wrote this week. A person still pressed send. This one is paused now.
- The incident loop. Every failure becomes a guardrail that the agents then run under. A leaked screenshot became a capture rule. A corrupt image became a build check. The list under "what broke" below is this loop written down.
Self-improving, not self-governing. The loop proposes. A person approves what becomes a rule.
how I keep control
The agents draft. A person decides. Nothing sends a message or spends money without approval.
- Approval first. Agents prepare emails, posts and reports. A person sends them. Engines that can message customers start in dry-run.
- Least access. Agents get the narrowest key that does the job. A screenshot agent can upload images to one folder. It cannot read, list, delete or log in.
- Builds that fail loudly. A report with a missing field or a corrupt image does not publish. The build stops.
- Everything traceable. Raw model answers are stored unedited. Every change is a commit. A published number can be followed back to the answer that produced it.
- Written state. Every project has one status file that each session reads first and updates last. That is how one person keeps ten projects straight.
what broke, and what changed
- Two agents, one branch. A second agent pushed its own version of a page to the live branch while the first was mid-task, including screenshots nobody had reviewed. Contained in minutes by deleting the files at the source. Since then: agents work on branches, a person merges, and captures are taken logged out.
- Silent file corruption. An agent's connector mangled every image it committed, and the agent tried 21 times to fix it without finding the cause. The cause was a text encoding round trip. Since then: images go to a write-only store, and the build checks file signatures.
- A dead API key, found late. Site search had been failing for weeks because a paid embedding key was switched off. Search was rebuilt on Postgres full-text. It now costs nothing per query and cannot fail that way again.
- Credits ran out mid-run. A 300-call research run lost its last 62 calls when the account hit zero. Failed calls are stored as failed, the study states its scope, and a resume command fills the gaps without repeating paid calls.
build your own one-person system
I help founders and small teams set up the same way of working: a few agents with clear jobs, saved routines, approval rules, one place where the state lives and a loop that makes the whole thing better over time.
- Map. What you repeat every week, which tools you use, and what an agent may never do without you.
- Build. The agents, the routines and the guardrails, on your own accounts. You own everything.
- Close the loop. A state file, a learning log and a review step, so the system gets better every week instead of starting cold.
- Hand over. One real work day run together, then a short manual so you can change it without me.
Write two lines about your work to contact@in10x.com. You get a reply from a person.
other work
- aigeoaudit.com Measures what ChatGPT, Gemini and Claude say about a company. Public method page and a live dashboard.
- agentis.dk Spoken notes become a finished case document for Danish municipalities, with an approval step. Data stays in the EU.
- tankely.dk AI chat for Danish primary schools with full teacher insight. Built GDPR-first for a sensitive user group.
- dialdynamo.com A voice agent that answers the phone for home-service trades and books the job into a calendar.
about and contact
in10x is run by Theis Frost in Copenhagen. One inbox: contact@in10x.com.