Draft MVP scope and user flows#2
Conversation
paulchrisluke
left a comment
There was a problem hiding this comment.
Thanks for putting this draft together @aservin6 . This is a strong first planning contribution and it gives us a useful baseline to work from before anyone starts implementation.
I reviewed the current Devvit docs and want to make a few final MVP decisions so the project does not get stuck in open-ended planning.
The main decision is that we should not block MVP on automatic Reddit group chat creation. I do not currently see a documented Devvit Reddit API method for creating Reddit group chats. The Devvit-supported Reddit-native pieces we can confidently build around are:
- Devvit Redis for app storage
- Devvit Scheduler for recurring jobs
- Reddit private messages
- Reddit comments
- Devvit menu actions/forms
- Subreddit widgets
- Reddit flair APIs
- Standard Reddit post/comment surfaces
Because of that, the MVP group connection flow should use Reddit PMs and the original post/comment thread rather than automatic group chat creation.
Final MVP direction:
- Join flow
Users should be able to click Join on eligible r/ProgrammingBuddies posts.
When someone clicks Join:
- If no group record exists yet, the app creates one for that post.
- The OP becomes the group owner.
- The joiner is added to the group if the group is open and not full.
- The group/member state is stored in Devvit Redis.
- The joiner receives a Reddit PM confirming they joined.
- The OP receives a Reddit PM notifying them that someone joined.
- The original post can receive or update a status comment showing that group tracking is active.
For MVP, this should be Direct Join. We should not require OP approval in the first version unless spam or abuse becomes a real issue.
- Group coordination
For MVP, the original Reddit post/comment thread should be treated as the group coordination hub.
The app can add a comment such as:
“Group activity tracking is enabled for this post. Current members: 3/5. Members can coordinate in this thread or by Reddit PM.”
Automatic Reddit group chat creation should be moved out of MVP and marked as a future possibility only if Devvit/Reddit exposes a documented API for it.
- Storage
Please replace generic “KV” wording with “Devvit Redis.”
The MVP should track at least:
- source post ID
- group owner / OP
- member usernames
- max group size
- group status: open, full, closed, removed
- created timestamp
- last check-in timestamp
- activity streak
- latest check-in result
We do not need a perfect schema yet, but the doc should make it clear that Redis is the planned storage layer.
- Weekly check-ins
Weekly check-ins are in MVP.
Use Devvit Scheduler for one recurring weekly job that processes active groups.
The scheduler should:
- find active groups
- send PM check-ins to members
- record responses
- update streak/status fields in Redis
- mark groups as active, at risk, or inactive based on responses
We should not design this as one scheduler job per group. One weekly job should process groups centrally.
- Activity state
The MVP should have a simple activity status model:
- Active: recent positive check-in
- At Risk: missed one check-in
- Inactive: missed multiple check-ins
- Closed: closed by OP or mod
- Removed: removed by mod
This gives users and mods useful information without requiring full leaderboard/badge logic immediately.
- Mod controls
Basic mod controls should stay in MVP.
Mods should be able to:
- close a group
- remove a group from tracking
- reset a group’s streak/status
- override a group status
- disable tracking for a post
These can be implemented through Devvit menu actions/forms.
- Leaderboard and badges
Leaderboard and badges should stay in the project roadmap, but not block the first implementation.
They are still part of the overall project vision. Redis sorted sets, widgets, and flair APIs make this direction technically plausible. However, the first build should prove the Join + tracking + check-in loop before we add scoring, badges, or public rankings.
Requested doc changes before merge:
-
Add a “MVP Decisions” section near the top
-
Replace “KV” with “Devvit Redis”
-
Make Direct Join the approved MVP flow
-
Move approval-based joining to future consideration
-
Move automatic Reddit group chat creation out of MVP
-
Add “Group Coordination Thread” as the MVP connection mechanism
-
Keep weekly check-ins in MVP
-
Keep basic mod controls in MVP
-
Move leaderboard, badges, and weekly sticky recap to Phase 2
-
Add a simple activity status model
-
Add Devvit docs and Devvit Discord under Resources:
After those changes, I think this doc can become the baseline planning document for the project. Then we can split implementation into focused issues:
- Devvit app skeleton
- Redis group schema
- Join action prototype
- PM notifications
- Group status comment
- Weekly scheduler check-in
- Check-in response handling
- Mod controls
- Simple active-groups widget
- Phase 2 leaderboard/badges
|
Thanks for the detailed review. I’m working on a revision now that will:
I’ll push an updated draft shortly for another pass. |
This draft PR adds an initial
docs/mvp.mdplanning document for the first version of the Devvit group activity app.It covers:
This is intended as a discussion starting point before implementation begins.
Related issue
Relates to #1