Skip to content

Case study · Golf and leisure, Costa del Sol tourism

Estepona Golf.

A new website for an 18-hole course on the Costa del Sol, built from scratch in Spanish, English and French, with its own Supabase backend, a news manager the club controls and a WHS course handicap calculator fed with official federation data.

Home page of the Estepona Golf site: the headline Donde la Sierra Bermeja abraza el Mediterráneo over an aerial view of the course, the mountains and the sea.

At a glance

Client
Estepona Golf
Sector
Golf and leisure, Costa del Sol tourism
Year
2026
Services
BuildCare
Stack
ViteReactTypeScriptTailwind CSSshadcn/uiSupabasePostgreSQLVercelGitHubGoogle Maps
Estepona Golf on a phone

01 · Estepona Golf

The challenge.

Estepona Golf sells tee times, events and a restaurant to players who arrive from Spain, the United Kingdom and France. The club wanted a site that sells in all three languages, with its own URLs per language so search engines and AI assistants see three complete sites, a news manager and lead capture of its own, and the course itself, the 18 holes, the seasonal rates and the official slope ratings, ready to read online before a player travels.

For example: 4 days from diagnosis to the new backend running. Concert Music Festival

02 · Estepona Golf

What we built.

Polargate built a new trilingual site from scratch on its canonical stack: Vite, React, TypeScript and Tailwind with shadcn/ui on the front, an own Supabase project (Postgres, Auth, Storage and row level security) as backend, and Vercel with GitHub deploys on merge. Each language has its own routes and slugs, hreflang, canonical, og:locale and sitemap. The club got an admin panel with roles and a news manager, lead capture forms, an interactive 18-hole scorecard with four tees and a WHS course handicap calculator built on official RFEG data.

A gloved hand holds a phone on the tee at golden hour, showing the Estepona Golf mobile site with the headline Donde la Sierra Bermeja abraza el Mediterráneo and the Reservar green fee button, while a player swings behind.
Recreated scene with the project's real screen

For example: 11 modules delivered in Phase 1. Elite Smart Build

03 · Estepona Golf

The result.

The build ships with 536 of 536 translation keys in each of the three languages, a hero image cut from 1.3 MB to 251 KB, and zero TypeScript errors after two adversarial audit passes in which 63 findings were reviewed and the 7 confirmed ones fixed. The backend belongs to the club and costs about 10 dollars a month on Supabase. The site is live on the club's own domain, esteponagolf.com, and Polargate publishes no traffic or booking figures for it yet.

translation keys present in each of the three languages
536/536
hero image weight, down from 1.3 MB
251 KB
languages with their own URLs, slugs, hreflang and sitemap
3
holes described by the club, on a scorecard with 4 tees
18
TypeScript errors after two adversarial audit rounds
0
monthly cost of the club's own backend on Supabase
~10 USD

For example: 2 languages live on the site, Spanish and English. Global Dynamic Security Group

04 · Estepona Golf

How we did it.

For example: 100 / 100 / 100 Lighthouse mobile: accessibility, best practices, SEO. KD.tech

A course that sells in three languages

Estepona Golf is an 18-hole course on the Costa del Sol, with a clubhouse, a restaurant, a pro shop and an events business. Its players arrive from Spain, the United Kingdom and France, and they decide before they travel. The club wanted a site that sells to all three, with a news manager and lead capture of its own.

What the club needed

  • Its own URLs per language, so search engines and assistants see three complete sites.
  • The course, the holes, the rates and the menu online, under the club's control.
  • Light imagery that loads fast on a phone.
  • The scorecard and the official slope ratings online, so a player can work out a course handicap before booking.

How it runs now

Translations are complete, 536 of 536 keys in each language, so no page falls back to Spanish halfway down. The hero weighs 251 KB instead of 1.3 MB. Before merging the last batch of client material we ran two adversarial audit passes: 37 findings, then 26, of which 7 survived scrutiny and were fixed, ending with zero TypeScript errors and a green production build.

The backend is the club's own Supabase project in eu-west-1, at about 10 dollars a month, with news, leads and roles behind row level security: the public reads published news only, staff write, and contact and event forms accept anonymous inserts that only admins can read. The site is live on the club's own domain, esteponagolf.com. We mapped the DNS zone before the switch to keep the club's existing mail untouched, and Polargate keeps the site under a monthly Care retainer.

FAQ

Questions about this project.

How long does a trilingual website like this take to build?
The first complete build of Estepona Golf was ready about six weeks after the brief: discovery in April 2026, build finished on 26 May 2026. The French version, the localised slugs and the move to our own Supabase and Vercel landed in June, and the club's own material, hole descriptions, official slope ratings and federation logos, arrived in later rounds over the summer. A site of this size is weeks, not months, once content is ready.
Can you do this with our existing booking engine?
Yes, and we treat the booking engine as a fixed point rather than something to replace. At Estepona Golf the scope was the trilingual site, the news CMS, lead capture and the handicap calculator, so tee time booking was not part of it. When a club wants a deeper connection, Polargate links to the engine per language, keeps analytics across the handover and adds a database backed form for the groups and events the engine does not cover.
Who updates the news and content after launch?
The club does. We built an admin panel with Supabase Auth, admin and editor roles and a news manager, so the team writes, edits and publishes posts with images without asking us. Row level security means the public reads published news only and just signed in staff can write. Structural work, new sections, a fourth language, new page types, is what the Care retainer covers.
Is the French version a real site or an automatic translation?
It is a real site in each language. All 536 translation keys exist in Spanish, English and French, so nothing falls back mid page, and every language has its own slugs (el-campo, the-course, le-parcours), its own canonical URL, hreflang with x-default and its own entries in the sitemap. The 18-hole descriptions came from the club's own material in three languages, not from a machine pass over the Spanish.
What does a site like this cost to run once it is live?
The platform cost is small: the club's own Supabase project (Postgres, Auth and Storage) runs at about 10 dollars a month, and hosting sits on Vercel. Everything belongs to the client, the repository, the database and the domain, so there is no lock-in to a page builder. Separate from that is Polargate's Care retainer for maintenance, security updates and evolution, quoted independently of the build.

For example: 22 public routes prerendered as static HTML. Hotel Marien

Next project

Concert Music Festival.

Live music and festivals

A festival app that updates itself

For example: 105,212 characters of body text readable by AI crawlers across 65 URLs, up from zero. Malacca Tables

Get started

Tell us what you want to build.

Websites, apps, custom systems and AI for companies that need them in production in weeks. Fill in the form or book a 30 minute call: a senior engineer answers within 48 business hours with a first take on scope, timeline and price.

What do you need?
Budget
When

At least ten characters.

Answer in writing within 48 business hours. No newsletter, no automatic sequence.

Rather answer the full brief?

First step

Discovery Sprint

Two weeks to close scope, architecture and price before anything is built.

No price list. You get a private quote, in writing, after a short call.

Then, to build, always at a fixed price

Not ready yet?

AI-native digital studio for mid-market companies

POLARGATE, S.L. · CIF B24895005
Calle Electrónica 6, 28027 Madrid, Spain