
Tenders, Made Accessible
Making EU public tenders findable for Italian SMEs.
The EU publishes over 2,600 tender notices every day — and for an Italian SME, the official portal is a raw database gated behind procurement codes nobody has heard of. Find Your Tender turns all of it into a personalised, ranked feed: describe your business, and AI surfaces the contracts that actually fit.
Promos Italia — the Italian Chambers of Commerce network — had the hypothesis and the distribution channel; what they needed was the product. As the sole designer on a team of ~8, I owned the experience from the first onboarding question to subscription gating: profile a company accurately, and AI surfaces the tenders that matter — without the company ever knowing what to search for.
- What it is — an embedded AI-matching platform that turns 2,600 daily EU tenders into a personalised, ranked feed for SMEs.
- My role — sole product designer, working inside the Promos Italia design system and reserved area.
- The result — soft-launched in Beta with a curated SME group; that beta drove a core pivot on how companies pick CPV codes.
The EU publishes over 2,600 tender notices every single day on the TED portal. For most Italian SMEs, finding the relevant ones is close to impossible: the interface is a raw database, the terminology is specialist, and filtering hinges on CPV codes — a procurement classification system most business owners have never heard of. Promos Italia came to us with a clear hypothesis: profile a company accurately, and AI can surface the tenders most likely to matter — without the company knowing what to search for. The distribution channel already existed through the Chambers network. What they needed was the product.


Before designing anything, I went into TED and tried to find tenders the way an SME owner would. That firsthand friction shaped everything that followed — no personalisation, no relevance ranking, no explanation of why a tender might matter to your business. I reviewed Italian and international competitors too; tools like InfoPlus existed but felt dated and offered no AI-driven matching. The gap was real. Two constraints framed the design space from day one:
- FYT would live inside the Promos Italia reserved area as an embedded web component — not a standalone site.
- The visual language had to inherit from the Promos Italia design system rather than start fresh.
Onboarding that builds a company profile without jargon
- Choice
- A multi-section questionnaire with a sectioned progress bar — so a long form feels like a series of short ones — and an AI-assisted CPV step: the company describes what it does in plain language and the model proposes the codes. The user confirms rather than classifies.
- Why
- The entire matching engine depends on profile quality, so onboarding is the product. CPV codes were the hardest part, and the first version — asking companies to select codes through structured inputs — was exactly where beta users stalled.
- Tradeoff
- I threw away the original CPV mechanism after watching real users fail at it. It is the thing I am proudest of here — not the UI, but being willing to delete it when the evidence said so.
Human-in-the-loop profile validation
- Choice
- Profiles pass through a validation step, and when one is rejected the user does not restart from zero — a partial re-questionnaire reopens only the sections that need correcting.
- Why
- An AI-generated profile that is wrong produces a feed that is confidently irrelevant, which destroys trust on day one. Respecting the work users had already done was non-negotiable.
- Tradeoff
- It adds a gate before the feed — but it protects the one thing the product cannot afford to lose early: trust in the match.
One ranked feed, with explainable AI
- Choice
- A single ranked feed with a list/grid toggle. Each tender carries a colour-coded compatibility pill (green above 90%, amber 70–90%, red below) and a “Why This Tender” tab of named criteria cards. A fixed right panel keeps the score and the deadline timeline visible across every tab.
- Why
- Early explorations split tenders into two lists (best matches vs. everything else); I killed that for one mental model, one place to look. And a percentage alone is a black box — an SME owner needs reasoning they can evaluate and disagree with.
- Tradeoff
- Dropping the two-list split meant trusting the ranking to do the sorting — which only works because the score is explainable.
Progressive disclosure for subscription gating
- Choice
- Three tiers (Trial, Base, Premium). Locked capabilities stay visible and legible in context, rather than being walled off behind upgrade screens.
- Why
- Users understand what the next tier buys them at the exact moment they would want it — not on a pricing page they will never visit.
- Tradeoff
- Showing locked features risks clutter, so each stays readable but clearly gated: desire without frustration.




Because FYT ships as a web component embedded in the Promos Italia reserved area, the layout could not rely on viewport breakpoints — the available width depends on the host shell, including its 240px sidebar. I specified the header and navigation with container queries: below 700px of component width it collapses to a hamburger, regardless of what the browser viewport says. A small detail, but it is the kind of constraint that separates designing screens from designing systems that survive integration.
FYT soft-launched as a Beta — functionally close to the Trial tier — with a curated group of SMEs recruited through the Chambers network. It’s an ongoing product; my design engagement ran through the beta.
- The beta did what betas should
It invalidated the original CPV selection design and gave us the evidence to replace it with the AI-assisted flow before wide release.
- A core pivot on CPV matching
The biggest change — from “classify yourself” to “describe yourself, confirm the AI” — came straight from watching beta users fail.
- What I’d change
I’d bring real SME users in before building the first CPV mechanism, not after. We recovered fast because the team was small and willing to pivot — but the signal was findable earlier.
I go into the domain myself before I design for it, and I treat AI features as trust problems, not just capability problems.
- Experience the problem firsthand — I used TED as an SME would before designing the alternative.
- Explainability and human-in-the-loop validation were design requirements, not afterthoughts.
- I’d rather delete my own work when the evidence says so than defend it.



