Lee Schwartz · July 30, 2026
Feel free to agree or disagree with anything we’ve updated.
Hi guys…
So I read the whole email thread, went through the prototypes & attachments. Then I ran the concept through a full product definition pass with my agents and main developer. This included a review of how comparable products solved the same problems, and wrote the result up as a PRD (product requirements document) that I can share once we agree on the below features/phases/steps.
This letter is sort of a change log: what the current draft specifies, what the analysis recommends, and what's behind each recommendation. Every change is labeled by how much reasoning sits under it:
PRECEDENT means there's a documented case where this worked and it's named.
REASONING means it's a structural argument that holds up on its own logic, but there's no direct precedent.
UNVALIDATED means nothing supports it yet. Throw those out freely. Nobody's defending them.
The weak ideas are in that third bucket on purpose. If everything got dressed up as essential you'd have no way to tell which ones matter.
A good chunk of the existing work held up better than anything the review produced against it, and it's in the PRD close to verbatim.
The match integrity model. How a match gets stored and trusted, as one shared canonical event instead of each person keeping their own contradictory copy. Those rules cover the cases that quietly sink this kind of product: both players logging the same game, a confirmed score getting edited later, someone saying "that's not me," someone deleting their account while their opponent's history still has to survive. That's the genuinely hard part of this product and it's already solved. It's section 7 of the PRD, mostly as written.
The scoring strategy. Sport preset, then canonical outcome, then flexible score detail. That's the right path. It handles tennis sets and golf strokes and ties and forfeits without pretending we can officiate every sport on earth.
Splitting "played" from "attended." The original thread said people "play or attend" games, and mixing the two poisons every stat downstream. Win rate, rivalry records, all of it. Catching that early is worth a lot. Attendance becomes its own event type later and never touches the match record.
The north star metric: confirmed matches per weekly active rivalry. Nothing in the review beat it. It measures real play, repeat relationships, and trust in one number, and it's hard to fake.
The privacy and safety work carried over intact, as did the discipline of writing testable acceptance criteria before building.
So the changes below are narrow. The foundation is unchanged.
Current draft
Log a game, save it, optionally share a recap card.
Recommended
The loop is play, log, confirm, brag, rematch.
Here's the problem the analysis surfaced. As currently designed, the app is a private journal, and nothing in it causes a second person to find out it exists. Growth has to come entirely from paid acquisition or luck.
But a game already contains other people. That's the asset sitting unused. Every result logged is a legitimate reason to contact someone, and that person has a selfish reason to answer, because it's their record too.
So I log that I beat Dev 6-3, 6-2. Dev gets a note: "Lee says he beat you 6-3, 6-2. Confirm the score and see your all-time record." He has to engage. His own record is on the line. He confirms, the head-to-head updates, and the main button on that screen is Rematch, not Like.
One change, two problems solved. The app gets a growth mechanism that fires on every entry, and the head-to-head number becomes trustworthy. That second part matters more than it sounds, because a record only one guy entered isn't worth bragging with.
PRECEDENT This is the pattern behind Venmo, Splitwise, DocuSign, Calendly, and shared Google Docs. In every one of them the core action requires another person, so the transaction is the invitation. None of them grew on an "invite your friends" button. Venmo is the closest analog, since a payment needs two people and every payment recruits.
Current draft
"Share recap card."
Recommended
Three card types in the MVP. Result cards, milestone cards generated from real history (rivalry tied, lead change, 10th or 25th or 50th match, streak broken), and streak or roast cards.
PRECEDENT Wordle is the cleanest case in recent memory. It had roughly 90 players on November 1, 2021. The shareable emoji grid got added that December. By January 11, 2022 it was over 300,000 players, and within a few more weeks it was in the millions. The New York Times bought it February 1. The game itself never changed during that climb. No marketing, no app, no notifications. The share artifact was the growth engine.
The lesson isn't "add a share button." Wordle had a specific artifact that was legible to people who'd never played, said something about the sender, and made you want your own. A card that reads "Lee defeated Dev 6-3, 6-2" is accurate and inert. Nobody screenshots a scoreboard.
Current draft
An annual recap page with games played, friends played with, win rate, favorite sport, best month, and a share button.
Recommended
A tappable sequence where each card stands alone and is independently shareable. It ships thin and gets deeper every year.
PRECEDENT Spotify Wrapped. The widely reported figures: around 60 million Wrapped stories shared across social platforms in 2021, a reported 21% jump in Spotify mobile downloads during the first week of December, and by 2025 over 500 million shares inside about 24 hours. Those are secondary-source marketing numbers, not Spotify's audited figures, so treat them as directional. Letterboxd and Strava both run the same play every year, which tells you it works past music.
The raw material here is better than Spotify's. They have song titles. We have real opponents, real photos, real rivalries, real places. Rendering that as a dashboard leaves the best free advertising in consumer software on the table.
Current draft
Tone controls exist (neutral, playful, spicy), but the framing throughout is harm mitigation.
Recommended
Same controls, same guardrails, treated as a growth feature instead of a liability.
That includes a roast card: "Mike has dropped 6 straight to Lee." Generated for the winner to send. Never auto-published. Never delivered to the loser by the system. The loser can hide it from his own profile without erasing the shared result. No public shaming leaderboards, ever.
PRECEDENT for the general principle: Berger and Milkman, "What Makes Online Content Viral?" in the Journal of Marketing Research, 2012. They analyzed every New York Times article over a three-month window and found high-arousal emotional content gets shared substantially more than low-arousal content, then confirmed it experimentally. Emotional activation drives sharing. Neutral and accurate sits still.
REASONING that roasting is the right high-arousal emotion here. The research doesn't prove that part. But it's how friend-group trash talk already works, and the target user already jokes about the record. What makes it safe is that the app supplies the ammunition and a friend decides to fire it. The app never invents hostility on its own.
The existing guardrails are all correct and every one of them stayed in. The only change is the appetite, which currently sits low enough to produce cards nobody sends.
Current draft
Private groups in Phase 2, ladders and seasons in Phase 2.
Recommended
Same placement, but specified in full, with a written trigger to move it earlier.
PRECEDENT Fantasy football is this exact mechanic and it's a category worth billions. A friend group, a season, standings, a champion, constant trash talk. Nobody plays fantasy alone. The season is what makes you show up this week.
REASONING on why it matters here. Confirmation invites are pairwise. When I log a match against Dev, one person gets invited, and it's someone I already know and already played. That grows, but in a straight line. A crew invites seven people in one action, and it matches how recreational sports actually happen. Nobody plays in isolated pairs. They play in standing groups at a standing time.
Crews also fix something a journal can't. The app has no clock. A journal is never urgent, so there's no reason to open it today instead of next month. An 8-week crew season with standings creates that reason out of data we're already collecting.
It stayed in Phase 2 because crews multiply a loop that works and can't rescue one that doesn't. Prove confirmation first. But it's fully specced in section 9.1, and the trigger is written down: if testers ask for group standings, or keep manually tagging the same four guys, it moves into the MVP. Your call at that point. The point of speccing it now is that you're holding the whole picture instead of a bullet.
Current draft
Premium individual features (unlimited photos, advanced analytics, recaps), organizer tier later.
Recommended
Same list, but organizer-pays get prioritized once crews ship.
PRECEDENT One payer, many free users is a well-worn shape. Slack, Evite, Doodle, and every fantasy platform where the commissioner pays. It converts the most motivated person in the group, it monetizes the features that actually cost us money to run, and it leaves every growth surface free. Individual premium on a memory app is a harder sell, because what you're charging for is access to somebody's own history.
Current draft
Reactions and comments in Phase 2, "only if user research supports them."
Recommended
Comment threads on each match in the MVP, scoped to participants. Not a public feed, not general messaging.
REASONING The behavior being captured is friends arguing about a game, which is a conversation, and the current draft gives it nowhere to happen. So it happens in the group text instead. We get the data and lose the engagement. A result with silence around it is a dead room.
No precedent to point to cleanly. Letterboxd and Untappd both have comments, but there's no way to show that's what drives their retention.
Current draft
Venue as plain text in the MVP, with discovery and booking listed as non-goals.
Recommended
Venue becomes a structured entity in the MVP, with a canonical name, coarse location, and venue pages showing your history and record there. Discovery, booking, reviews, and business claiming all stay out, exactly as currently scoped.
Three reasons at different confidence levels.
The retrofit cost is a hard engineering fact. Converting years of free-text venue strings into structured places later is expensive and lossy. That one is not in question.
REASONING Pairwise growth only travels along existing friendships. It never reaches a stranger. Venue is the one dimension where people who don't know each other overlap, which makes "who else plays at this park" the only organic path outside a closed friend group. Strava's segments and Local Legends work roughly this way and Foursquare built a whole graph on it, but neither one is proof for this product.
It's also the foundation for course and facility partnerships later, and that needs the structure in place from the start.
Current draft
Onboarding ends when the first match is saved.
Recommended
Same, plus a prompt to add your last 5 games in 60 seconds.
REASONING An empty timeline is the most likely reason someone opens this once and never comes back. Five entries makes the product feel alive right away and makes the first rivalry page worth looking at. Letterboxd and Goodreads both lean on import for the same reason, though their case isn't identical since they can pull from existing databases and we can't.
Current draft
18+ at launch unless youth safety gets deliberately designed.
Recommended
13+.
This one is legal facts, not a growth argument. 18+ was never a legal requirement. It's just the lowest-compliance option. In the US, 13+ is legal under standard terms with no parental-consent gate. Under-13 triggers COPPA, and with photo upload and social tagging in the product that means verifiable parental consent and a heavy compliance load. The consent flow would also break the under-20-second logging target the whole product hangs on.
13+ also keeps the "log your high school seasons" angle alive, which may be one of the most compelling versions of this idea.
Neil/Dave, this needs your sign-off, including whether any non-US market changes it. GDPR puts the digital consent age anywhere from 13 to 16 depending on the member state.
Straight to it. Matchbook.com is an active sports betting exchange. It's a Betfair competitor, majority-owned by Zeljko Ranogajec, with shipping apps under "Matchbook Betting Exchange" on both the App Store and Google Play. Verified July 30.
Same word, same category. What that means in practice: a trademark collision inside sports, App Store search that surfaces an established sportsbook instead of us, the .com gone, and a sports app sitting next to a gambling brand right as we add friendly stakes and challenges.
The recommendation is to keep calling it Matchbook internally so nothing gets renamed mid-conversation, but spend nothing on logos, domains, or store records under it. Finalize the name during the build with proper screening. Nothing in the PRD depends on what it's called.
Neil/Dave, worth your eyes on this one too.
Nothing behind these. They're in the PRD because they were just things that came up from the various agents:
The map view, plotting matches geographically across every course and court and park for fifteen years. Possibly screenshot-worthy. Zero evidence either way. The venue entity is worth arguing for. The map is a nice-to-have ride along.
Naming rivalries, like "The Saturday Series, Lee vs Mike, 8-6, since 2024." Feels good. Totally unproven.
Treating disputes as engagement instead of only risk. The case for it is that two friends arguing about a score is the emotional center of this thing, not a failure mode. The case against it is the existing instinct to minimize disputes, which may simply be right, and if it is, this one turns into real unpleasantness. Weakest idea in the document.
Receipts, meaning you can quote an old match inside a comment to needle somebody. Fun. No basis.
Data portability as something we market instead of a settings checkbox. The thinking is that asking someone to store a decade of their life invites "what if this company disappears," so answering it out loud builds trust. Could also be that nobody cares and it's a wasted copy.
Let me know thoughts on any/all of these… I'm not married to any ideas or concepts, just sharing what the investigation and planning returned.
The thing that most needs to be right is the confirmation loop. Everything else is adjustable. If a real person won't tag and invite the guy they just played with, the whole growth model collapses, and we should find that out in Phase 0.
Chat soon…
Lee