Een ontwikkelaar heeft een gratis, doorzoekbare index uitgebracht die elke zeehaven en luchthaven ter wereld vermeldt — 3.804 havens en 9.640 luchthavens — zonder dat daar een registratie of betaling voor nodig is. De site, theportindex.online, stelt gebruikers in staat de gegevens te doorzoeken of de volledige dataset te downloaden in CSV- of JSON-formaat.

Waarom de index nodig was

De maker wilde een schone, actuele lijst van de zeehavens ter wereld vinden, maar liep tegen een muur aan: de meeste commerciële aanbiedingen zitten achter een betaalmuur en de publiekelijk beschikbare lijsten zijn vaak jaren verouderd. Het vertrouwen op onvolledige of verouderde gegevens dwingt analisten om urenlang spreadsheets op te schonen, een kostenpost die binnen de hele sector oploopt. Door drie publieke bronnen samen te voegen — een Amerikaanse overheidsindex van havens, een internationale directory voor locatiecodes en een door de community onderhouden database van luchthavens — heeft de ontwikkelaar een enkele, verenigde referentie samengesteld die iedereen direct kan gebruiken.

De gegevensbronnen achter de schermen

  • NGA World Port Index – een compilatie van de Amerikaanse overheid die basisgegevens biedt voor elke erkende zeehaven.
  • UN/LOCODE – het locatiecodesysteem van de Verenigde Naties, dat gestandaardiseerde identificatiecodes toevoegt voor havens en luchthavens.
  • OurAirports – een door de community onderhouden collectie luchthaveninformatie, inclusief de lengte van startbanen en coördinaten.

Elke bron biedt een ander deel van het totaalplaatje, maar geen enkele bron biedt op zichzelf een direct bruikbare, doorzoekbare catalogus. Het samenvoegen ervan vereiste meer dan alleen kopiëren en plakken; de ontwikkelaar moest inconsistenties, dubbele vermeldingen en ontbrekende velden oplossen.

De gegevens opschonen: drie hard wonen lessen

  1. Ingebedde regeleinden breken naïeve parsers – CSV-bestanden die regeleinden bevatten binnen aangequoteerde velden, kunnen niet worden gesplitst met een eenvoudig split on newline-commando. Een goede CSV-parser is essentieel om rijen intact te houden.
  2. Uitschieters verbergen fouten – sommige olie-terminals vermelden dieptes van 900 meter, een getal dat hoort bij boeien en niet bij havens. Het filteren van onwaarschijnlijke getallen was noodzakelijk om de op diepte gebaseerde ranglijsten geloofwaardig te houden.
  3. Nullen zijn vaak tijdelijke aanduidingen – een diepte die als nul is geregistreerd, betekent meestal dat de meting onbekend is, en niet dat het water vlak is. Door nul te behandelen als ontbrekende gegevens, blijft de integriteit van elke analyse die op diepte is gebaseerd behouden.

Waarde toevoegen bovenop de ruwe cijfers

De index doet meer dan alleen coördinaten vermelden. Voor havens vertaalt het de diepte naar de klassen schepen die veilig kunnen aanmeren, waardoor een enkele metriek wordt omgezet in een praktisch hulpmiddel voor besluitvorming. Voor luchthavens wordt de lengte van de startbaan gekoppeld aan de typen vliegtuigen die daar kunnen opereren, wat piloten en planners een direct overzicht geeft van de mogelijkheden.

Een ruimtelijk raster koppelt elke haven aan de dichtstbijzijnde luchthavens en vice versa, waardoor de site een ontdekkingsinstrument wordt. Gebruikers kunnen bijvoorbeeld ontdekken welke luchthavens op korte rijafstand van een bepaalde haven liggen — een functie die nuttig is voor multimodale vrachtplanning.

Een static-site engine op schaal bouwen

De volledige front-end draait op Next.js met statische generatie. Tijdens het build-proces worden ongeveer 14.000 pagina's — één voor elke haven en luchthaven — vooraf gerenderd. Omdat er geen database of server-side logica is, maakt de site geen doorlopende rekenkosten; de site draait op een content delivery network (CDN) dat pagina's wereldwijd direct serveert.

SEO-valkuilen en de oplossing voor "thin content"

Het uploaden van duizenden sjabloonpagina's kan alarmbellen doen afgaan bij zoekmachines, die de site als "thin content" (magere inhoud) kunnen beschouwen en de rangschikking kunnen straffen. De ontwikkelaar liep tegen dit probleem aan toen een AdSense-aanvraag werd afgewezen. De oplossing was om de volledige set pagina's live te houden voor bezoekers, maar een noindex-instructie toe te voegen aan alle pagina's behalve de top 400 kwalitatief hoogwaardige pagina's in elke categorie. Dit vertelt crawlers dat alleen de meest waardevolle pagina's in de zoekresultaten moeten verschijnen, waardoor de geloofwaardigheid behouden blijft terwijl de volledige dataset nog steeds beschikbaar is.

Wie profiteert ervan en wat de beperkingen zijn

  • Logistieke bedrijven kunnen snel controleren of een vrachtschip binnen de dieptelimieten van een haven past zonder door meerdere PDF's te moeten spitten.
  • Luchtvaartplanners krijgen direct toegang tot de koppeling tussen startbaanlengte en vliegtuigtype, wat nuttig is voor haalbaarheidsstudies van routes.
  • Ontwikkelaars en onderzoekers ontvangen een schone, machineleesbare dataset die kan worden geïmporteerd in aangepaste tools.

Wat is de volgende stap voor het project

De maker vraagt de community om feedback over extra functies.

Kernboodschap

Door de hoofdpijn van data-opschoning aan te pakken, inference-lagen toe te voegen en serverkosten te omzeilen met statische generatie, laat de ontwikkelaar zien dat een lean architectuur een wereldwijd nuttige tool kan leveren — mits je bereid bent periodieke updates te accepteren en de richtlijnen van zoekmachines in de gaten te houden.