AI software engineering

Put AI to work on real problems, not demos

We scope where models add value, then build and measure it on your data. Below: the monthly bill at Anthropic's published list prices, and when we would tell you to spend elsewhere.

Tell us what you want it to do

One reply within one business day. If it is the wrong build, we say so.

How we handle what you send is set out in our privacy notice.

What should you ask before you hire anyone?

  1. 1

    A real problem, or another demo?

    A demo runs on cases someone picked. Ask which of your cases it was tried on, and what it got wrong.

  2. Why 2 waits for 1Nothing you spend on the next question matters until the problem is worth solving this way.
  3. 2

    Build cost, and the monthly bill after launch?

    The build price is the number every firm will discuss. Models bill per use, so the running cost never stops and almost nobody has it ready.

  4. Why 3 waits for 2You cannot judge either number without knowing what the thing must achieve for you.
  5. 3

    How will we know it is working?

    Not a dashboard. Your own cases, a score on them, and a number below which the feature is switched off.

  6. Why 4 waits for 3Measurement is meaningless if the data cannot legally go to where the model runs.
  7. 4

    Does our data train someone else’s model?

    Where it goes, and who may train on it, sits in the providers’ contracts. A badge on a website is not the answer.

  8. Why 5 waits for 4All of it is temporary if you cannot run the thing without us afterwards.
  9. 5

    What happens when you leave?

    Ask now for the list of artifacts you would keep, in your own accounts, on the day the engagement ends.

All five are answered below, in roughly this order. The order is ours rather than yours, so if yours is different, that is worth saying on the first call.

How often does AI get things wrong?

There is no honest general answer, and anyone who gives you one is quoting a leaderboard. The one place shipped, paid products were independently audited is US legal research. A hallucination is an answer the model states confidently and cannot support. The queries were preregistered, written down before any system was run, and the one general model in the set had no retrieval layer, the step that fetches the real source documents and hands them to the model before it answers. The best performer here still got one query in three wrong or incomplete. Two systems miss at the same 17 percent and are nothing like each other, so ask any vendor quoting you a percentage which task it was measured on, by whom, and against what answer key.

Show data table
Three paid legal research products and one general model on the same 202 queries. The three outcomes sum to 100 percent for each system. Only the legal domain has been audited this way in public, and these numbers describe no other domain.
Dimension Accurate Incomplete Hallucinated
Lexis+ AI 65% 18% 17%
Westlaw AI-Assisted Research 42% 25% 33%
Ask Practical Law AI 20% 63% 17%
GPT-4, no retrieval layer 49% 8% 43%

Lexis+ AI and Ask Practical Law AI hallucinated at the same rate, and one was accurate on 65 percent of queries while the other was accurate on 20 percent and incomplete on 63.

US legal research tools, independently audited Three paid legal research products and one general model on the same 202 queries. The three outcomes sum to 100 percent for each system. Only the legal domain has been audited this way in public, and these numbers describe no other domain. Magesh et al., arXiv:2405.20362, Figure 4, queries run March to May 2024, at arxiv.org/abs/2405.20362

When we would tell you no

  • The work is judgement over messy text, and a person can tell a good answer from a bad one in seconds.

  • You have real examples of the task done well to measure against.

  • A wrong answer gets caught before it reaches anyone outside.

  • Volume makes it worth automating.

Spend the money elsewhere

What will it cost to run every month?

Models bill by the token, roughly three quarters of a word, and every call to the model, which the industry calls inference, is charged for what goes in and what comes out. So hold one workload still and price it six ways. The spread is exactly five times, and none of it is optimisation, only a choice of tier. Prompt caching stores the unchanging front of your request. The Batch API returns results within a day rather than a second.

Show data table
The workload: 50,000 requests a month, 8,000 input tokens and 600 output tokens each, so 400 million in and 30 million out. Every bar is derived from list prices fetched 2026-08-29, and prices move on a scale of weeks. The caching bar assumes a 75 percent stable prefix. Server-side tools bill on top.
Item Monthly inference cost for one fixed workload at published list prices
Claude Opus 5 2,750$ per month
Claude Sonnet 5 1,100$ per month
Claude Haiku 4.5 550$ per month
Sonnet 5 with prompt caching 691$ per month
Sonnet 5 via the Batch API 550$ per month
Sonnet 5 after a tokenizer change 1,430$ per month

Running a mid-tier model through the batch queue costs the same as running the small model live.

One workload, 50,000 requests a month The workload: 50,000 requests a month, 8,000 input tokens and 600 output tokens each, so 400 million in and 30 million out. Every bar is derived from list prices fetched 2026-08-29, and prices move on a scale of weeks. The caching bar assumes a 75 percent stable prefix. Server-side tools bill on top. Anthropic Claude platform pricing, docs.claude.com/en/docs/about-claude/pricing, fetched 2026-08-29. Values derived.

Three things move that bill. First, the tier: the swing between the top and small model of one provider. Second, prompt caching: a stable prefix is the part of a request that never changes between calls, and on a 75 percent stable prefix the real saving is smaller than the 90 percent headline rate implies, because the first write into the cache and everything the model writes back are billed at the full undiscounted rate. Third, the one you do not control: a tokenizer is what splits your text into tokens, and a change to it bills about 30 percent more tokens for the same text.

5xBetween tiers of one provider

Derived from list prices. Anthropic pricing, fetched 2026-08-29

37%Prompt caching on a stable prefix

Derived on the workload above. Anthropic pricing, fetched 2026-08-29

30%Tokens after a tokenizer change

Provider own statement. Anthropic pricing, fetched 2026-08-29

How will you know it is working?

  1. Before any code

    The evaluation set is your cases, not ours

    An eval is a fixed set of real inputs with the answers you would accept, scored automatically whenever anything changes. Yours is built from tickets, documents or transcripts you already have. A case the team cannot agree on is itself a finding.

    Before any code
    We size the first set at 150 to 300 cases,
    each with an accepted answer and why.
  2. Before any code

    The pass bar and stop number, in writing

    One score to clear before launch, and one below which the feature is switched off. Both are written down before we build, along with the test set and the metric each is measured on.

    Before any code
    NIST AI Risk Management Framework,
    the US standards agency’s guidance.
    MEASURE 2.1 and 2.3: test sets and
    metrics documented, criteria
    demonstrated under conditions
    like deployment.
  3. During the build

    We measure what a reviewer cannot see

    A person checking output catches confident nonsense. They do not catch the answer the model failed to give, the record it skipped, the flag it did not raise. Those misses are the more damaging kind and the ones a score has to count.

    During the build
    Separate scores for wrong answers given
    and correct answers missed.
  4. After launch

    The same score runs on live traffic, scheduled

    Models drift: the same input produces different output as the provider updates the model. A score taken once before launch says nothing about the week after, so the same set runs again on schedule.

    After launch
    NIST AI RMF MEASURE 2.4 and 2.6:
    behaviour monitored in deployment,
    residual risk inside tolerance.
  5. After launch

    Every reported bad answer becomes an eval case

    A complaint is only useful if it changes the score. Every bad answer a user reports enters the evaluation set that week. The same failure is then measured on every run rather than remembered.

    After launch
    NIST AI RMF MEASURE 3.3:
    users can report problems,
    fed into the metrics.

Did the EU AI Act deadlines move?

Yes, in July 2026, and the source most people read has not caught up. As of 29 August 2026 the tracker at artificialintelligenceact.eu is stamped Last updated: 1 August 2024 and still shows the old sequence. What governs is the consolidated text on EUR-Lex, CELEX:02024R1689-20260727, where Article 113 carries the amendments made by Regulation (EU) 2026/1744.

  1. 1 August 2024

    The Act enters into force

    Regulation (EU) 2024/1689 enters into force, with its obligations arriving on the later dates below.

  2. 2 February 2025

    Prohibited practices and AI literacy apply

    Chapters I and II, which carry the prohibited practices and the AI literacy duty.

  3. 2 August 2025

    General-purpose model obligations apply

    Chapter V, which carries the general-purpose model obligations, plus the governance and penalty provisions.

  4. 27 July 2026

    Regulation (EU) 2026/1744 amends the sequence

    It replaces Article 113(3) points (a) and (c) and adds a new point (d).

  5. 2 August 2026

    The Regulation applies generally

    Article 113 first paragraph, the general date of application for the rest of the Regulation.

  6. 2 August 2026

    Transparency duties apply

    Article 50: people are told when they are dealing with a machine rather than a person.

  7. 2 December 2027

    High-risk rules apply to Annex III systems

    Chapter III Sections 1 to 3. The 2024 text said 2 August 2026.

  8. 2 August 2028

    High-risk rules apply to Annex I systems

    Safety components regulated under existing product law. The 2024 text said 2 August 2027.

  9. Throughout

    These are dates of application

    Article 113 sets when the Regulation starts to apply, not a deadline for one organisation.

Are you the provider or the deployer?

The words mean close to the opposite of what they sound like. A provider develops the system, or has it developed, and puts it on the market under its own name or trademark, Article 3(3). A deployer uses it under their own authority in the course of their work, Article 3(4). Buy a high-risk system and run it in your business and you are the deployer. Conformity assessment, CE marking, the EU declaration of conformity, a quality management system and technical documentation all sit in Article 16, on the provider: five duties the deployer does not carry. Article 26 contains none of them. Article 25(1) states the three ways a deployer becomes a provider: putting your own name or trademark on a high-risk system already on the market, making a substantial modification, or changing a system purpose so it becomes high-risk.

  • Use the system the way its instructions say, Article 26(1).
  • Put a competent person in charge of it, with authority to stop it, Article 26(2).
  • Keep the input data relevant, where you control it, Article 26(4).
  • Report a serious problem to the provider and the authority, Article 26(5).
  • Keep the logs for at least six months, Article 26(6).
  • Tell workers, and their representatives, before using it on them at work, Article 26(7).

Where does your data go, and does it train someone else’s model?

None of the four trains on your data by default. Google states it as a permission condition, and the AWS answer sits in a support FAQ rather than in clause text. Your lawyer or your largest customer will put that in writing, so the training answer below is quoted from each provider's own published wording, with the clause named where it is clause text. Zero data retention means the provider keeps no copy of the request after answering it, and at all four it must be applied for. A data processing agreement, or DPA, makes the provider your processor under data protection law. The prompts, the evaluation set, any fine-tuned weights and the data are yours. Consumer tiers are a different contract and frequently do train by default. Microsoft Azure OpenAI Service is absent because we have not read its terms. The providers we build on are listed at /about/tech-stack/.

Four model providers, five facts each, on their API and enterprise tiers. Terms read 29 August 2026.
ProviderTrained on by defaultWho owns inputs and outputsRetentionZero data retentionData processing agreement
OpenAI API“OpenAI will not use Customer Content to develop or improve the Services, unless Customer explicitly agrees to such use.” Business Terms 4.2.Assigns output to the customer.Up to 30 days for abuse monitoring, then deleted.By approval, per endpoint.Yes, by reference.
Anthropic API“Anthropic may not train models on Customer Content from Services.” Commercial Terms, section B.Assigns output to the customer.Held a limited period for trust and safety.By approval.Yes, by reference.
Google Cloud, Vertex AI and Gemini Enterprise“Google will not use Customer Data to train or fine-tune any AI/ML models without Customer’s prior permission or instruction.” Service Specific Terms, section 18.Disclaims ownership rather than assigning output.Caching and abuse logging, commonly up to 30 days.By approval.Yes, the Cloud addendum.
AWS, Amazon BedrockFAQ, not clause text: “AWS and the third-party model providers will not use any inputs to or outputs from Amazon Bedrock to train Amazon Nova, Amazon Titan, or any third-party models.”States that AWS obtains no rights.Not stored for model improvement.By approval.Yes, the AWS addendum.

The terms quoted above: OpenAI Business Terms, Anthropic Commercial Terms, Google Service Specific Terms, the Amazon Bedrock FAQ.

What happens when it is wrong?

  • It gives a customer a wrong answer, confidently.

    OWASP, the security standards body, lists this as LLM09 Misinformation. It is false or misleading output that appears credible, and OWASP names reputational damage and legal liability as consequences.

    What we commit to

    The wrong-answer path is written down before launch. It names what the user sees, who is told, and how the case enters the evaluation set that week.

  • Somebody hides an instruction inside a document and the model obeys it.

    OWASP LLM01 Prompt Injection and LLM05 Improper Output Handling. A guardrail is a check that runs around the model, not a promise about it.

    What we commit to

    Untrusted text is never handled as instructions. Tool access is allowlisted, output is escaped, and you see the tests rather than a claim about them.

  • It reveals something from another customer.

    OWASP LLM02 Sensitive Information Disclosure. What leaks is personal data, financial details, health records or security credentials.

    What we commit to

    Retrieval, where the model is handed documents to read, is filtered by the permissions your application already enforces. Nobody can see through the model what they could not already see in the product.

  • It is given the ability to act, and acts too freely.

    OWASP LLM06 Excessive Agency. Agency is the ability to call functions and other systems, and the damage scales with that list.

    What we commit to

    Actions are enumerated, scoped to the minimum, and anything irreversible stops for a person. An agent, a model that calls tools in a loop, gets a written list of what it may call.

  • The bill runs away in a bad week.

    OWASP LLM10 Unbounded Consumption. Every call to the model is billed, so nothing but a ceiling stops a runaway loop.

    What we commit to

    A per-request cost ceiling and a monthly cap, with an alert that fires before either one is reached. One bounds a single bad request, the other bounds a bad month.

  • We stop working together and you cannot run it.

    If the AI feature is the slow part rather than the wrong part, that is performance work rather than this engagement.

    What we commit to

    Code and infrastructure, prompts, the evaluation suite, the runbook and the cost dashboard live in your own accounts throughout. Nothing has to be handed over at the end.

Tell us what you want it to do

Two outcomes, both useful: a scoping conversation with a senior software engineer, or a clear no from us with the reason.

How we handle what you send is set out in our privacy notice.

What people ask us before the first call

How much does a first engagement cost?
A first engagement with us is a bounded scoping piece that ends in a decision rather than a commitment. It produces the evaluation set, the pass bar and the stop number in writing, and a run-cost estimate on the real workload. Price moves with the number of distinct tasks and whether the data is reachable.
Does the EU AI Act timeline still say August 2026?
No. Regulation (EU) 2026/1744, in force 27 July 2026, replaced Article 113(3) points (a) and (c) and added a point (d). Chapter III Sections 1 to 3 now apply from 2 December 2027 for Annex III high-risk systems and 2 August 2028 for Annex I. The tracker at artificialintelligenceact.eu is stamped 1 August 2024 and still publishes the old sequence; the consolidated EUR-Lex text, CELEX:02024R1689-20260727, governs.
If we stop working together, can we still run it?
Code and infrastructure, prompts, the evaluation suite, the runbook and the cost dashboard sit in your own repos and cloud accounts from Day 1, and every line of code is your IP. So far, no client has needed to use that freedom.
Do you need our real data before we can start?
A narrow, pre-agreed evaluation scope on a sample is enough to start, with the data processing agreement ready before the sample moves. Weeks disappear here because the legal review, the security review and the data access run one after another. All four major model providers publish a DPA.
Which model will you use?
The model that scores best on an evaluation set built from the client’s own cases, placed behind an interface so swapping it later is a configuration change. Published list prices differ by five times across tiers of one provider.
Do we need an ISO or NIST certification for this?
The NIST AI Risk Management Framework, NIST.AI.100-1, is voluntary and there is no certification against it. ISO/IEC 42001:2023 is certifiable, but it certifies a management system rather than a product, and ISO itself issues no certificates. We hold neither, and we say so.
We already built something and it stalled. Is it salvageable?
Usually, and the first move is measurement rather than a rewrite: an evaluation of what the system already does on real cases, plus a read against the OWASP Top 10 for LLM Applications. Most stalled builds stall on data access, permissions and accuracy rather than on the model.