RXed AI News

AI to the bone.
A weekend ↓ architecture v1.0 · 2026-07-24

The public-tender watcher: stop hearing about the contract after it closed

Councils, hospitals and public bodies publish work you could do. The notices sit on portals nobody has time to read. This sends one short email each morning with the new contracts that match you, each with its deadline.

One morning email with the public contracts you could actually bid on

A woman in a hi-vis vest at a site office table leafing through a thick official gazette of tenders, pages showing only faint printed blocks
Setup: A weekend (~6-12 h) Running cost: $5-25/mo (software included) what it costs to run ↓ Time saved: saves ~7–14 h/week for the owner at 80 runs per day — basis After setup: You run it — reads the morning digest, picks what to chase Data lives: Mixed — Your search terms hit government APIs; notices and the filtering stay on your machine.
Jan explains what it does · about a minute
AI clone of Jan’s voice, generated locally with his consent.
n8nOllamaTED Search APISAM.gov APIDockerReportingEmail
Built for small businesses in general — not a sector list.

Paste it into your AI assistant — ChatGPT, Claude, Gemini, whichever you use. It first asks what tools you already have, then rebuilds this blueprint to fit them.

any AI platformno signupblueprint travels inside
Before you start
  • The buyers you care about must publish to TED or SAM.gov — many small municipal contracts never appear there
  • A SAM.gov account and API key if you bid in the US
  • A written list of the work you actually bid on, ideally as CPV or NAICS codes
  • 8-16 GB of RAM for the local model reading ~80 notices a day
What breaks first FAILS SILENTLY
the TED or SAM.gov API changing its response shape, or rate-limiting your key. The digest arrives empty and reads like a quiet week; alert yourself when two days return zero.
Version history
v1.0 · 2026-07-24 — First release.

Public buyers publish roughly 700,000 notices a year in the EU alone, worth around €2 trillion. About 250,000 of those are contracts you can actually bid on. The data is free and public. The reason small firms miss it is not access — it is that nobody has twenty minutes a day to read a procurement portal.

The architecture

TED (EU) - free, no keySAM.gov (US) - free keyNational portal feedevery morning at 06:30n8n - the watcherkeeps only your codes, your region, your contract size - anddrops what it has already seenshortlist onlyLocal AI scores the fit0-10 against your one-page capability profile, plus one lineon what the buyer wantsWorth a look (7+)Maybe (4-6)Not for you - listed, never hiddenOne email, sorted by deadline. You decide what to bid on.
the same flow as text
[ TED Search API (EU) ]   [ SAM.gov API (US) ]   [ national portal feed ]
   free, no key          free key            RSS / open data
        └─────────────────┴──────────────────┘
                      ▼  06:30 daily
[ n8n (self-hosted) — the watcher ]
        ├─ hard filter: your CPV / NAICS codes, country, region, value range
        ├─ dedupe on notice ID (corrigenda republish the same job)
        └─ shortlist out
                      ▼
[ Ollama (local model) — soft scoring ]
        │  reads title + scope against your one-page capability profile
        │  returns a 0-10 fit score and one plain line: what they want
        ▼
[ One email, sorted by deadline ]  Worth a look · Maybe · Not for you

The model ranks and explains. It never deletes. Rejects stay visible.

Two filters, in this order, and the order is the design decision. The hard filter is deterministic — codes, country, value, deadline — and throws away 95% of the volume for free. Only what survives goes to the model, so a small local model is enough and your daily compute stays near zero. Run it the other way around and you are paying an LLM (large language model) to read 2,000 irrelevant notices a day.

Paste it into your AI assistant — ChatGPT, Claude, Gemini, whichever you use. It first asks what tools you already have, then rebuilds this blueprint to fit them.

any AI platformno signupblueprint travels inside

The problem

A painting firm, a small IT shop, a translation agency, an engineering consultant: all of them are eligible for public work, and most of them hear about a tender from a colleague two weeks after it closed. The official channels are open — TED (Tenders Electronic Daily) for the EU, SAM.gov for the US federal market — but both are firehoses built for procurement professionals, not for someone running a business between two site visits. The market's answer is a subscription: tender alert services run from about $19-49/month at the entry end (GovConToday, Jorpex) to €300/month (Tendium), £200/month (TenderLake), £500+/month (Stotles) and £1,000+/year (Tracker Intelligence), with per-seat platforms landing above £5,400/year for a three-person team. What you are paying for is a filter. The underlying data is free: TED's Search API is public and needs no key at all, and SAM.gov issues API keys to any registered account. This blueprint builds the filter yourself, once, and keeps it.

Tool choices — and why

TED Search API v3
is the EU source, and it is genuinely open: POST /v3/notices/search, no authentication, no account, no rate-limit headers observed in the wild. The EU's own developer docs state it plainly: "The Search API does not require a key." You can build the query on the TED website's expert search and paste the same expression into the API. Third-party resellers exist that charge roughly $1 per 1,000 records for this exact endpoint. There is no reason to pay it.
SAM.gov Contract Opportunities API
is the US source. A free SAM.gov account gets you an API key immediately at 10 requests/day — enough for one digest run, not enough for a chatty workflow. Completing the entity registration (which you need anyway before you can be awarded anything) raises it to 1,000 requests/day. Context for whether it is worth the paperwork: the US federal government awards over $700 billion a year, and in FY2023 $163.4 billion of prime contract dollars — 28.4% — went to small businesses, above the statutory 23% goal.
n8n
(fair-code Sustainable Use License, free for internal business use, 197.8k stars, pushed 24/07/2026) is the watcher itself. Scheduling, HTTP calls, filtering, deduplication and email in one canvas that a non-programmer can still read six months later. The dedupe matters more than it sounds: n8n's Remove Duplicates node has a "Remove Items Processed in Previous Executions" mode with "Value Is New", which remembers notice IDs across runs — that is what stops the same tender arriving three mornings in a row. AI audit →
Ollama
(MIT, 176.8k stars, pushed 24/07/2026) runs the scoring model locally. An 8B-class model is sufficient — this is a relevance judgement plus one sentence of summary, not a legal analysis. The reason to keep it local is not the notice text, which is public. It is the other half of the prompt: your capability profile, your certifications, your travel radius, the contract size you can carry. That is your commercial position, and it does not need to be sitting in a vendor's logs.
Monthly cost
Software: €0, all of it. Hosting: €5-12/month for a small VPS if the scoring model runs on an office machine that is switched on in the morning. €15-25/month if you want everything on one box with enough RAM for an 8B model. Drop the model entirely and score on codes plus keywords, and you are back to €5. Compare against €300/month for the mid-market alternative and the payback is the first month, before you have won anything.

Setup outline

  1. Write the capability profile first, on one page: what you actually do, which CPV codes (EU) or NAICS codes (US) match it, how far you will travel, the smallest and largest contract you can carry, which certifications you hold. This page is the product. Everything below it is plumbing.
  2. Pick 3-6 codes, not forty. CPV is hierarchical — searching a parent code such as 45000000 (construction works) also matches its subcategories — so a wide net fills your inbox with work you cannot do, and you stop reading the email in week two.
  3. Test the query on the TED website in expert mode before you build anything. Confirm you get 5-30 hits a week, not 500.
  4. Deploy n8n behind HTTPS. One workflow, schedule trigger at 06:30 so the digest is waiting with the coffee.
  5. Build the EU branch: HTTP Request node, POST to the TED search endpoint with your expert query. Dates go in as YYYYMMDD, and buyer-country takes three-letter codes (BEL, DEU, NLD).
  6. Build the US branch if the US market is relevant: SAM.gov key in the query string, filter on NAICS, set-aside type and posted date.
  7. Dedupe on the notice ID with Remove Duplicates → "Value Is New". Never on the title.
  8. Score locally: send title, scope and your profile to Ollama, ask for a 0-10 and one sentence. Group the mail into "Worth a look" (7+), "Maybe" (4-6) and "Not for you" (below 4, listed with the score, one line each).
  9. Sort the whole mail by deadline, closest first, with days remaining next to each entry. Run it two weeks in parallel with a manual portal check before you trust it.

Pitfalls — what goes wrong when you build this

TED only carries above-threshold contracts, and that may exclude everything you do
From 01/01/2026 the thresholds (Commission Delegated Regulation (EU) 2025/2152) are €5,404,000 for works, €216,000 for supplies and services from sub-central authorities such as municipalities and hospitals, €140,000 from central government, €432,000 in the utilities sectors, €750,000 for social and other specific services. Below those figures a contract does not go to TED at all. Below-threshold work is roughly 60-70% of all public contracts by count, and it lives on national portals only. If your typical job is a €40,000 renovation, TED will never show it to you — add your national source (in the Netherlands, TenderNed publishes a free RSS feed and an XML API you request credentials for; in France, BOAMP carries everything above €40,000 excl. VAT) or the watcher is decorative.
Buyers classify badly
CPV codes are chosen by the contracting authority, sometimes carelessly, and a job you would obviously want can sit under a code you never search. Run one keyword branch alongside the code branch and compare what each finds for a month.
The 10-requests-a-day SAM.gov limit is easy to burn
One paginated run with a wide filter eats it before breakfast. Cache, page conservatively, and get the entity registration done.
The first query returns zero, and the format is why
Expert-query dates are YYYYMMDD, not ISO-8601, and buyer-country is three letters, not two. That single detail accounts for most failed first attempts.
Never let the model filter silently
It scores; you decide. Keep the rejected notices in the mail, with their scores, for at least the first month. If you cannot see what it threw away, you cannot tell whether it is any good — and the one it drops will be the one that mattered.
Deadline is the only sort order that matters
A tender you find with six working days left and no documents prepared is not an opportunity, it is a distraction. Flag anything under ten working days as unrealistic unless the file is ready.
Finding is not winning
This blueprint solves visibility. The bid still needs references, financial statements, certificates and, in the EU, an ESPD. A full digest is not a pipeline. Measure the number of bids submitted, not the number of notices received.

Verified repos

n8n — Sustainable Use License (free self-hosted internal use), 197.8k stars, active (24/07/2026)
Ollama — MIT, 176.8k stars, active (24/07/2026)

Data sources (free, official): TED Search API v3 documentation · TED · SAM.gov Contract Opportunities · EU thresholds 2026-2027 (European Commission)

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

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

What this costs to run

Priced as Classify & route — one email or ticket including a short quoted thread; output is a label plus a one-line reason. one pass per published notice to decide if it is worth your morning email. 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