Skip to main content

Posts & Feed

Posts are the primary content unit in Closegram. They support multiple media items, granular visibility, and 6 reaction types.

Each property has its own checkbox marking whether that specific piece is fully implemented and functional end to end (frontend + backend) — update these yourself as work lands; this page won't overwrite them.

  • Personalized home feed (a post you just published yourself is pinned to the top of your own feed for a few minutes, so it shows up immediately)
  • Comment reactions — react to comments/replies with 👍 ❤️ 😂 😮 😢 😡 (quick-tap = like, press-and-hold = picker); reactToComment, PostComment.viewerReaction/reactionCounts. (Also fixed a bug where comment likes never persisted — wrong DB column in the interaction lookup.)
  • Like a post
  • Comment on a post
  • Repost a post
  • Share a post (GraphQL mutation) — served by repostPost(postId, text) (resolver post.resolver.js), wired in the web via PostCard.tsx / PostModal.tsx / ClipsPage.tsx
  • Share/copy a post link (native share sheet / copy link)
  • Create a post with image/video
  • Tag people in a post (tap-to-tag on a photo, or without a pin on a text-only post)
  • Explore/discover page
  • Trending posts (recent public posts ranked by engagement, a separate tab on Explore from the personalized feed)
  • Content-interest tracking by tag — every view/like/comment/share/save records a per-tag interest signal (user-interest.manager.js#trackContentTagInterest, called from the interaction/comment/saved-post/watch-history managers) that feeds Suggested content

See the technical reference for GraphQL schemas, routes, source file links, and per-field wiring status.