A Piece of Sicily Was Dead. Then I Opened Claude Code.

A Piece of Sicily Was Dead. Then I Opened Claude Code.

A Piece of Sicily has been sitting on my server for years. It’s a directory of real Sicilian products that sends visitors to buy directly from the producer’s own website. I built it with good intentions, at some stage I also spent some good money on it, then let it rot.

The catalog was full of dead external links, products from vendors who’d shut down, and a scraper script that hadn’t run in ages.

A few days ago I opened Claude Code, described the mess, and asked it to look. Two days later the project had a working pipeline again, and I want to write down exactly how that happened.

The project that sat untouched for years

I started A Piece of Sicily with a simple idea: no stock, no warehouse, just a clean directory pointing people to real Sicilian producers. Over time I stopped maintaining it. The vendor list stayed small, a chunk of the catalog turned into marketplace affiliate links to try monetizing it differently, and I had no way of knowing which of the roughly 2,500 published products still pointed anywhere real.

I hadn’t touched the codebase in a long time. When I finally opened it again with Claude Code, the first thing I did was trying to revamp the project.

What I actually asked Claude Code to do

The early prompts were small and specific: help me find proper products that are made in Sicily and are sold on third party ecommerce websites.

Before Claude, I used various scraping plugins, but then I let their licence expire. I asked Claude if it could do something like that too…

Minutes later, the sync actually pulled real products, and from there each session built on the last one instead of starting over.

Finding real Sicilian vendors and building a sync pipeline

The core of the rebuild is a script that pulls products straight from a vendor’s own website. Most Sicilian producers run WooCommerce or Shopify, so the pipeline reads their public product feed, checks each item has a real price and a real image, and creates it as a draft product on A Piece of Sicily with a link back to the vendor.

Not every site plays nice. Some run PrestaShop, which has no public product API, so we built a fallback that crawls the sitemap and reads the structured data off each product page instead. Others run WooCommerce with the product API disabled, which needed a second fallback reading a different flavor of the same structured data. One vendor, a Sicilian tour and experience booking site, needed a fetcher built from scratch since it matched none of the usual platforms.

The vendor list grew from about 30 to 184 over these sessions. Some came from my own research, some from lists I pasted in directly, some from digging through old pitch emails sitting unread in my inbox for years.

Cleaning up years of dead links and stale listings

The rebuild wasn’t only about adding new products. The old catalog needed a real audit. I checked every legacy product’s external link, found the ones returning 404s or server errors, and privatized them instead of leaving broken links live on the site.

I also found cases where an old, unrelated listing was actually duplicating a vendor I’d just added properly. Those got swapped out: old link privatized, new direct listing published in its place. By the end, several hundred dead or duplicate listings were gone and the surviving catalog pointed to real, live vendors.

The bugs, the near-misses, and what I’d do differently

Not everything went smoothly, and I think that’s the part worth being honest about. At one point a reseller site turned out to be selling wine from a producer we already listed directly, plus a brand that wasn’t even Sicilian. That needed a general rule, not a one-off fix, so future resellers get checked the same way automatically.

The worst moment was a background sync that had been running since before a context reset, holding an old copy of the vendor list in memory. When it finished, it wrote that old copy back to disk and quietly erased a chunk of the day’s work, including entries added by a separate research session. Losing that data wasn’t fun, but it forced a proper fix: the script now writes back only the one thing that changed, instead of dumping a stale copy of everything.

Where the project stands now

A Piece of Sicily has a working sync pipeline, 200+ vendors, and a cleaned-up catalog with dead and duplicate listings gone. It runs mostly unattended, checks for broken images and unpriced items before creating anything, and skips products that duplicate a vendor we already carry directly.

I also got Claude Code to redesign the homepage, build new pages, adjust CSS, and write some copy. Shockingly enough, I also had about 25 professionally-written blog posts sitting in my email inbox since 2023, and in a matter of minutes I imported them to WordPress and scheduled their release for the next 25 weeks!

It’s not finished. But a project I genuinely thought was dead for years is now producing real, working listings again, built through a long string of small, specific prompts instead of one big rebuild.

Share With a Friend

Leave a Reply

Your email address will not be published. Required fields are marked *