2025

Tenders, Made Accessible

Making EU public tenders findable for Italian SMEs.

RoleSole Product Designer
ClientPromos Italia — Italian Chambers of Commerce network
TimelineSep – Dec 2025

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.

RoleSole Product Designer
ClientPromos Italia — Italian Chambers of Commerce network
What I ownedDesign · Research
TimelineSep – Dec 2025
StackAI matching · Web component · Design-system inheritance
Team~8 — frontend, AI, DevOps, PM, client stakeholders
OutcomeSoft-launched in Beta with a curated SME group; beta feedback drove a core pivot on CPV matching. Now an ongoing product.
TL;DR

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.
01Context

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.

02Discovery — experiencing the problem, not just being briefed on it

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.
DecisionDeep dive

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.
DecisionDeep dive

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.
DecisionDeep dive

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.
DecisionDeep dive

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.
Onboarding, the ranked feed, compatibility scoring, and the “Why This Tender” criteria.
03Designing inside someone else’s house

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.

Launch & what I’d do differently

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.

How I work

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.