Skip to content

Links & Feeds

This is the main content area below your tiles. Links, content feeds, and cards all live in one unified list that you can arrange however you like. A sponsored link between two feed cards? Three YouTube feeds in a row? Totally fine. The order in the wizard is the order on your page.

Click + Add content and pick a type. The picker is grouped by what each type does:

Link card

TypeWhat it does
External LinkA custom card with emoji, title, subtitle, and URL

Feed cards

TypeWhat it does
YouTubePulls your latest videos automatically
SubstackPulls your newsletter posts automatically
MediumPulls your articles automatically
PodcastPulls episodes from any podcast RSS feed
TwitchShows live/offline status, current game, and an optional link to your most recent past broadcast
EtsyPulls your shop listings automatically
Custom RSSPulls from any RSS source
BlueskyShows your recent Bluesky posts
RedditShows your recent Reddit posts, comments, or both
TraktShows what you’ve recently watched on Trakt — shows, movies, or both
BookshelfShows a row of book covers from your Goodreads or Hardcover shelves

Embedded cards

TypeWhat it does
Embedded MusicEmbeds a Spotify, Apple Music, YouTube, or SoundCloud share link
ScheduleEmbeds a Calendly or Cal.com booking page
Ko-fiEmbeds a Ko-fi donation widget

Every type can be added multiple times. Mix and match however you want.

The most flexible card type. Use these for anything with a URL: your store, a landing page, a course, a collab, a tip jar.

FieldDescription
EmojiAn icon displayed on the card
TitleThe link name
SubtitleA short description below the title
URLWhere the link goes
BadgeAn optional label (see below)
Accent ColorThe card’s color theme

Badges are small labels on a link card. Options include Sponsored, Limited time, New, Sale, or a custom label you type yourself. Leave blank for no badge.

A word of advice: use badges sparingly. One or two on a page draw the eye. Five makes them all invisible.

Shows your latest videos with thumbnails. Visitors see your recent uploads without you lifting a finger.

FieldDescription
Channel NameDisplay name for the card
Channel URLYour YouTube channel URL
Channel IDYour YouTube Channel ID (starts with UC). Find yours here.
Videos to Show1 to 5 recent videos
Accent ColorCard color theme

The Channel ID is the part people get stuck on. It’s not your channel name or URL. Go to youtube.com/account_advanced and look for the string starting with UC.

Shows your latest newsletter posts.

FieldDescription
Newsletter NameDisplay name for the card
Feed URLYour Substack feed URL (e.g., https://you.substack.com/feed)
Posts to Show1 to 5 recent posts
Accent ColorCard color theme

Make sure the feed URL ends in /feed. That’s the RSS endpoint Beacon reads from.

Shows your latest articles.

FieldDescription
UsernameYour Medium username (include the @)
Posts to Show1 to 5 recent articles
Accent ColorCard color theme

Pulls recent episodes from any podcast RSS feed. Works with any podcast host (Anchor, Buzzsprout, Transistor, etc.) as long as you have the RSS URL.

FieldDescription
Podcast NameDisplay name for the card
RSS Feed URLYour podcast’s RSS feed URL
Episodes to Show1 to 5 recent episodes
Accent ColorCard color theme

Shows whether you’re live right now, with a pulsing LIVE badge when you’re streaming.

When you’re live, the subtitle reads Twitch · {game} · {uptime} (e.g. Twitch · Diablo IV · 2h 3m). When you’re offline, it reads Twitch · Last played: {game} if a game is known, or just Twitch for accounts that have never streamed.

FieldDescription
UsernameYour Twitch username
Recent stream linkOptional. When set to Show, a sublink appears under the card linking to your most recent past broadcast (VOD). Default is hidden.
Accent ColorCard color theme

The status check runs every 60 seconds while a visitor is on your page. The VOD sublink (when enabled) loads once per page view — VODs don’t change minute-to-minute.

Twitch’s data comes from decapi.me, a free third-party service. No credentials needed. If decapi is briefly unreachable, the card keeps its last-rendered state rather than going blank.

Shows your recent shop listings.

FieldDescription
Shop NameYour Etsy shop name
Listings to Show1 to 5 recent listings
Accent ColorCard color theme

Pulls content from any RSS source: a blog, a news site, a niche feed. If it has an RSS URL, Beacon can display it.

FieldDescription
Feed NameDisplay name for the card
Feed URLThe RSS feed URL
Icon NameIcon identifier
Items to Show1 to 5 recent items
Accent ColorCard color theme

Shows your recent Bluesky posts. Each row has the post text (clamped to 3 lines), an inline image thumbnail when the post has images, and a relative timestamp.

FieldDescription
Bluesky handleYour bare handle — no @, no URL. Custom domains work too (e.g. dpb.me).
Display nameOptional. When set, shows as the card title with @handle underneath. When blank, the title is @handle and the subtitle reads “Bluesky.”
ShowWhat to include: posts only, posts + replies, posts + reposts, or everything. Default is posts only.
Posts to show1 to 5 recent posts
Accent ColorCard color theme

No credentials. Bluesky’s public API is open and friendly to direct browser access, so the card fetches without going through any proxy.

Shows your recent Reddit activity. Choose posts, comments, or both — when you pick “both,” they’re interleaved by date.

FieldDescription
Reddit usernameYour bare username — no u/, no URL.
ShowPosts, comments, or both. Default is posts.
Items to show1 to 5 recent items
Accent ColorCard color theme

No credentials. The card fetches Reddit’s public per-user RSS feed through Beacon’s feed proxy.

A small caveat: Reddit can be touchy about rate limits. If your card occasionally appears empty, it usually means Reddit briefly throttled the request — reload or check back in a moment. The header (with click-through to your profile) stays visible either way.

NSFW posts and comments will appear in the card if they’re in your recent activity. There’s no NSFW filter in this version.

Shows what you’ve recently watched. Episodes render as Show · S2E5 · Episode title. Movies render as Movie · year.

FieldDescription
Trakt usernameThe slug from your trakt.tv/users/{slug} profile URL.
Trakt client IDA free read-only key you generate at trakt.tv/oauth/applications. Takes about a minute.
ShowShows, movies, or both. Default is shows.
Items to show1 to 5 recent items
Accent ColorCard color theme

Why your own client ID? Trakt requires a key on every request. Beacon could ship a shared one, but its rate limit is per key — heavy usage from one site would throttle everyone else’s. Bringing your own keeps your card’s quota independent.

The card doesn’t show poster artwork. Trakt removed image embedding from their public API in 2017, and pulling posters from a different source would mean another credential to manage. Text-only rows match the rest of Beacon’s feed cards.

Shows a horizontal grid of book covers (3 to 8) from one of your reading shelves. Pick your source with the segmented control — Goodreads or Hardcover.

GoodreadsHardcover
CredentialsNumeric user IDAPI token from hardcover.app/account/api
Update modelLive — fetches every page loadSnapshot — captured when you click Refresh snapshot
Available shelvesRead, Want to read, Currently reading, DNFSame four, plus your own custom lists
Cover sizeSmallerLarger (higher quality)

Bookshelf is different from the Now Reading tile. Now Reading shows the one book you’re reading right now. Bookshelf shows several books from a chosen shelf — for “what I’ve been reading lately,” “TBR,” “best of 2025,” and so on. You can add multiple Bookshelf cards to a page, each with its own source and shelf.

Goodreads source

FieldDescription
Goodreads user IDThe numeric ID from your profile URL — for goodreads.com/user/show/140474195-yourname, the ID is 140474195.
ShelfRead, Want to read, Currently reading, or Did not finish
Books to show3 to 8 covers
Service URLOptional. Override under Advanced if you run your own PirateReads instance.

Hardcover source

FieldDescription
Hardcover tokenYour API token from hardcover.app/account/api.
ShowStatus (one of the four shelves) or Custom list (one of your own Hardcover lists).
Status shelfWhen “Status” is picked: Read, Want to read, Currently reading, or DNF.
Custom listWhen “List” is picked: a dropdown populated by clicking Load lists after you paste your token.
Books to show3 to 8 covers
Refresh snapshotButton. Click to capture the current shelf contents and bake them into your built site.

The Hardcover source uses snapshot mode — the wizard captures the shelf when you click Refresh snapshot, and your token never reaches your published site. To update the shelf after starting or finishing a book, or editing a list on Hardcover, re-open the wizard and click Refresh snapshot.

If you fill out one source’s fields, switch to the other and fill those out too, then switch back, your original inputs are still there. Switching sources isn’t destructive.

A few content types render as iframe embeds — Beacon hands the visual treatment off to the source platform’s own player or widget. Embedded Music, Schedule, and Ko-fi all use this pattern.

These cards skip Beacon’s usual card chrome (icon tile, header, divider) on purpose. Spotify, Apple Music, Calendly, Ko-fi, and the rest already paint complete branded experiences inside their iframes — wrapping that in another card produced a “logo on logo” double-card effect, so we let each embed stand on its own.

A few things to know:

  • The card’s accent color doesn’t appear on the deployed page. Beacon’s palette can’t reach inside the iframe.
  • Card heights are set per provider. If you stack different providers, the cards will be visually different sizes. Intentional — each provider’s iframe is designed for its own native size.
  • Click-throughs to the source page are handled inside the iframe (Spotify’s logo pip, Apple’s “View in App” button, Calendly’s branding, etc.).
  • Embeds are heavy — the iframes pull a few hundred kilobytes each. Beacon lazy-loads them so they don’t fetch until they scroll into view.

Embeds a music share link as a featured player on your page. Different from the Now Playing tile — that one shows what you’re listening to right now. Embedded Music is manually curated: you pick a specific track, album, playlist, or video to feature.

FieldDescription
Share URLA share link from one of the supported providers (see below)
Theme (experimental)auto, dark, or light. Provider support varies — see note.
Accent ColorPersisted but doesn’t affect the deployed page

Supported providers and where to copy the share link:

ProviderWhere to copy from
Spotify”Copy link” on any track, album, playlist, artist, episode, or show
Apple Music”Share → Copy Link” on any album, playlist, song, or station
YouTubeA standard youtube.com/watch?v=…, youtu.be/…, or youtube.com/playlist?list=… URL. Music videos on music.youtube.com work too.
SoundCloudA track URL, set/playlist URL, or artist page URL

If you paste a URL Beacon doesn’t recognize, the wizard’s Verify step flags it before you can build.

About the theme picker. Iframe theming is patchy. Spotify currently shows dark regardless of the choice. Apple Music respects dark and light via undocumented parameters that may break without warning. YouTube and SoundCloud ignore the picker entirely (their iframes follow the visitor’s own preferences). The picker is labeled “experimental” because that’s what it is — a “just in case” lever for the cases where it does work.

Embeds a booking page from Calendly or Cal.com. Visitors can book a slot directly on your Beacon without leaving the page.

FieldDescription
Booking URLYour Calendly link (e.g. calendly.com/yourname/30min) or Cal.com link (e.g. cal.com/yourname)
Accent ColorPersisted but doesn’t affect the deployed page

If you use both Calendly and Cal.com, add two separate Schedule cards. There’s no “fallback to my other booking app” feature.

Embeds a Ko-fi donation widget for tipping or one-time supports.

FieldDescription
Ko-fi URLYour ko-fi.com/yourname profile link
Accent ColorPersisted but doesn’t affect the deployed page

The embed includes Ko-fi’s full donation panel with payment options. Apple Pay and Google Pay work inside the iframe.

Drag any item by its handle to change the order. Links and feeds can be mixed freely.

Keyboard shortcut: Tab to a drag handle and press the up or down arrow to move that item. The handle re-focuses on the moved item so you can keep adjusting.

Click Edit to expand an item’s settings inline. Save to keep changes, Cancel to discard. Opening a different item’s editor while one is already open auto-saves the open one — you don’t have to remember to save first.

The trash icon turns the row into an inline confirmation that names what you’re removing — for example, Remove this YouTube feed? or Remove this Substack feed? Default focus is on Keep; pressing Enter accidentally won’t delete anything. Escape also cancels.

Most feed cards (YouTube, Substack, Medium, Podcast, Etsy, Custom RSS, Reddit) fetch the latest content every time someone visits your page, routed through Beacon’s feed proxy. Publish something new and it shows up within minutes. No rebuilding needed.

Twitch, Bluesky, and Trakt also fetch live but talk directly to their platforms — no proxy needed.

Bookshelf depends on which source you picked: Goodreads fetches live every page load; Hardcover uses snapshot mode (refresh in the wizard, then rebuild).

Embedded cards (Embedded Music, Schedule, Ko-fi) load their iframes from the source platform on every page load.

Most tiles fetch live on every page load too:

TileData sourceUpdate frequency
Now PlayingLast.fm or ListenBrainzEvery 30 seconds (polling)
Now Reading (Goodreads)PirateReadsEvery page load
LetterboxdRSS via Beacon’s proxyEvery page load
GitHubGitHub public APIEvery page load
Chess.comChess.com public APIEvery page load
WeatherOpen-Meteo APIEvery page load
CountdownLocal calculationReal time

Now Reading (Hardcover) and Steam work differently — they use snapshot mode. The wizard captures your current book or game data when you click Refresh snapshot, and the result is baked into your built site. They don’t update on their own; refresh in the wizard, then rebuild and redeploy. See Tiles for details.

Custom tiles are static. They display whatever you typed in the wizard and link wherever you pointed them.

Beacon pulls content from external platforms every time someone visits your page. Occasionally, a platform like YouTube or Substack has downtime. When that happens, Beacon handles it automatically.

If the feed loaded successfully at any point in the past 24 hours, your visitors still see your content. It might be a few hours old, but the card looks and works normally.

If there’s no recent version available (for example, a brand-new feed that hasn’t loaded successfully yet), the card shows your platform name, icon, and a link to your profile. Your visitor can still click through to your channel or page. When the platform recovers, the full card returns on the next page load. No action needed.

If a card isn’t showing your content, open your feed URL directly in a browser:

  • YouTube: https://www.youtube.com/feeds/videos.xml?channel_id=YOUR_CHANNEL_ID
  • Substack: https://yourname.substack.com/feed
  • Podcast: your RSS feed URL

If you see XML content, the feed is working and the issue is likely a configuration typo in the wizard. Double-check your Channel ID, username, or feed URL.

If you see an error, the platform is down. Give it time. Your page is still functional in the meantime.