The Lab
The portfolio you're reading right now.
This portfolio: React + Vite SPA, self-hosted fonts, unified Cloudflare Worker, opt-in analytics. The case study documents the migration. It's the demo of my workflow, not the pitch.
Clean, fast and accessible websites with HTML, CSS and JavaScript. No fluff, just what works.
I'm Francesco. I build fast, accessible, bilingual websites. Client work is often lean HTML, CSS, and vanilla JavaScript at the edge; this portfolio runs on React, TypeScript, and Vite. Every site I ship is performant, readable, and built to last.
Based on Lipari, one of the Aeolian Islands, off the north coast of Sicily. Remote by default, which means I think carefully about async communication, documentation, and clean handovers. The projects in this portfolio are real work: businesses that exist, clients who paid, code that's in production.
I build sites from scratch: semantic HTML, hand-crafted CSS, no framework unless the problem genuinely calls for one. Every site I ship is fast, accessible, and fully understood by both of us. Deployment on Cloudflare's global edge network: no cold starts, no vendor surprises.
Interface design rooted in the product's context, not in trends. I work from your content outward (layout, typography, colour) with consistent attention to accessibility and how things read on a phone, not just a design tool. The result holds up in production, not only in preview.
Hardware and software troubleshooting, network setup, device configuration, and day-to-day tech support. I keep things running for small businesses and individuals who don't have time to deal with tech problems. Available remotely or on-site in the Aeolian Islands.
Five real projects, each with context, technical decisions, and outcomes.
The portfolio you're reading right now.
This portfolio: React + Vite SPA, self-hosted fonts, unified Cloudflare Worker, opt-in analytics. The case study documents the migration. It's the demo of my workflow, not the pitch.
IT services in Sicily and across Italy.
Bilingual (IT/EN) IT-services landing page: fast one-page build, Cloudflare deployment, and direct WhatsApp/email contact flow.
Electrical and security systems.
Bilingual site for an ICIM-certified electrical company: clear structure, mobile readability, and contact channels built for real operations.
Labour consulting in the Aeolian Islands.
Professional site for a labour consultant on Lipari: React UI, Web3Forms, full GDPR with cookie banner, dual Web3Forms/WhatsApp contact flow, and a JSON-driven tax-deadline table on Cloudflare Workers.
Artisan Aeolian sweets, order in one tap.
Static marketing site and product catalog for an artisan pasticceria on Lipari. WhatsApp-first ordering, no cookies, no tracker, Cloudflare Pages edge delivery.
The latest public updates I'm shipping across my projects.
Honest answers to the questions I get asked most.
For most client sites: HTML, CSS, and vanilla JavaScript: a deliberate choice, not a compromise. I deploy on Cloudflare (Pages or Workers), so the site sits on a global edge network with no cold starts. When a project needs React, a CMS, or something else, we scope it upfront. Otherwise, I don't add weight you don't need.
Entirely remote, no geographic restrictions. If you can read this, we can work together.
A focused landing page can be production-ready in one to two weeks. A multi-page site with a CMS, bilingual content, or bespoke integrations typically takes three to five weeks. I'll give you a concrete estimate after our first conversation.
Yes, on request. I don't pitch retainers or lock you into contracts. If something needs updating, fixing, or expanding after launch, you reach out and we sort it.
On request. I know Cloudflare Pages well enough to set up the whole pipeline: DNS, deploy hooks, cache rules, the works. If you'd rather manage it yourself, I hand everything over in clean order.
I prefer building from scratch: the result is faster, cleaner, and fully understood by both of us. That said, I can take on an existing site for well-scoped work: a performance pass, new sections, or targeted fixes.
The right question is what scope the problem calls for. A focused landing page is very different from a multi-page site with a CMS, a contact form, and bilingual content. I give honest estimates after a first conversation, not before. No guesses, no ballparks pulled from thin air.
On a static HTML site, you'd need to be comfortable editing code, or we plan a CMS/React layer from the start. I won't add a CMS to a problem that doesn't need one, but if updating content without touching code is a real requirement, that changes the approach and we talk about it upfront. There's no wrong answer.
A clear sense of your goal, any existing brand assets (logo, colours, fonts), and the content you want on the site: text, images, anything you already have. That's enough for a first conversation. The rest we figure out together.
We work iteratively, so there's no big reveal at the end. You see work-in-progress at each stage and give feedback before we move forward. If something doesn't land right, we fix it before shipping. I don't deliver things I'm not confident in.
Both, depending on what makes sense. Some clients have a clear scope: build the site, hand it over, done. Others prefer to stay in touch for small updates over time. I don't push ongoing work where it doesn't add value.
Got an idea, a project or a question? Reach out on the channel you prefer.