Skip to content

Explore: Friends plugin integration for social fitness feed #154

@apermo

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions