← Nicola Valigi IT

Skills

I bring reasoning and intuition, and artificial intelligence amplifies them. I pick up the ideas, develop them by directing an agent, and deliver them as tools someone actually uses, every day.

New applications feel familiar straight away, and I enjoy studying them.

I spent twelve years inside the documents of a large infrastructure contract. There I learned to recognise the real bottleneck, which is usually not the one that gets reported. I trained as an artist, at the Brera Academy and the art school in Novara. That is why my tools have a considered interface and do not look like a prototype.

Vibe coding

I build by directing Claude Code, and also Grok and Antigravity with Gemini. Most of the work comes before generation. I write the rules of the project and the agent has to follow them. Every architecture decision becomes a numbered ADR, a note that stays and can be found again. The cycle is short. It always closes with something published, and with a measure that decides the next cycle.

AI moves fast, and it also amplifies the void. The value is in knowing what to ask it and what to refuse.

Agents

With MCP I connect the model to the real tools: files, memory, services. I write the MCP servers myself. The agent proposes, searches, and prepares the drafts.

Actions that touch a CRM, mail, or a calendar are not taken by the model. The code takes them, through the official APIs. Nothing leaves without an explicit «ok».

Memory and knowledge

I built a shared memory across the work. A question in Italian finds a decision made months earlier, even in another project.

Notes, mail, and documents can go in. What is private stays out: when in doubt, it stays out.

Automation

Flows that repeat run on n8n and on functions that start by themselves. A voice note becomes an action: the model reads it, the code sends it to a CRM, to mail, or to a calendar. A WhatsApp message enters the same flow.

The checks before a release are automatic. What is not automatic does not get checked.

Data

I take apart public portals that have no API. I find the address that returns the real data, I write parsers that hold if a column changes, and I pull the text out of PDFs.

The archive sits in SQLite or in Postgres. What lands on the table is the signal, not the whole list.

Release

From prototype to production: REST APIs in FastAPI, serverless functions on Netlify and Supabase, on only when they are needed, keys always on the server and never in the browser. The proxies, the door in front of the service, accept only authorised domains and cap the number of requests. Access is separate for each client.

The public site is generated from the data, so the front and the archive do not diverge. Every function works from an interface, from the command line, and over an API.

Maps

Lists of sites, scores, and maps you can compare. A day of desk checks becomes a map, with the land data and the geometry under it: areas, centroids, distances. Solar yield estimates come from PVGIS.

Interface

What you look at first, how a number reads, why a screen is opened again tomorrow. I use the art training as a technical skill.

Contrast, hierarchy, the phone. Pages install on the phone as an app. An automatic audit runs before publishing.

Operating systems

I installed Linux in the years when it was harder, and I still use it. I am comfortable with virtual machines and with containers: on a Mac I run them with OrbStack.

n.valigi@gmail.com · GitHub · LinkedIn