Matteo
Vincenti
Menu

Technical leadership
Research & development

Turin, Italy

Engineering Team Lead

I help the team
make technical
decisions.

Goals and constraints give people a common reference.

Matteo Vincenti, standing with his arms crossed

Matteo VincentiEngineering Team Lead, On Page®

I set the technical direction and share the context the team needs to make decisions independently.

See how I work
Software development

My background

Matteo Vincenti, standing with his arms crossed
Matteo VincentiTurin, IT

From writing software to leading a team.

I explain
the reasons
behind decisions.

I write code, and at On Page® I also work on architecture, technical direction and research. I want the reasoning behind a decision to make sense to the person who has to revisit it a few months later.

I share constraints and discuss trade-offs with the team so we can assess proposals, including alternatives to my own.

How I got here
14.Years in
software development

I work on code and architecture.
My work now also includes leading the team.

Discussion within the team

I discuss proposals
with the team.

When discussing a decision, I want to understand the reasoning behind each proposal and consider approaches different from the one I had in mind.

Each proposal starts from different reasoning.

Connect the proposals to the shared criteria.

From proposals to a decision / Illustrative example

Decisions within the team

How I approach
engineering decisions.

These examples show where I would start when the team needs to make a decision.
Pick a situation ↓

Examples of team decisions

Trust and responsibility

Assessing alternatives with the team.

When the reasoning behind a decision lives in one person’s head, the whole team depends on that person. I prefer to share the goals and constraints, hear people’s ideas and make it clear who can decide what.

  1. Understand the goals
  2. Discuss the options
  3. Give people ownership

Everyone involved should know who is responsible for each decision.

What I’m working on now

I design agents
and MCP integrations.

I design agents and the MCP servers that connect them to software: what data they can read, which operations they can request and with whose permissions. I work on the code, the workflows and context retrieval with RAG.

I start with what the application actually does. Then I decide which operations to expose to agents, what constraints they need and where someone must confirm a change.

Step / 01

Retrieve the product documents.

The example starts with a request: fill in the missing descriptions for a set of products. I retrieve relevant specifications and documents, with references. RAG gives the model those sources as context; it doesn’t guarantee that they are complete or correct.

Input
A request to complete descriptions, plus product documentation.
Output
Useful specifications and passages, with source references.
Illustrative pseudocode
request = readRequest()retrieved = search(productDocs, request)context = selectRelevant(retrieved)sources = attachReferences(context)

What needs checking

Flag missing data without filling it in.

Step 1: Retrieve the product documents.

Illustrative workflow. No model is running. This is a general example, not On Page®’s architecture.

A project at On Page®

On Page® / MCP

Connecting the PIM
to AI assistants.

At On Page®, I worked on the MCP integration that lets AI assistants read and update PIM data using the user’s permissions.

Read the article · in Italian

Matteo Vincenti ·

From a request to product data«Which product records have missing data?»Follow the request
  1. 01 / The assistant

    AI

    Interprets the request and selects a tool.

  2. 02 / The connection

    MCP

    The MCP (Model Context Protocol) server exposes the PIM’s tools.

  3. 03 / The software

    On Page®

    On Page® returns the data the user can access.

Illustrative example. Not connected to the PIM.

Read

Product records and attributes to compare or complete.

Request changes

Product data updates, including descriptions and translations, across multiple products.

The user’s permissions still apply. Sensitive operations require confirmation.

Questions and answers

My work.

The full profile
Who is Matteo Vincenti?

I'm an Engineering Team Lead at On Page® in Turin, Italy. I started in software development; today my work also includes technical leadership, architecture, and research and development.

What do you do at On Page®?

I work on the technical decisions behind the product and on testing new ideas. I assess how a system can evolve and what work the team will need to maintain and change it.

What does leading an engineering team mean to you?

Making the goals clear and explaining the reasons behind decisions. I want people to have the context they need to decide, challenge ideas, and bring their expertise to the work.

What is your current work on software agents and AI integrations?

I design software agents, MCP (Model Context Protocol) servers, and integrations that let AI use the data and features of existing applications. I also work on workflow orchestration and RAG (retrieval-augmented generation). I continue to write code.

Where can I find something you've built or written?

On GitHub you'll find LogService, a TypeScript logging library, and Pi System Monitor, a set of tools for monitoring Raspberry Pi. On the On Page® blog I wrote about integrating AI, MCP, and PIM; the article was published on 2 August 2026 and is in Italian.

Contact

An engineering decision, a team question, or connecting agents to software: send me a message on LinkedIn.

Let’s talk.

Matteo Vincenti / Engineering Team LeadOn LinkedIn ↗