Francesco De Giorgio Software engineer · Pisa, Italy
IT EN
Let's talk

A website that existed, and did no work at all.

Sunset Beach Club is a beach club in Palmi, on Calabria's Costa Viola. The website was born in 2019 alongside the app, but it was a rough thing, put online quickly and then left alone for years. In 2025 I rebuilt it from scratch: responsive, designed for the phone first, fast, properly indexed, in Italian and English.

The problem

A stale website is worth less than none

Born with the app, then left there

In 2019 the website went out alongside the app, and for a while that was enough. Then nobody touched it again. Six seasons later it was still the same thing: a handful of pages put together quickly, built for a screen nobody uses any more. The app meanwhile kept doing its job, and the gap showed.

The app case study, live since 2019 →

On Google it weighed nothing

Someone typing "beach in Palmi" or "beach club on the Costa Viola" is deciding where to spend the day, right then. The website existed, but it never turned up in that list: no structure, no copy written for the people searching, nothing telling Google what the page was even about. Existing and being findable are not the same thing.

And the people who do not read Italian

In summer the Costa Viola also fills up with visitors who cannot read Italian. For them a beach described in one language only is a beach with nothing to say: they see the name, they cannot tell what is there, and they go elsewhere.

The answer

Rebuilt from scratch, not patched

I kept nothing from the old site, because there was nothing worth keeping: patching six years of neglect costs more than starting again. The new one does the part an app cannot do, which is getting found by people who do not yet know the beach exists, and walking them all the way into the app.

1

You see the beach before you get there

Photos, the shape of the place, what is on it: the sun loungers, the restaurant, what is actually there. Anyone opening the page can tell at a glance whether this is the spot they want, instead of guessing from three pictures on somebody else's listing.

2

The answers that used to be given out loud

Where to park, what there is to eat, how to get there, how to book a lounger. The same questions came back every day by phone and by message: now they are written on a page that answers even when nobody is at the desk.

3

From the page to the booking, then the app

The site does not stop at the introduction: it leads to the booking and puts the app at the end of the journey, not the start. People arriving from Google book; people coming back a second time install it, because by then they know what they are installing.

Google search The beach page Practical details Booking The app, for next time

Under the hood

Fast, findable, in two languages

A beach website gets opened in full sun, on one bar of signal, with sandy hands. Every technical decision here starts from that picture.

The phone first, everything else after

The site is designed starting from the smallest screen and widened from there, not the other way round: people open it on the beach, standing up, with one hand. From that point it adapts to any format, phone to large monitor, with no separate version to maintain.

Responsive · Mobile first

Static, so it is ready before you ask

The pages are HTML served exactly as it is: nothing to query, nothing to assemble when someone asks for the page. And the photos, most of the weight on a beach website, are compressed and sized for the screen they will be seen on.

Static site · optimised images

People search for the place, not the name

The pages are written and structured around the words people really use to look for the beach: the town, the stretch of coast, the kind of place. The name of the club is typed by those who know it already, and they arrive anyway.

Local SEO

Two declared languages, not translated on the fly

Italian and English are two real versions, each with its own address, tied together with hreflang. Google knows which one to serve to whom, and the English version exists in the search results too, not just inside a dropdown.

Italian · English · hreflang

The site does not clone the app, it carries it

Booking stays inside the system the club has used since 2019. The site hooks into it instead of building a second one: one place to look at who has booked, and no list to reconcile by hand in the evening.

Integrated with the existing app

How I work on websites →

What changed

Now the beach has an address

The rebuilt site has been live since 2025, and local SEO is measured in seasons, not weeks: I will not write numbers here until there are real ones. What has changed has already happened, and you do not need a chart to see it.

Before, the address existed but it was not somewhere you would send anyone: it opened badly on a phone and told you nothing. Now it is a link to put in a profile bio, to send to anyone asking for details, to print next to a QR code. It simply opens, and whoever opens it knows where they are going before they get there.

The practical questions are no longer answered one at a time: whoever asks about parking gets a page, not a message rewritten for the twentieth time. And anyone landing on the Costa Viola without a word of Italian finds the beach described in their own language, instead of bouncing off a menu they cannot read. Two small things that, across a season, decide whether a place explains itself or has to be explained every time.

It works the other way round too: people who download the app have already read the site, so they turn up knowing what to expect. The first impression is no longer an icon, it is a page.

What this means for you

A site and an app do two different jobs

If you already have an app that works

Then you do not need it rebuilt: you need the door in front of it. The app works with the people who know you, the site with the people who do not know you yet, and neither covers for the other. The site brings people to the app, the app brings them back. Drop either half and half the job goes undone.

Website · Local SEO · Two languages

If the app is still ahead of you

Budget for both together, not six years apart. Built in the same project, site and app share content, bookings and settings from day one, and you get one person to talk to instead of two suppliers blaming each other.

App · Website · One person to call

How I work on apps →