##  [AI Implementation](/packages/ai-implementation)

.djf{--sort:#1a1a1a;--roed:#ff0000;--graa:#6b6b6b;--linje:#d8d8d8;--lys:#f4f4f4;font-family:Montserrat,system-ui,sans-serif;color:var(--sort);margin:3.5rem 0;padding:1.75rem;border:1px solid var(--linje);border-radius:10px;background:#fff}
.djf *{box-sizing:border-box}
.djf .h{font-family:Montserrat,system-ui,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.25;margin:0 0 .35rem}
.djf .sub{color:var(--graa);font-size:.95rem;line-height:1.45;margin:0 0 1.5rem}
.djf .lbl{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--roed)}
.djf .steps{display:flex;gap:.4rem;align-items:stretch}
.djf .step{flex:1 1 0;background:var(--lys);border-radius:6px;padding:1rem 1rem 1.1rem}
.djf .step.hot{background:var(--roed);color:#fff}
.djf .step.hot .lbl{color:#fff}
.djf .t{font-size:1.1rem;font-weight:700;margin:.35rem 0 .5rem;line-height:1.2}
.djf .d{font-size:.88rem;line-height:1.45}
.djf .arr{align-self:center;color:#9a9a9a;font-size:1.3rem;flex:0 0 auto}
.djf .foot{border-top:1px solid var(--linje);margin-top:1.5rem;padding-top:.7rem;font-size:.8rem;line-height:1.4;color:var(--graa)}
.djf .djrow{display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:1.4rem}
.djf .djrow .main{flex:1 1 auto;min-width:0}
.djf .name{font-weight:700;font-size:1.05rem}
.djf .src{color:var(--graa);font-size:.85rem;margin-left:.4rem}
.djf .bar{position:relative;height:1.8rem;background:var(--lys);border-radius:5px;overflow:hidden;margin:.5rem 0 .4rem}
.djf .bar span{position:absolute;inset:0 auto 0 0;background:var(--sort)}
.djf .bar b{position:absolute;left:.6rem;top:50%;transform:translateY(-50%);color:#fff;font-size:.85rem;font-weight:600;white-space:nowrap}
.djf .note{color:var(--graa);font-size:.88rem;line-height:1.45}
.djf .dom{flex:0 0 11rem;text-align:center;color:#fff;font-weight:700;font-size:.85rem;padding:.5rem .7rem;border-radius:5px;margin-top:2rem}
.djf .tl{position:relative;height:5.2rem;margin:1rem .75rem 0}
.djf .tl .fast{position:absolute;left:0;top:1.6rem;width:25%;height:1.1rem;background:var(--sort);border-radius:4px 0 0 4px}
.djf .tl .ret{position:absolute;left:25%;right:0;top:2.1rem;border-top:2px dashed #9a9a9a}
.djf .tl .dot{position:absolute;top:1.45rem;width:1.4rem;height:1.4rem;margin-left:-.7rem;border-radius:50%;background:var(--roed);border:3px solid #fff}
.djf .tl .m{position:absolute;top:3.2rem;width:4rem;margin-left:-2rem;text-align:center;font-size:.8rem;font-weight:600}
.djf .tl .m.end{margin-left:-4rem;text-align:right}
.djf .tl .cap{position:absolute;top:0;font-size:.85rem;white-space:nowrap}
.djf .key{display:flex;gap:.5rem;align-items:center;font-size:.9rem;line-height:1.4;margin-top:.5rem}
.djf .key i{flex:0 0 .8rem;height:.8rem;border-radius:50%;background:var(--roed)}
.djf .doc{border:1px solid var(--linje);border-radius:8px;padding:1.4rem}
.djf .dochead{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.djf .stamp{background:var(--sort);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:.3rem .55rem;border-radius:3px;white-space:nowrap}
.djf .tw{overflow-x:auto}
.djf table,.djf thead,.djf tbody,.djf tr,.djf th,.djf td{background:transparent !important;box-shadow:none !important}
.djf table{width:100%;border-collapse:collapse;font-size:.88rem;line-height:1.4;margin:0}
.djf th{background:none;color:var(--sort);text-align:left;font-size:.8rem;border-bottom:2px solid var(--sort);padding:.5rem .5rem .5rem 0}
.djf td{background:none;color:var(--sort);border-bottom:1px solid var(--linje);padding:.6rem .5rem .6rem 0;vertical-align:top}
.djf .facts{display:flex;gap:1.5rem;margin-top:1.1rem;font-size:.9rem}
.djf .facts div{flex:1 1 0}
@media (max-width:720px){
 .djf{padding:1.1rem}
 .djf .steps{flex-direction:column}
 .djf .arr{transform:rotate(90deg);margin:-.2rem 0}
 .djf .djrow{flex-direction:column;gap:.4rem}
 .djf .dom{flex:none;margin-top:0;align-self:flex-start}
 .djf .facts{flex-direction:column;gap:.7rem}
 .djf .tl .cap small{display:none}
 .djf .doc{padding:1rem}
 .djf thead{display:none}
 .djf table,.djf tbody,.djf tr{display:block}
 .djf tr{border-bottom:1px solid var(--linje);padding:.7rem 0}
 .djf td{display:inline;border:0;padding:0}
 .djf td:first-child{display:block;font-weight:700;margin-bottom:.15rem}
 .djf td:nth-child(2)::after{content:" · "}
 .djf td:nth-child(2),.djf td:nth-child(3){color:var(--graa)!important;font-size:.82rem}
 .djf td:last-child{display:block;margin-top:.3rem}
}

An AI solution that runs every day on your own data, with effects you can measure.

![An assembly line of black stations with one red station in the middle and a person at a checkpoint gate at the end.](/sites/default/files/2026-11/implementering-hero.jpg)

The hard part of AI in production is rarely the model. It is everything around it: data that has to be fetched and cleaned, answers that have to be checked, errors that have to be caught, and a person who can step in. That is what decides whether a solution is still running a year from now.

AI Implementation builds the whole system. The model is one step in a chain where the rest is ordinary code that can be checked.

## How it works

AI Implementation: the model is one step

The rest of the chain is ordinary code that can be checked, and a person can step in.

In

Fetch and clean

Data from your systems, checked against a fixed schema.

→

Model

AI step

Sorting, search, drafts or answers.

→

Check

Validate and log

The answer is validated and everything is written down.

→

Out

Person or system

Confident answers go on. Uncertain ones go to a person.

Every step is logged, so you can see afterwards why the system did what it did.

**Design.** We design the solution from the prototype or the proven need: which steps the model handles, which the code handles, and where a person has to look.

**Build.** The solution is built on your own data, typically as search and answers over the company's own knowledge (RAG) or as automation of a fixed process.

**Trial operation.** The solution runs alongside the current way of working, so the results can be compared before anyone depends on it.

**Operation.** Handover with documentation, logging of every step and a plan for who does what when something goes wrong.

## Questions you can ask us afterwards

- Which parts are AI, and which are ordinary code?
- What happens when the model answers wrongly?
- Can we see afterwards why the system made a particular decision?

The answers should be concrete. They are what make the solution something the leadership can stand behind.

## Who it is for

Companies that have seen a prototype work and have a budget for running it.

## Price

**From €50,000** excl. VAT. The price depends on the scope and is agreed after the design phase.

Write to <lek@docujai.com> or call +45 40 26 18 72.