Skip to content

Feed & Content

The feed section is the core social experience of Honeycomb. It includes the main timeline, content discovery, saved items, draft management, stories, and the single-post detail view.

RouteFileDescription
/feed(app)/feed/+page.svelteMain social feed timeline
/explore(app)/explore/+page.svelteDiscover content and trending posts
/post/[id](app)/post/[id]/+page.svelteSingle post detail with comments
/bookmarks(app)/bookmarks/+page.svelteUser’s bookmarked posts
/drafts(app)/drafts/+page.svelteUnpublished draft posts
/stories(app)/stories/+page.svelteStories feed
/stories/[userId](app)/stories/[userId]/+page.svelteView a user’s stories
/notifications(app)/notifications/+page.svelteActivity notifications

All routes are protected and require authentication plus completed onboarding.

The main feed is the default landing page for authenticated users (AUTHENTICATED_REDIRECT = "/feed"). It displays a reverse-chronological timeline of posts from followed users and suggested content.

  • Post creation happens inline at the top of the feed
  • Infinite scroll pagination via the /api/feed endpoint
  • Posts support text, images, video, polls, and link previews
  • Each post shows reactions, comments, bookmarks, and share actions
  • The feed API route lives at (app)/api/feed/
API routePurpose
(app)/api/posts/Create a new post
(app)/api/posts/[id]/Update or delete a post
(app)/api/feed/Paginated feed data
(app)/api/reactions/Add/remove reactions
(app)/api/bookmark/Toggle bookmark on a post
(app)/api/polls/Create and vote on polls
(app)/api/link-preview/Fetch Open Graph data for URLs
(app)/api/stories/Create and manage stories

The explore page shows trending and recommended content the user has not seen. It helps users discover new accounts and posts outside their follow graph.

The post detail page renders a full post with its complete comment thread. The +page.server.ts fetches the post by ID along with author profile data, reactions, and nested comments.

  • [id] — The post’s UUID, passed as params.id in the server load function.

Displays all posts the user has bookmarked, loaded via a server-side query filtering the user’s bookmark records. The bookmark toggle is powered by the (app)/api/bookmark/ endpoint.

Lists posts the user has saved as drafts (not yet published). Drafts can be edited and published from this view.

Stories are ephemeral content (images/short video) that expire after 24 hours. The stories feed shows circles for users who have active stories. Tapping a circle opens the fullscreen story viewer.

  • /stories — The stories feed showing all active stories from followed users.
  • /stories/[userId] — Fullscreen viewer for a specific user’s story sequence.

Displays the user’s notification history — follows, likes, comments, mentions, and system alerts. The unread count badge in the sidebar is powered by data from the (app)/+layout.server.ts load function.

The notification list endpoint at (app)/api/notifications/list/ provides paginated data, while (app)/api/notifications/ handles marking notifications as read.