Estepona Golf: een drietalige golfsite met een echte handicapcalculator
Een nieuwe website voor een 18-holes baan aan de Costa del Sol, vanaf nul gebouwd in het Spaans, Engels en Frans, met een eigen Supabase backend, nieuwsbeheer in handen van de club en een WHS course handicap calculator op officiële federatiegegevens.

- 536/536
- vertaalsleutels aanwezig in elk van de drie talen
- 251 KB
- gewicht van de hero, eerder 1,3 MB
- 3
- talen met eigen URL's, slugs, hreflang en sitemap
- 18
- holes beschreven door de club, op een scorekaart met 4 tees
- 0
- TypeScript fouten na twee adversariële auditrondes
- ~10 USD
- maandelijkse kosten van de eigen backend van de club op Supabase
Het probleem
Estepona Golf verkoopt starttijden, events en een restaurant aan spelers uit Spanje, het Verenigd Koninkrijk en Frankrijk. De oude site draaide op Azure Static Web Apps, zonder contentbeheer voor nieuws, zonder leadformulieren en zonder eigen URL's per taal, waardoor zoekmachines en AI assistenten één site zagen waar er drie nodig waren. De baan zelf, de 18-holes, de seizoenstarieven en de officiële sloperatings, stond in pdf's en op gedrukte scorekaarten die niemand vooraf kon inzien.
Wat we bouwden
Polargate bouwde een nieuwe drietalige site vanaf nul op de vaste stack: Vite, React, TypeScript en Tailwind met shadcn/ui aan de voorkant, een eigen Supabase project (Postgres, Auth, Storage en row level security) als backend, en Vercel met deploys vanuit GitHub bij elke merge. Elke taal heeft eigen routes en slugs, hreflang, canonical, og:locale en sitemap. De club kreeg een adminpaneel met rollen en nieuwsbeheer, leadformulieren, een interactieve scorekaart van 18-holes met vier tees en een WHS course handicap calculator op officiële RFEG gegevens.
Het resultaat
De oplevering telt 536 van de 536 vertaalsleutels in elk van de drie talen, een hero die van 1,3 MB naar 251 KB ging en nul TypeScript fouten na twee adversariële auditrondes waarin 63 bevindingen zijn nagelopen en de 7 bevestigde zijn opgelost. De backend is eigendom van de club en kost ongeveer 10 dollar per maand op Supabase. De site draait op Vercel terwijl de domeinverhuizing wordt voorbereid, dus Polargate publiceert er nog geen verkeers- of boekingscijfers over.
Stack
- Vite
- React
- TypeScript
- Tailwind CSS
- shadcn/ui
- Supabase
- PostgreSQL
- Vercel
- GitHub
- Google Maps
Een baan die in drie talen verkoopt
Estepona Golf is een 18-holes baan aan de Costa del Sol, met clubhuis, restaurant, pro shop en een eventsactiviteit. De spelers komen uit Spanje, het Verenigd Koninkrijk en Frankrijk, en beslissen voordat ze reizen. De oude site draaide op Azure Static Web Apps, zonder contentbeheer voor nieuws en zonder leadformulieren.
Wat we aantroffen
- Geen eigen URL's per taal: zoekmachines en assistenten zagen één site waar er drie nodig waren.
- Content die de club niet zelf beheerde: baan, holes, tarieven en menukaart stonden in pdf's en op papier.
- Zware beelden: alleen de hero woog al 1,3 MB voordat de rest laadde.
- Scorekaart en officiële sloperatings alleen op papier, dus een speler kon zijn course handicap niet uitrekenen voor het boeken.
Wat we hebben gebouwd
Een nieuwe site vanaf nul in het Spaans, Engels en Frans: home, de baan, hole voor hole, tarieven met seizoenswissel, clubhuis, shop, restaurant met een kaart van 130 gerechten, events, nieuws, contact en juridische pagina's. Stack: Vite, React en TypeScript, Tailwind met shadcn/ui, een eigen Supabase project (Postgres, Auth, Storage en row level security) als backend, en Vercel met deploys vanuit GitHub bij elke merge.
Drie onderdelen wogen zwaarder dan de rest:
- Gelokaliseerde routes en slugs per taal (el-campo, the-course, le-parcours), met hreflang inclusief x-default, canonical en og:locale per taal, en JSON-LD met de echte openingstijden en het telefoonnummer van de club.
- Een WHS course handicap calculator met de officiële slope- en course rating gegevens van de RFEG voor de gewaardeerde tees, WHS afronding, Spaanse decimale komma, plushandicaps, foutmeldingen en resultaten die via aria-live worden voorgelezen.
- Een adminpaneel met Supabase Auth, rollen voor beheerder en redacteur en een nieuwsbeheerder, zodat de club publiceert zonder ons.
Hoe het nu draait
De vertalingen zijn volledig, 536 van de 536 sleutels per taal, dus geen enkele pagina valt halverwege terug op het Spaans. De hero weegt 251 KB in plaats van 1,3 MB. Voor het samenvoegen van de laatste ronde clientmateriaal deden we twee adversariële audits: 37 bevindingen en daarna 26, waarvan er 7 overeind bleven en zijn opgelost, met nul TypeScript fouten en een groene productiebuild.
De backend is het eigen Supabase project van de club in eu-west-1, voor ongeveer 10 dollar per maand, met nieuws, leads en rollen achter row level security: het publiek leest alleen gepubliceerd nieuws, medewerkers schrijven, en de contact- en eventformulieren accepteren anonieme inzendingen die alleen beheerders lezen. De site is klaar en draait op Vercel terwijl de domeinverhuizing wordt voorbereid, en we brachten eerst de DNS zone in kaart zodat de omzetting de mail van de club niet raakt. Na livegang onderhoudt Polargate de site met een maandelijks Care abonnement.
Vragen over dit project
Hoe lang duurt het om zo'n drietalige website te bouwen?
Kunnen jullie dit doen met onze bestaande boekingsengine?
Wie werkt het nieuws en de content bij na livegang?
Is de Franse versie een echte site of een automatische vertaling?
Wat kost het draaien van zo'n site als hij eenmaal live is?
Start de motor
Vertel ons in een paar korte vragen wat je bouwt. Een senior engineer antwoordt binnen twee werkdagen schriftelijk met een eerste inschatting van scope, planning en prijs.