Developers & API

Technical documentation for integration and collaboration with Swimmigo.

πŸ—οΈ Architecture

Swimmigo is built as a modern web application with mobile apps for iOS and Android. The architecture follows JAMstack principles with server-side rendering for optimal SEO and performance.

Tech Stack

  • Framework: Next.js 15+ (App Router), TypeScript
  • Styling: Tailwind CSS, Framer Motion
  • Database: MongoDB Atlas β€” multi-collection architecture per language (blog_posts_nl/en/de/fr/es)
  • Hosting: Vercel (automatic HTTPS, global CDN, ISR caching)
  • Mobile: React Native β€” iOS (App Store) + Android (Google Play)
  • Analytics: Google Analytics 4

🌍 Multi-Language Architecture

Swimmigo supports 5 languages via a single domain (swimmigo.com). The architecture uses Next.js middleware for language detection and routing:

LanguageURL PrefixCollection
Nederlands πŸ‡³πŸ‡±/nl/blog_posts_nl
English πŸ‡¬πŸ‡§(default, none)blog_posts_en
Deutsch πŸ‡©πŸ‡ͺ/de/blog_posts_de
FranΓ§ais πŸ‡«πŸ‡·/fr/blog_posts_fr
EspaΓ±ol πŸ‡ͺπŸ‡Έ/es/blog_posts_es

Blog posts are automatically translated daily from Dutch to all other languages via OpenAI GPT-4.1-mini. Matching is done via the <code>baserowId</code> field.

πŸ“Š Structured Data & SEO

All pages implement JSON-LD structured data for optimal visibility in Google Search, Google AI Overviews, and AI chatbots:

  • Organization β€” with logo, contact info, sameAs profiles
  • WebSite β€” with SearchAction and Speakable specification
  • BlogPosting / Article β€” with author, publish date, image
  • FAQPage β€” with Question/Answer pairs per blog post
  • BreadcrumbList β€” for navigation context

πŸ€– AI Readiness

Swimmigo is optimized for AI crawlers and LLM indexing:

  • robots.txt β€” Explicit access for GPTBot, ChatGPT-User, Google-Extended, PerplexityBot, ClaudeBot, OAI-SearchBot, Applebot, Meta-ExternalAgent
  • llms.txt β€” swimmigo.com/llms.txt
  • llms-full.txt β€” swimmigo.com/llms-full.txt β€” Full sitemap with all 94+ blog posts
  • sitemap.xml β€” Dynamically generated with hreflang alternates for all 5 languages
  • image-sitemap.xml β€” Blog images for Google Images

πŸ”Œ API Endpoints

Swimmigo offers the following public API endpoints:

EndpointDescription
GET /api/cms/slug-mapFull slug map for all blog posts per language
POST /api/contactContact form endpoint
POST /api/indexnowIndexNow protocol for direct search engine indexing
GET /sitemap.xmlDynamic sitemap with all pages and blog posts
GET /image-sitemap.xmlImage sitemap for Google Images indexing

πŸ“¬ Contact

For technical questions or integration requests: <a href="mailto:hello@swimmigo.com">hello@swimmigo.com</a>