RXed AI News

AI to the bone.
A weekend ↓ architecture v1.0 · 2026-08-28

The equipment inspection register: some machines are due on a date, the rest on hours, and nothing is counting

Every ramp, oven, ladder and van in one register that counts calendar days and running hours side by side, reads the inspection report when it lands, and prints the proof that has to travel with the kit

Setup: A weekend (~6-14 h) Running cost: $0-12/mo (software included) what it costs to run ↓ Time saved: none directly — the case is Article 5(3) of Directive 2009/104/EC, which requires inspection results to be recorded and kept at the disposal of the authorities, and requires equipment used outside your own premises to be accompanied by physical evidence that the last inspection was carried out - a certificate you cannot find is a certificate you do not have After setup: You run it — the nightly check runs unattended; the owner only appears when something is due, approves what was read off a certificate, and chases the meter readings Data lives: Your server — The register, the certificates and the evidence packs stay on your own box, and the report-reading model runs locally so no inspection document is sent anywhere.
NocoDBn8nOllamaOCRmyPDFntfyGotenbergDockerRemindersDocument reading (OCR)
Built for small businesses in general — not a sector list.
Before you start
  • A walk round with a phone listing every piece of equipment - what it is, serial or plate, where it lives, who inspects it. This is most of the weekend and there is no shortcut; anything not on the list will never be mentioned again
  • The correct interval for each item, taken from your own national requirement and the manufacturer's manual - the numbers differ per country and this blueprint does not supply them
  • Somebody willing to scan a QR sticker and type a meter reading now and then, otherwise the usage half of the system stops working within a month
  • A machine that stays switched on for the nightly check - a small VPS is enough for the register and the engine, but not for the local model
  • A named person who approves what the model read before it goes into the register
What breaks first FAILS SILENTLY
the meter readings stop arriving - nobody scans the sticker for a few weeks - and every usage-driven machine quietly reports nothing due, indefinitely. A register with no readings looks identical to a register with nothing due. The stale-meter branch that nags when a reading is more than 30 days old is the one thing in this build you never switch off.
Version history
v1.0 · 2026-08-28 — First release. Legal spine read off Directive 2009/104/EC as published: Article 5(2) periodic inspection by competent persons plus special inspection after exceptional circumstances (modification work, accidents, natural phenomena, prolonged periods of inactivity), and Article 5(3) - results of inspections shall be recorded and kept at the disposal of the authorities concerned, and work equipment used outside the undertaking shall be accompanied by physical evidence that the last inspection has been carried out. That last clause is the reason the build ends in a printable evidence pack rather than a dashboard. UK intervals from HSE on LOLER regulation 9 - 12 months for lifting equipment, 6 months where it lifts people, 6 months for all lifting accessories, unless a written examination scheme by a competent person specifies otherwise; HSE's own equipment table gives two/four-post vehicle lift 12 months (6 if people are lifted in the vehicle), bottle and trolley jacks 12 months, telehandler 12 months, refuse collection vehicle hoisting mechanism 1 month. LOLER Schedule 1 requires the written report to carry the examination date, the date the next thorough examination is due, and any defects found which are or could become a danger - which is what makes the extraction step a structured read rather than an interpretation. Belgian practice (approved external technical inspection service, commonly annual for a car lift, three-monthly for cranes, MEWPs and lifting accessories, ladders at least annually by a competent person, fall-arrest annually and after every fall) corroborated across three independent Belgian inspection-service write-ups, and stated as practice rather than as a citation because the underlying rules moved from ARAB art. 281 into the Codex. Architecture decisions worth recording: the register is a table and not a CMMS because at 12 machines the tool that gets abandoned is the heavy one, with Atlas CMMS named as the honest upgrade path including its dual-licence caveat; meter readings are entered by a human scanning a QR sticker rather than by IoT, because a build that needs sensors never gets built; the stale-meter branch exists because a usage-driven register with no readings looks exactly like a register with nothing due; and every defect found in a report becomes its own dated row, because 'passed, but replace the wire rope within 3 months' is a pass today and a failure in April. The model never writes to the register unsupervised - a scanned certificate carries four different dates and picking the wrong one moves the next inspection in the direction nobody wants.

Every ramp, oven, ladder and van in one register that counts calendar days and running hours side by side, reads the inspection report when it lands, and prints the proof that has to travel with the kit.

The architecture

What you ownThe rule for each oneThe hours on the clockThe registerone line per machine: what it is, where it lives, whoinspects it, and whether it is due on a date or on hourschecked every nightThe enginecounts the days since the last inspection and the hourssince the last service, and warns at 60, 30 and 7 days outor at 80% and 95% of the hoursNothing due - one line in the log,and silenceDue - a message with the machine, theinspector and the last certificateMeter not read for a month - a nag,because silence would otherwise looklike good newsWhen the report comes backthe next-due date and any defects are read off the PDF, youconfirm them, and the countdown resets itselfThe pack that travels with the kit prints in one click, because equipmentused off-site has to carry proof of its last inspection.
the same flow as text
[ One line per machine ]  +  [ Meter reading, scanned in ]
        ▼
[ NocoDB — the register ]
        │  what it is, where it is, who inspects it
        │  rule: every N months or every N hours/km
        │  last done, next due, certificate attached
        ▼
[ n8n — the engine, nightly ]
        ├─ date rule: 60 / 30 / 7 days out
        ├─ usage rule: 80% / 95% of the interval
        ├─ meter stale > 30 days → ask for a reading
        └─ nothing due → one line in the log, silence
        ▼
[ ntfy → your phone ]  ·  [ Gotenberg → the pack for the van ]

Report comes back → OCRmyPDF → local model reads next-due + defects
you confirm → register updated, countdown resets.

One box, five containers. The register holds the truth, the engine does the arithmetic nobody does by hand, and the model only reads paperwork. No decision in this system is taken by software.

The problem

Your two-post vehicle lift is due for a thorough examination every 12 months, and every 6 if a person is ever lifted in the vehicle. Your bottle jack: 12 months. Your lifting slings and chains: 6 months in the UK, three-monthly in Belgium if a technical inspection service signs them off. Your ladder: at least yearly by a competent person. Your fall-arrest harness: yearly, and again after every single fall. Nobody argues with any of that. The problem is that the dates live in four places at once, which is to say nowhere: a paper certificate in a drawer, an email from the inspector, a sticker on the machine that has gone grey, and someone's memory of last spring.

Two things make this worse than an ordinary diary problem. First, half your kit is not due on a date at all. The compressor, the oven, the mixer and the van are due on hours or kilometres, and nothing in your business is counting them. Second, the record is the obligation. The EU work equipment directive says the results of inspections must be recorded and kept at the disposal of the authorities, and that when work equipment is used outside your own premises it must be accompanied by physical evidence that the last inspection was carried out. A certificate you cannot find in ninety seconds is, for practical purposes, a certificate you do not have.

The third failure is quieter and costs the most. The inspection report itself contains a next-due date and a list of defects found. That report gets filed unread. Six months later the same inspector writes down the same defect, and now it is on paper twice.

Tool choices — and why

NocoDB
(Sustainable Use License since 29/01/2026, free for internal business use, 64.7k stars, last commit 27/08/2026) is the register: one table for equipment, one for inspections, one for meter readings. It is a table, deliberately. A shop with 12 machines does not need work-order software, and the thing that kills these projects is a tool heavy enough that nobody keeps it current. Grist works equally well if that is what you already run.
n8n
(Sustainable Use License, free for self-hosted internal use, 201.5k stars, last commit 27/08/2026) is the engine. It runs once a night and does two sums per machine: days since last inspection against the interval, and meter reading minus meter-at-last-service against the hours interval. That second sum is the whole point of the build. A calendar reminder cannot tell you the compressor has done 1,900 hours since March.
Ollama
(MIT, 180k stars, last commit 27/08/2026) with a small local model, plus OCRmyPDF (MPL-2.0, 34.4k stars, last commit 21/08/2026) for the certificates that arrive as a photograph of a sheet of paper. The model does one bounded job: read the report and pull out the next-due date and any defects or observations recorded. In the UK a LOLER report is legally required to carry both of those fields, so this is extraction from a structured document, not interpretation. It proposes, you confirm. Tune it to over-flag: a defect wrongly surfaced costs you thirty seconds, a defect missed costs you the machine.
ntfy
(Apache-2.0, 33.6k stars, last commit 27/08/2026) puts the warning on your phone without an SMS bill. Gotenberg (MIT, 12.9k stars, last commit 21/08/2026) renders the evidence pack: one PDF per machine with the last certificate, the date, and the next-due date, for the kit that leaves the yard.
If you outgrow the table
, Atlas CMMS (AGPL-3.0, 751 stars, last commit 27/08/2026) is a real self-hosted maintenance system with assets, preventive schedules, mobile work requests by QR scan, and technician assignment. Two honest caveats. It is dual-licensed, so white-labelling and some advanced features need a paid commercial key. And it is Java plus React plus React Native, which is a heavier thing to run and upgrade than a table and a workflow. Take it when you have technicians and work orders, not when you have twelve machines and a deadline.
Monthly cost
Software €0 across the whole stack. A small VPS at €5–12/month runs the register, the engine, ntfy and Gotenberg. The local model does not run on that VPS: it needs an office machine with real memory, or you drop the report-reading step and type the next-due date in by hand, which takes twenty seconds and still leaves the rest of the system working. What you actually pay is the inspections themselves, and this changes none of that.

Setup outline

1. Walk round with a phone and list every piece of equipment: what it is, serial or plate, where it lives, and who currently inspects it. This walk is most of the weekend and there is no shortcut. If it is not on the list, the system will never mention it again.
2. For each line, write the rule. Either every N months, or every N hours / N km, or both, whichever comes first. Take the dates from your own national requirement and the manufacturer's manual, not from this page.
3. Type in the last known inspection date and, for the meter-driven items, the reading at that date. If you do not know it, write today's reading and today's date and accept one imprecise cycle.
4. Print a QR sticker per machine pointing at a NocoDB shared form pre-filled with that machine's ID. The form asks one question: what does the meter say today. Thirty seconds, by whoever is standing there.
5. Build the nightly n8n workflow: read the register, do both sums, write a due-list, notify at 60/30/7 days and at 80%/95% of the hours interval. Add a fourth branch for any meter not read in 30 days.
6. Add the intake: certificates land in a mailbox, OCRmyPDF makes them searchable, the model proposes next-due plus defects, and you approve before anything is written back. Attach the PDF to the machine's row so it is one click away forever.
7. Build the evidence pack as a Gotenberg call on one button, and test it on the ladder that goes out in the van tomorrow.
8. Run it in parallel with whatever you do now for one full cycle before you throw the drawer away.

Pitfalls — the real ones

The meter is the part that rots
Dates advance whether anyone touches the system or not. Hours only advance if someone reads the clock. If readings stop coming in, the engine quietly concludes nothing is due, forever. The stale-meter branch is not optional — it is the only thing standing between you and a system that looks healthy while it is dead.
Your intervals are national, and this page is not your legal advice
The EU directive sets a floor and every member state builds on it differently. The UK works to LOLER's 6 and 12 months unless a competent person has written an examination scheme. Belgium routes lifting equipment through an approved external inspection service, commonly yearly for a car lift and three-monthly for cranes, MEWPs and lifting accessories. Germany runs it through the BetrSichV. Put your own numbers in the register and have the person who signs your certificates check the list once.
Dates are not the only trigger
The directive also requires a special inspection after exceptional circumstances: modification work, an accident, a natural event, or a long period standing idle. Add a manual button for that. A machine that has been switched off since November is not automatically fine in March.
The defect list is where the real risk sits
An inspection report that says "passed, but replace the wire rope within 3 months" is a pass today and a failure in April. Make every defect the model finds into its own dated row with its own countdown, or you have automated the filing and nothing else.
Do not let the model write to the register unsupervised
It reads dates off scanned documents, and scanned documents contain several dates. Report date, examination date, next-due date and the date someone signed it are four different things, and picking the wrong one moves your next inspection by months in the direction nobody wants.
Attach the certificate, not a link to it
Cloud links to an inspector's portal expire, the inspector changes systems, and you find out during an inspection. Keep the PDF on your own box.

Verified repos

NocoDB — Sustainable Use License since 29/01/2026 (free for internal business use), 64.7k stars, last commit 27/08/2026
n8n — Sustainable Use License (free self-hosted internal use), 201.5k stars, last commit 27/08/2026
Ollama — MIT, 180k stars, last commit 27/08/2026
OCRmyPDF — MPL-2.0, 34.4k stars, last commit 21/08/2026
ntfy — Apache-2.0, 33.6k stars, last commit 27/08/2026
Gotenberg — MIT, 12.9k stars, last commit 21/08/2026
Atlas CMMS — AGPL-3.0 with a paid commercial key for white-labelling and advanced features, 751 stars, last commit 27/08/2026

Get the next blueprint as it publishes — free, practical, verified tooling only.

Subscribe · Want it audited or extended for your business? DM @RXed_EU

What this costs to run

Priced as Extract fields from a document — one OCR'd page; output is a JSON record of 8-20 fields. the model only reads the inspection report - next-due date and any defects or observations - off a document that is legally required to carry both fields; it proposes, the owner confirms, and it never writes to the register on its own. Adjust the volume to yours; the bill is a range because the assumptions are ranges.

Model$/day$/month Reasoning

Cheapest eight shown — straight per-token arithmetic on list prices: no caching, no batch discount, thinking tokens bill as output. All models + every assumption in the full explorer →
Capability & cost data: Artificial Analysis