UX / UI
A web app for company management and sales negotiations, designed to use AI to streamline prospect onboarding — with a companion app built for people working in the field.
The problem
A CRM has to show a lot of data without becoming unreadable. The problem ran two ways: making the state of dozens of parallel deals legible at a glance, and cutting data entry down to seconds for someone moving between clients.
What I designed
- A stage view in columns — opportunity created, contact made, presentation, offer sent, won, lost — with per-state counters, total value at the foot of each column and bulk actions: move stage, freeze, archive.
- An alternative list view over the same data, sortable by title, company, owner, deadline, stage and value: two ways of reading the same work, for two ways of working.
- A side detail panel with actions grouped by intent — report, schedule, communicate — so the task closes without leaving the pipeline.
- Trovaclienti: AI segments prospects by spend bracket and offers them for purchase, with summary metrics, comparison against known companies and a history of packages already bought.
- A mobile app built on a newsfeed interaction model: voice memos, one-tap meeting outcomes, contacts on a map. Handed to the team for React Native development.
- A documented design system: eight semantic accents and eight grey steps, complete form field states, a hierarchy of primary, secondary and destructive buttons — with the CSS specifications already written for developers.
A deliberately lightweight app for selling in the field, built around a cycle that closes every twenty-eight days: a list arrives, you work it, you measure what worked.
The problem
Nobody fills in a CRM from the driver’s seat. The job was to reduce every interaction to a single gesture and give something immediately useful back: where the contacts are, how the month is going. It also needed somewhere to put the people who don’t answer first time, who in the field are the majority.
What I designed
- The twenty-eight day cycle as the load-bearing structure: a new list announces how many contacts it holds and how much time is left, and from there every screen carries the days remaining.
- Contact list with colour-coded status — new, contacted, engaged, closed — distance from your current position and a contextual action on the card, switchable to map from the same control at the top.
- Contact record cut down to what you need at the door: phone, address, supply point and price list, with call and navigation as the only primary actions.
- A feedback loop in a single screen: one question, a face that changes with the answer, four levels, and always a declared way out — call didn’t connect, nobody home.
- Recovery for the missed contact: if it was the wrong moment you reschedule with date and time in two taps, otherwise you declare it lost. Recoveries land in a list of their own.
- Personal performance dashboard: status distribution as a donut chart, redemption rate and won/lost ratio on a continuous bar, with an acknowledgement at the end of the month.
- Product identity: logo, palette and a type scale built on Quicksand, documented in a style guide.
An app for the tyre trade, where gamification exists to support dealer sales and hold a community together.
The problem
Tyres are a purchase people postpone until it becomes urgent. The idea was to give the driver a reason to open the app before that moment, and the dealer a reason to get them through the door.
What I designed
- Only three sections in the top bar — treasure hunt, garage, tire test — because an app opened twice a year cannot ask anyone to learn a navigation.
- A Garage section: the user’s car and fitted tyres, with wear as a percentage and a traffic-light colour that flags replacement before it becomes a problem.
- Tire test: photographic tread scanning, with the wheel framed inside a guide circle, to estimate wear and compare the tyres currently fitted.
- A treasure-hunt mechanic on promotions — find the complete series to unlock the discount — turning app usage into footfall at the point of sale.
- High-contrast yellow and black direction, condensed italic type, chequered flag and dashed rules: motorsport language, not e-commerce.
An online catalogue of circular saw blades, router cutters, drill bits and knives for working wood, plastic and aluminium. Hundreds of codes, each with a spec sheet that decides the purchase.
The problem
Someone buying a blade isn’t looking for a product: they’re looking for the right blade for the material they have to cut and the machine sitting in their workshop. A catalogue organised by category doesn’t answer that question. It had to be turned around and start from the job to be done.
What I designed
- Filters built on the real problem rather than on the warehouse taxonomy: you start from fourteen materials to be cut — soft and hard wood, plywood, chipboard, veneered, laminate, MDF, plexiglass, aluminium, ferrous and non-ferrous metal — then narrow with sliders on blade diameter, bore diameter and thickness.
- Technical specs brought onto the list card instead of hidden in the product page: diameter, bore, tooth count and thickness, each with its own icon and its minimum and maximum values. They are read while comparing, which is when they matter.
- Search with a scope selector beside the field: anyone arriving with a code in mind looks it up straight away, anyone without one stays on the category path.
- The wishlist works as a quotation request: codes accumulate and are sent in one go. Technical B2B doesn’t end in a payment, it ends in an offer, and the site walks the buyer to that point.
- A three-level taxonomy across six families — blades, knives, drill bits, router cutters, accessories, sharpening — navigable from the menu, the category grid and the breadcrumb, because a technical catalogue is entered from every side.
- Editorial pages on the subjects that justify the price: Frozen treatment, hard metal, blade characteristics. In a technical market the explanation is part of the product.
- Dark ground with a blue accent: the steel of these products is grey, and on white it disappears. Italian and English across the whole catalogue, product codes included.
A Sicilian coach company running since 1926: more than a hundred and ninety buses, over three and a half million passengers a year. The site has to sell a ticket and at the same time carry the obligations of a public service.
The problem
Three different audiences on one homepage: the tourist booking a long route, the commuter renewing a season pass, someone after an urban ticket worth a couple of euros. Each is in a hurry in a different way, and none of the three should trip over the other two.
What I designed
- A trip search engine on the first screen, laid over the image rather than pushed below it: origin, destination, outbound, return and passengers. The swap button between the two places saves retyping everything when looking for the way back.
- The return is a dashed, optional field and the outbound date arrives pre-filled with today: the shortest path is pressed first, the others stay one tap away.
- Urban tickets have a colour of their own, green, and sit outside the route search box. Two different products living on the same screen without being confused for each other.
- Season passes on a tab beside tickets: they need the travel card and therefore registration, and the constraint is stated at the exact point where it blocks, not two screens later.
- On mobile a Buy bar stays anchored at the foot of the whole page: you can read the company history, the routes, the FAQ, without ever losing sight of why you came.
- Service promises spelled out before the purchase — digital ticket, contactless on board, booking changeable up to departure, Wi-Fi and sockets, 1+1 luggage — with the FAQ picking up whatever objections remain.
- The network navigable by city as well as by route, with cards that speak about the place before the timetable, and public service obligations — service charter, conditions of carriage, complaints, accessibility — built in without weighing down the purchase path.