What's new in a surf town
town_feedThe town's Feed: what's new there, and what Swell Cabin's data says. insights: Swell Cabin's own cards worked out from the live forecast and what's on (today's surf in plain words, the best day this week with a 7-day wave chart, go early before the wind, swell building or dropping, a beginner or experts-only day with the spots for that level, what's on tonight, upcoming events, the season and the wetsuit for this month), each { key, kind, label, title, text, chart? }. posts: recent public Bluesky and Mastodon posts about surfing the town (text, photo or link, likes, replies, link to reply). recentVideos: YouTube videos about surfing the town from the last 30 days, newest first (at most two per channel), with links to watch, whether each is portrait (a Short), its duration in seconds, views and likes; videosAt: when they were fetched from YouTube (each town's videos are fetched at most once a day, the every-town ones every 12 hours, to stay within YouTube's quota; null when there are none yet). instagramPosts: the latest posts from the town's Instagram pages and its region's (instagramAccounts: e.g. the surf club, surf schools and shops, and regional pages such as a national surf-cam network, which carry region "zone:…" or "country:XX"; pages are found and ranked from measured activity, engagement, surf focus and the places their posts name), newest first (at most 4 from one page), with likes, comments, video (every reel's mp4 to play: from Business Discovery, or from the reel's public embed page when that leaves it out) and a link to like or comment on Instagram. articles: the newest articles from the major surf magazines (Surfer, Stab, BeachGrit, Surfer Today, The Surfer's Journal, Tracks, Carve, SurfGirl, Freesurf, Eastern Surf, Zigzag, and in French, Portuguese and Spanish Surf Session, ONFIRE, Waves and Surfer Rule; never Surfline) that name the town or one of its breaks (an article about Pipeline is Haleiwa's, one about Cloud 9 General Luna's), from the last 21 days, newest first: { magazine, name, title, summary, url, image, publishedAt, tags, towns (every town it names, most prominent first), town }. Every video and post has passed Swell Cabin's quality check first: hotel, villa and rental ads, property for sale, transport and transfer guides, children's videos, video games, TV, live-cam recordings and upcoming streams, posts nobody watched or liked after a fair chance, posts with too little to show, reels Instagram plays only in its own app (licensed music), Bluesky/Mastodon posts that say surf only in their hashtags or don't name the town, and the same post again from one account are left out; promos and clickbait are kept but ranked lower (quality below 1, with qualityFlags). quality: { checked, kept, dropped: { reason: count } }; review: true also lists what was left out and why (dropped). classics: surf clips a person picked for the town's breaks (or every town's with town "all"), what the site's Feed goes on with once everything new is shown. Every video, post and classic says which languages it's written in (langs, ISO 639-1 codes, main first; none when it's too short or too full of names to tell); the site shows each visitor only what's in English or in their own language (the page's, or one their browser is set to) and what's too short to tell; languages does the same here (e.g. ["pt"]: English, Portuguese and the unsure ones). Share the links and the town's Feed page so the user can watch. town "all" gives the same across every town (no insights), each item with its town slug and page, every magazine article (one about none of our towns has no town: general surf news), plus top: the home Feed's mix ranked across towns by engagement (likes, comments, views), quality and freshness, Instagram and videos before Bluesky/Mastodon, articles about a town before general surf news (which is spaced out, at most one card in ten; any article at most one in four), automated alert accounts left out; exclude leaves towns out.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| town | Yes | Town slug, or "all" for what's new across every town (the home page's Feed; each video and post then names its town). | |
| limit | No | ||
| review | No | Also list the videos and posts the quality check left out, with why (dropped). | |
| exclude | No | With town "all": town slugs to leave out. | |
| languages | No | The languages the user reads (ISO 639-1 codes, e.g. ["pt"] or ["he"]): leaves out videos and posts that are in neither English nor one of these, as the site does for each visitor. Leave out for every language. |