FishingPoints Landing Page

A landing page with approximately 30 million dynamically generated pages providing weather data, optimizing it for performance, SEO, and scalability.

FishingPoints Landing Page project screenshot

Technologies Used

Nuxt.jsTypeScriptStrapi

The Challenge

The challenge was creating a scalable system that could generate and serve approximately 30 million unique landing pages (one for each fishing location worldwide) while maintaining fast load times, excellent SEO, and manageable build times. Traditional static site generation approaches would fail at this scale.

My Role & Contributions

  • Designed and implemented a hybrid static/dynamic generation strategy using Nuxt.js ISR (Incremental Static Regeneration)
  • Built an efficient data fetching system that aggregates weather and location data from multiple APIs
  • Implemented intelligent caching strategies to minimize API calls and reduce costs
  • Created a build pipeline that generates pages on-demand rather than pre-building all 30 million
  • Optimized SEO with dynamic meta tags, structured data, and sitemap generation
  • Developed a content management system integration using Strapi for managing location-specific content

Results & Metrics

Page Generation Time

< 2s

Average time to generate a new page on-demand

Cache Hit Rate

95%

Percentage of requests served from cache

Build Time

On-demand

Before: Would be daysAfter: Per-page generation

Pages generated only when needed, not pre-built

SEO Rankings

Top 3

Average ranking for location-specific fishing queries

Impact

User Impact

Users can now find detailed, location-specific fishing information for virtually any location worldwide. Each page loads quickly and provides relevant, up-to-date weather and fishing data.

Business Impact

The scalable architecture allows the platform to expand to new locations without infrastructure concerns. The SEO-optimized pages drive significant organic traffic, with location-specific pages ranking highly in search results.

The Story Behind the Code

This project pushed me to think differently about static site generation. With 30 million pages, traditional approaches simply wouldn't work. The solution was to embrace on-demand generation with intelligent caching. I designed a system where pages are generated the first time they're requested, then cached aggressively. This means we only generate pages that people actually visit, not all 30 million upfront. The caching strategy ensures that popular locations load instantly, while less-visited locations still generate quickly. The data aggregation was another interesting challenge. Each page needs weather data, location information, and fishing-specific content. I built a system that fetches this data efficiently, with fallbacks and error handling to ensure pages always load, even if one data source is temporarily unavailable. SEO was crucial since most traffic comes from search. I implemented dynamic meta tags, structured data, and a sitemap generation system that helps search engines discover and index the pages efficiently. The result is that location-specific pages rank highly for relevant searches. This project taught me that sometimes the best solution is to challenge conventional wisdom. Instead of pre-generating everything, we generate on-demand. Instead of trying to optimize for all pages, we optimize for the user experience. The technical approach serves the business goal: making fishing information accessible worldwide.

Key Features

Approximately 30 million dynamically generated pages
Optimized for performance, SEO, and scalability
Responsive design
Smooth navigation
Fast loading times
SEO-friendly
Scalable