Skip to content

Explore: Friends plugin integration for social fitness feed #154

Description

@apermo

Context

Alex Kirk's Friends plugin adds a social layer to WordPress — follow other sites, see a timeline of their posts, react, and comment. Combined with ActivityPub, it creates a decentralized social network.

For Body Refactoring, this means: a fitness feed showing your friends' workouts, achievements, and progress.

What Friends Plugin Provides

  • Follow/unfollow other Body Refactoring users (or any ActivityPub actor)
  • Timeline/feed of incoming posts from followed users
  • Reactions and comments on posts
  • Friend requests and access control

Integration Ideas

Social Feed in the App

  • Embed or link to the Friends timeline from within Body Refactoring
  • Show a "Community" tab with friends' recent workouts
  • Could be as simple as an iframe or a dedicated page template

Rich Rendering of Workout Posts

  • When a followed user publishes a br_workout post, render it as a workout card (not just text)
  • Show exercise names, completion status, streak info
  • Display achievements with badges

Mutual Motivation

  • "Cheers" / reactions on completed workouts
  • Streak comparisons (friendly, not competitive)
  • Weekly summaries: "3 of your friends trained this week"

Questions for Alex

  • Can the Friends plugin render custom post types with specialized templates?
  • Is there a hook/filter to customize how incoming br_workout posts appear in the timeline?
  • How does Friends handle posts with structured metadata — does it pass through AP object extensions?
  • Would a "Friends Feed" widget/shortcode work, or is the full Friends page the expected UX?
  • How to handle the case where a friend uses Body Refactoring but another uses a different fitness app that also speaks ActivityPub?

Privacy

  • Following is opt-in
  • Users control what they share (see CPT issue for granularity)
  • No central server sees the data — each user's WordPress is the source of truth

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions