Artificial
intelligence
Language models inside real business processes: assistants that answer from your internal documents, data extraction from PDFs and email, automatic classification and routing of incoming requests.
17LABS
PRESS ANY KEY
AVAILABLE FOR NEW PROJECTS
> class: full-stack developer
> specialisation: AI solutions
I design and build websites, portals, custom business software and automations that talk to the systems you already run. From process analysis to release, with code that still reads well two years later.
SCROLL
INVENTORY
I work across the whole cycle: process analysis, architecture, development, release and maintenance. A typical project touches three or four of these at once.
Language models inside real business processes: assistants that answer from your internal documents, data extraction from PDFs and email, automatic classification and routing of incoming requests.
Marketing sites, landing pages and institutional websites. Real attention to loading speed, technical SEO and accessibility: a site that is slow or unindexed is a site that does no work.
Client portals, supplier areas, intranets. Authentication, granular roles and permissions, multi-tenancy, audit trails and content the client can manage without calling me.
For when off-the-shelf software does not fit how you actually work. Records, inventory, orders, invoicing, approval flows and reporting, built around the process you already have.
Catalogues with variants and tiered pricing, payments, shipping and — above all — the link back to your business software, so stock and orders are not typed in twice by hand.
Getting systems that were never meant to meet to talk to each other. APIs, webhooks, scheduled imports, overnight syncs, and all the repetitive work somebody is doing by hand right now.
Data modelling, the numbers that actually matter, and dashboards you can read in ten seconds. With exports and scheduled reports for the people who still prefer a spreadsheet.
Separate staging and production, automated deploys, containers, verified backups and monitoring. The part nobody sees, and the part that decides whether you sleep after go-live.
EQUIPMENT
I pick the technology to fit the problem, not the other way round. This is the ground I move fastest on.
LANGUAGES
FRONTEND
BACKEND
DATA
ARTIFICIAL INTELLIGENCE
INFRASTRUCTURE
QUEST LOG
I would rather have a few clear phases and something you can click through early, than a long quote followed by three months of silence.
We look at the process before the code: what your team does today, where the time goes, and what is actually worth automating.
Something you can click through within a few weeks, so decisions get made on a real thing instead of a description of one.
Short iterations, a staging environment that stays current, and frequent updates. You watch it grow instead of waiting for it.
Go-live, training for the people who will use it, monitoring and maintenance. The project does not end on delivery day.
WORK
Problem, technical decisions, measured result. Starting with the project you are already looking at — it is the most direct way to show how I work.
Developer websites all look the same: same template, same animations, same sentences. None of them prove anything — they describe skills instead of showing them. I wanted a site that was the evidence, not a description of the evidence.
No framework and no component library. I wrote a pixel-art sprite engine from scratch: every icon is a 16×16 grid drawn by hand on a 16-colour palette — exactly the constraint of a SNES tile — rendered to canvas and animated with palette cycling.
The 3D uses three.js but renders at a fifth of the real resolution with antialiasing off, and lets CSS scale it back up: the polygons pick up the same hard edges as the sprites, the way they did on 16-bit hardware. Both scenes only run while they are on screen.
Accessibility was verified by measurement, not by eye: a script walks every text element in both themes and computes its contrast ratio against the real background. It caught three bugs that were invisible to the eye, including an unreadable button in the mobile menu.
A page that explains itself to anyone who can read the source, and that the people who cannot still remember. No build step anywhere.
I take one project at a time, and the portfolio has just started. If yours is next you get my full attention, undivided — and in exchange all I ask is to write it up here, with the real numbers.
PLAYER 1
17Labs — one person
17Labs is the name I work under, but there is no team behind it: there is me. I am saying that up front because it is the first thing I would want to know if I were on your side of this page.
I have been writing code since I was sixteen. It started as the thing I did instead of studying and I never stopped: what used to be tinkering is the job now, but the part I enjoy has not changed — working out how something works, then building it better.
Away from the screen I am a card game nerd: Magic: The Gathering and One Piece. It is more relevant than it sounds — they are sets of rules interacting with each other, and getting good means reading those interactions before anyone else does, while keeping track of everything your opponent might be holding. That is exactly what you need when you step into a company's process and have to find where it jams.
My day job is building software for a large company, and I am staying there. 17Labs is the name I take my own projects under, and I choose them: it is not a second business to fill up, it is room for the work I actually want to do.
Which means something concrete for you: I take one project at a time and I am fully in it. No queue, no clients competing for the same hours.
FREQUENTLY ASKED
I have been writing code since I was sixteen and I do it for a living: I build software full time for a large company.
17Labs is the name I take my own projects under, and it has just started. So what you will find below is documented personal work rather than a client list — that is a choice, not a gap papered over with borrowed names.
It genuinely depends on the project, and I will spare you the invented price list: a marketing site and a system covering five departments have nothing in common, in either price or time.
The fastest way to find out is a call. I will ask a few questions about what happens in your process today and give you an honest estimate — and if the job does not make sense, I will tell you instead of selling it to you.
One. When I take a job I am fully in it, with no queue and no splitting myself between clients competing for the same hours.
That is the concrete advantage of hiring one person instead of a studio: you are never the project that waits.
Delivery includes a support period. It is deliberately short — roughly a month — because its job is to cover the things that only surface once the software is genuinely in use: a fix, a detail to adjust, a question from someone using it every day.
If you want to continue after that, it extends. But I would rather it were your choice once you have seen how it goes, than a signature collected beforehand.
Yes, anywhere. I work fully remotely with no geographic limits: what it takes is a video call now and then and a written channel where you can reach me.
I work in English and Italian.
The project code is yours. What I write for you — your process logic, your data model, your interfaces — is handed over with full repository access and stays yours. If you ever want to change supplier or bring the work in house, you do not need my permission.
There is one exception, and it is only fair to state it up front: the generic libraries and components I carry from one project to the next stay mine, and you get an unlimited, perpetual licence to use them within your project. That is not there to lock you in — it is what lets me avoid starting from zero every time, which is what makes the work cost you less.
The only thing I keep is the right to write the project up in my portfolio. If you would rather I did not, just say so.
It depends, and it needs looking at before anyone promises anything. Send me the code and tell me where things stopped: I will assess how much is salvageable, what is worth rewriting, and whether it makes more sense to continue or restart.
You get that assessment either way, even if we then decide not to work together. A clear answer beats a quote for something I have not seen.
ARCADE
Flat polygons rendered at very low resolution and scaled back up, the way 16-bit consoles did it when they attempted 3D. Drag it to rotate. And yes, there are secrets hidden around here.
3D scene not loaded.
WebGL unavailable or library unreachable.
The rest of the page works regardless.
None of these are good for anything. That is exactly the point.
Even a half-formed idea is fine: the first half hour is usually about working out whether the problem is really the one it looks like. I reply within one working day.
LinkedIn and GitHub: work in progress_