Search & Discovery
Closegram has a general user search (with filters) and a family of recommendation engines for surfacing new people to follow: "suggested users" (the simple "who to follow" list, with a "Followed by" mutual-connections label when someone you follow already follows them), "people you may know" (with match reasons), "similar users," trending users, nearby users, and an algorithm-selectable recommendation feed. The compact "Suggestions for you" strip on the Explore page lets you dismiss individual suggestions; its "See all" link opens a dedicated Discover people page with all of these grouped into full sections. This page also covers bulk relationship actions (following, unfollowing, blocking, or removing many users at once, plus bulk-processing follow requests) from Settings → Bulk actions.
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.
Search
- Search users by name/username, with filters
- Interest-based suggestions —
interestSuggestionsmatches accounts by shared interests (topped up with broader suggestions); interests are editable in Settings → Interests (updateInterests,user.interests) - Suggested users ("who to follow"), each card showing a "Followed by [name] + N others" label when applicable
Recommendations
- "People you may know" (mutual-connections match score and reasons)
- Similar users (shared interests / activity similarity)
- Trending users
- Personalized recommended users (selectable algorithm)
- Dismiss a suggestion (X button on the Explore page's recommendations strip)
- Discover people page (
/discover-people, reached via "See all") — recommended, similar, people-you-may-know, trending, and nearby users grouped into full-page sections - Hide yourself from other users' suggestions — Settings → Privacy → Show in Explore toggle (Account privacy page) now persists through the dedicated
hideFromSuggestions/showInSuggestionsmutations rather than the genericupdatePrivacySettingsfield, so toggling it off also invalidates the caller's cached recommendation results immediately instead of only after the cache naturally expires
Bulk relationship actions
- Bulk follow / unfollow multiple users at once
- Bulk block multiple users at once
- Bulk remove followers
- Bulk accept/reject follow requests
- Bulk operation history/status/cancel (
getBulkOperationHistory/getBulkOperationStatus/cancelBulkOperation) are now backed by a realbulk_operationtable — each bulk action records its real counts and status. A live progress bar isn't needed since bulk actions run synchronously and report their result inline
Note: hashtag search and trending are a separate system — see Hashtags & Trending. The nearby-users section on the Discover people page reuses the same opt-in location data described in Location & Nearby, which remains the primary reference for that feature. Contact-based suggestions and "people you may know" sourced from imported contacts are covered in Contacts & Suggestions.
See the technical reference for GraphQL schemas, routes, source file links, and per-field wiring status.