Social accountability platform for weight loss with peer meal rating and real-time chat
A group-based weight-management app where members post meals into a small closed group, get rated by their peers in real time, and track progress through weekly leaderboards and consistency badges.
Weight-management apps have a well-known failure mode: people stop opening them. Self-tracking has no consequence, so logging drops off within weeks and a tracking product with no data has nothing left to offer. The retention problem here needed an engineering answer, not just a UX one — real-time group interaction, peer feedback loops, competitive comparison and automated nudges when someone goes quiet, all while keeping derived metrics like leaderboards and badges correct even when a user misses a few days of logging.
Small groups are also fragile. A handful of people going quiet is often enough to kill a group's activity entirely, and because rankings and ratings are visible to peers, an error in the underlying data isn't a bug report — it's an embarrassment in front of people the user knows.
Built the domain around explicit events rather than inline logic: a meal posted, a rating given, a comment added, a member joining or leaving all raise a domain event, and notification dispatch, real-time broadcast and derived-state updates all subscribe to those events instead of being written into the action itself. Everything that fans out — notifying a group when someone posts a meal — runs through queued jobs, so a user's action completes instantly regardless of group size.
The expensive, socially visible calculations — leaderboards, rankings, streak badges — are generated by scheduled processes once per window rather than recomputed on every screen load, which keeps the most-viewed screens fast and consistent for everyone looking at them at once. Missed weight entries are backfilled automatically on a schedule, with each entry recording whether it came from the user or from the system, so streaks and percentages stay continuous without quietly fabricating data. On the mobile side, server state (through a dedicated data-fetching layer) is kept separate from local UI state, which matters a lot in a feed-driven app where one action can invalidate several views at once.
Meal logging carries a real social consequence, because peers see and rate it inside a real-time group. Leaderboards and achievements stay fast and consistent for every member because they're precomputed rather than calculated per view, and a lapse in logging no longer corrupts a user's streak or ranking. Abandoned groups get pruned automatically, keeping the social surface alive rather than cluttered with dead groups.
Something holding you back?
New build, rebuild, or adding AI to what you already have — I'll take a look and give you an honest perspective.