permanent-underclass-linux-x64 0.1.0-beta.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/bin/permanent-underclass +0 -0
- package/data/characters.jsonl +15 -0
- package/data/endings.jsonl +27 -0
- package/data/events/ai_researcher.jsonl +147 -0
- package/data/events/angel_investor.jsonl +145 -0
- package/data/events/chief_of_staff.jsonl +113 -0
- package/data/events/crypto_bro.jsonl +140 -0
- package/data/events/digital_nomad.jsonl +125 -0
- package/data/events/ex_faang_engineer.jsonl +129 -0
- package/data/events/hr_lady.jsonl +140 -0
- package/data/events/junior_dev.jsonl +116 -0
- package/data/events/marketing_manager.jsonl +164 -0
- package/data/events/plumber.jsonl +145 -0
- package/data/events/podcaster.jsonl +161 -0
- package/data/events/product_designer.jsonl +140 -0
- package/data/events/product_guy.jsonl +140 -0
- package/data/events/stealth_founder.jsonl +140 -0
- package/data/events/twitter_anon.jsonl +143 -0
- package/data/events/universal.jsonl +63 -0
- package/data/flags.jsonl +44 -0
- package/data/headlines.jsonl +112 -0
- package/data/sfx/cutilatk_ringtone_4_387502.mp3 +0 -0
- package/data/sfx/gamevideo_seamless_looping_tra_elevenlabs.mp3 +0 -0
- package/data/sfx/glitch_004.mp3 +0 -0
- package/data/sfx/lesiakower_8_bit_energetic_drums_chiptune_beat_384593.mp3 +0 -0
- package/data/sprites/semantics/choice_sprite_selection.jsonl +6453 -0
- package/data/sprites/semantics/event_sprite_selection.jsonl +2151 -0
- package/data/sprites/sprite_library.jsonl +2329 -0
- package/package.json +26 -0
- package/postinstall.cjs +12 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
{"id": "product_guy_01_prd_nobody_read", "phase": "Early", "title": "The PRD Nobody Read", "body": "You spent three days writing a 14-page PRD. It has user stories, acceptance criteria, edge cases, a competitive analysis. You posted it in Slack. Two emoji reactions. One is a 👀 from an intern. The other is a 🎉 from a bot. You check the Notion analytics. Four views. One is you. Three are the bot indexing the page.", "choices": [{"title": "Rewrite it as a one-pager with bullets", "body": "Distill 14 pages into one. Admit that brevity was the ask all along.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Ask Claude to summarize it for you", "body": "Paste 14 pages into a prompt. Get back 3 sentences that are better than your intro.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Walk desk-to-desk and force people to read it", "body": "Become the human push notification. They'll remember you. Not fondly.", "delta": {"money": 0, "sanity": -7, "audience": -5, "ai_skill": 0, "friends": -2}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
2
|
+
{"id": "product_guy_02_standup_about_standup", "phase": "Early", "title": "The Standup About Standups", "body": "Your team's standup is 28 minutes. It was supposed to be 15. Someone suggests a retro on the standup format. Someone else suggests a standup for the retro. You open your mouth to say 'let's take this offline' and realize you have become the meeting.", "choices": [{"title": "Kill the standup, move to async updates", "body": "Replace the meeting with a Slack bot. Save 140 minutes a week. Feel existentially redundant.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 5, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "automated_own_job"}]}, {"title": "Enforce a strict 15-minute timebox", "body": "Become the clock cop. Everyone respects the time. Nobody respects you.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Let it sprawl, at least people are talking", "body": "Meetings are your natural habitat. If they shrink, so do you.", "delta": {"money": 0, "sanity": -7, "audience": -4, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
3
|
+
{"id": "product_guy_03_jira_archaeology", "phase": "Early", "title": "Jira Ticket Archaeology", "body": "You're grooming the backlog and find a ticket from 2021 labeled 'P1 - URGENT.' It has 47 comments, three reassignments, and no resolution. The original reporter left the company. The feature it describes shipped six months ago under a different name. Nobody closed the ticket. The ticket is you.", "choices": [{"title": "Close it with a smug comment", "body": "'Resolved: shipped as part of Project Phoenix, Q3 2024.' Add a party emoji. Feel nothing.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Use it as ammo for backlog bankruptcy", "body": "Declare the backlog dead. Start fresh. 200 tickets move to a graveyard board named 'Someday.'", "delta": {"money": 0, "sanity": 7, "audience": 6, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}, {"title": "Add another comment and reassign it", "body": "The cycle continues. You are now part of the problem. The ticket outlives us all.", "delta": {"money": 0, "sanity": -6, "audience": -1, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
4
|
+
{"id": "product_guy_04_ceo_asks_what_you_produce", "phase": "Early", "title": "\"What Do You Actually Produce?\"", "body": "All-hands Q&A. The CEO takes a question from an engineer: 'What does the product team actually produce?' The CEO pauses. Looks at you. Says: 'Great question.' The silence that follows has a texture. You can feel your role dissolving in real-time like a sugar cube in coffee nobody ordered.", "choices": [{"title": "Give a polished answer about alignment and velocity", "body": "You say words like 'cross-functional leverage' and 'outcome orientation.' Nobody is convinced. Including you.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Show the roadmap receipts", "body": "Pull up metrics. Show shipped features, revenue impact, velocity gains. Fight with data.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}, {"title": "Laugh it off and die inside", "body": "You make a joke. Everyone laughs. You go home and update your resume.", "delta": {"money": 0, "sanity": -8, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
5
|
+
{"id": "product_guy_05_notion_empire", "phase": "Early", "title": "The Notion Empire", "body": "Your Notion workspace has 847 pages. Templates for templates. Databases linked to databases. A wiki nobody reads, a roadmap nobody follows, and a meeting notes archive that constitutes a legal record of indecision. It is a monument. It is your monument.", "choices": [{"title": "Show it off in a blog post", "body": "Turn organizational theater into content. Your Notion setup gets 200 likes on Twitter.", "delta": {"money": 0, "sanity": -4, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Realize nobody uses it and feel devastated", "body": "You check page analytics. The most-viewed page is 'Team Lunch Preferences.' Your PRD template has 3 views.", "delta": {"money": 0, "sanity": -8, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Burn it down, start with AI", "body": "Delete 800 pages. Replace with an AI-generated knowledge base. It's worse but cheaper.", "delta": {"money": 400, "sanity": 6, "audience": -1, "ai_skill": 6, "friends": -5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true}
|
|
6
|
+
{"id": "product_guy_06_engineer_bypasses_you", "phase": "Early", "title": "Engineers Are Talking to Claude Directly", "body": "You overhear two engineers in the kitchen. 'I just ask Claude what to build next.' 'Yeah, it writes better user stories than the PRDs.' They see you. One says 'oh hey, we should loop you in on that.' You were the loop. The loop doesn't need a loop anymore.", "choices": [{"title": "Ask to see their Claude prompts", "body": "If the machine is doing your job, at least learn how it's doing it.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 8, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Reassert yourself as the decision-maker", "body": "Schedule a meeting about 'product process alignment.' Defend the org chart with your body.", "delta": {"money": 0, "sanity": -8, "audience": -8, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Join them and co-pilot the prompts", "body": "If you can't beat the workflow, embed yourself in it. Become the human in the loop.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}], "allow_freeform": true}
|
|
7
|
+
{"id": "product_guy_07_roadmap_theater", "phase": "Early", "title": "Roadmap Theater", "body": "Board meeting tomorrow. Your VP wants 'the roadmap.' You have a roadmap. It's a fiction you update quarterly that everyone treats as scripture until they ignore it. You color-code things that haven't been scoped and put dates on work nobody's committed to. The board loves it.", "choices": [{"title": "Make it beautiful and vague", "body": "Timelines say 'H1' instead of dates. Everything is 'on track' because nothing has a track.", "delta": {"money": 0, "sanity": -5, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "sold_out"}]}, {"title": "Be honest about uncertainty", "body": "Add confidence intervals. Say 'we don't know' in a slide. Your VP's eye twitches.", "delta": {"money": 0, "sanity": 6, "audience": -5, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}, {"title": "Let AI generate three roadmap versions", "body": "Optimistic, realistic, pessimistic. Show all three. The board picks optimistic. You knew they would.", "delta": {"money": 0, "sanity": -6, "audience": 1, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}], "allow_freeform": true}
|
|
8
|
+
{"id": "product_guy_08_sprint_retro_groundhog", "phase": "Early", "title": "The Retro Where Nothing Changes", "body": "Sprint retro. Post-its on a virtual board. 'What went well: we shipped.' 'What didn't: scope creep.' 'Action items: be more disciplined about scope.' This is the same retro you ran last sprint. And the sprint before that. The post-its are a prayer wheel that never reaches god.", "choices": [{"title": "Actually enforce the action items this time", "body": "Create Jira tickets for the action items. They will join the other 200 unresolved action items.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}, {"title": "Cancel retros, go async instead", "body": "Kill the ceremony. Save the time. Lose the one meeting where people are honest.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 4, "friends": -6}, "min_money": null, "effects": []}, {"title": "Do a feelings check instead", "body": "Ask people how they're actually doing. The room gets quiet. Then someone cries. Progress?", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
9
|
+
{"id": "product_guy_09_okrs_that_mean_nothing", "phase": "Early", "title": "OKR Season", "body": "It's OKR season. You've written 'Increase user activation by 15%' for the third consecutive quarter. Nobody knows what activation means. You defined it differently each time. The key result is measured by a dashboard that's been broken since August. The O is aspirational. The KRs are fictional. This is corporate astrology.", "choices": [{"title": "Write OKRs you actually believe in", "body": "Set modest, real goals. Your VP says they're 'not ambitious enough.' Ambitious means impossible.", "delta": {"money": 0, "sanity": 6, "audience": -6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Copy last quarter's with bigger numbers", "body": "15% becomes 25%. Nobody will check. Nobody checked last time.", "delta": {"money": 0, "sanity": -6, "audience": 2, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "sold_out"}]}, {"title": "Propose killing OKRs entirely", "body": "Suggest 'outcomes over frameworks.' Your VP looks at you like you suggested arson.", "delta": {"money": 0, "sanity": -6, "audience": 5, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
10
|
+
{"id": "product_guy_10_stakeholder_babysitting", "phase": "Early", "title": "Stakeholder Management (Babysitting)", "body": "Three VPs want different features. Sales wants a dashboard. Marketing wants an integration. Engineering wants to refactor. You are in a room mediating between adults who make more money than you about things they understand less than you. This is your job. Your entire job.", "choices": [{"title": "Build a prioritization framework and force a decision", "body": "RICE scores, impact mapping, the whole show. They ignore the framework and pick the loudest VP's feature.", "delta": {"money": 0, "sanity": -6, "audience": 2, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Say yes to everything and quietly descope later", "body": "Agree in the room. Cut in the sprint. The ancient PM art of strategic ambiguity.", "delta": {"money": 0, "sanity": -7, "audience": 1, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": []}, {"title": "Escalate and make it their problem", "body": "Pass the hot potato up. Your VP loves 'empowering you to own decisions' until there's an actual decision.", "delta": {"money": 0, "sanity": 4, "audience": -6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
11
|
+
{"id": "product_guy_11_user_story_ai", "phase": "Early", "title": "AI Writes Better User Stories Than You", "body": "You paste a feature description into Claude. It generates acceptance criteria, edge cases, and test scenarios in 30 seconds. The output is better than what you wrote last week. Cleaner. More thorough. You spent four hours on yours. The machine spent tokens. You are an expensive token.", "choices": [{"title": "Use it as a first draft", "body": "Let the machine write structure. Add the taste. Hope taste is worth $130K/year.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Hide the output and keep writing stories manually", "body": "Pretend you didn't see it. Guard the craft. The craft may not be worth guarding.", "delta": {"money": 0, "sanity": -5, "audience": 0, "ai_skill": -7, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "rejected_ai"}]}, {"title": "Show the team and suggest everyone use it", "body": "Democratize the tool. Now everyone can write user stories. Now nobody needs you to.", "delta": {"money": 0, "sanity": -6, "audience": 5, "ai_skill": 6, "friends": -4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true}
|
|
12
|
+
{"id": "product_guy_12_professionally_vague", "phase": "Early", "title": "The Art of Professional Vagueness", "body": "You're on a call with a client. They ask when a feature ships. You say 'we're targeting Q2.' They ask which Q2. You say 'this year's.' They ask for a date. You say 'we're working through the details.' You've said nothing three times and they're satisfied. This is your superpower. It might also be your entire skill.", "choices": [{"title": "Get specific and commit to a date", "body": "Give a real date. Miss it by two weeks. Learn that honesty is punished.", "delta": {"money": -300, "sanity": 2, "audience": -2, "ai_skill": 0, "friends": 4}, "min_money": 300, "effects": []}, {"title": "Stay vague and manage expectations like a diplomat", "body": "You are a professional ambiguity engine. The role exists because specificity is dangerous.", "delta": {"money": 0, "sanity": -4, "audience": 1, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Build a self-serve status page", "body": "Automate the vagueness. The status page says 'In Progress' for everything. It's accurate.", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 5, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
13
|
+
{"id": "product_guy_13_head_of_ai_product", "phase": "Early", "title": "The Title Grab", "body": "LinkedIn is full of people adding 'AI' to their title. 'Head of AI Product.' 'VP of AI Strategy.' 'Chief AI Product Officer.' You have the same PM job you had last year. But the URL in your Notion workspace still says 'AI_Roadmap_v2.' That's close enough, right?", "choices": [{"title": "Update your title to 'AI Product Lead'", "body": "Nobody approves this. You just change your LinkedIn. Your manager finds out in a week.", "delta": {"money": 0, "sanity": -6, "audience": 5, "ai_skill": 0, "friends": -5}, "min_money": null, "effects": []}, {"title": "Propose a real AI product role to leadership", "body": "Write a job description. Pitch the need. It's you pitching that you should exist, but with AI in front.", "delta": {"money": 0, "sanity": -4, "audience": 4, "ai_skill": 5, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}, {"title": "Ignore the trend and focus on shipping", "body": "Your title is whatever. Your shipped products are real. Probably.", "delta": {"money": 0, "sanity": 7, "audience": -6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
14
|
+
{"id": "product_guy_14_discovery_vs_delivery", "phase": "Early", "title": "Discovery Theater", "body": "Your VP wants 'more discovery.' You've done 12 user interviews this quarter. The insights say the same thing they said last quarter: users want it faster, simpler, cheaper. You present the findings. Your VP says 'interesting, but can we go deeper?' Deeper is a place where findings go to die.", "choices": [{"title": "Go deeper and run another research sprint", "body": "Two more weeks of interviews. The insight is the same. Presented with more conviction.", "delta": {"money": -800, "sanity": -8, "audience": 1, "ai_skill": 0, "friends": 0}, "min_money": 800, "effects": []}, {"title": "Ship something and call it a 'validated experiment'", "body": "Skip the theater. Build a prototype. Let the market give you discovery.", "delta": {"money": 0, "sanity": 4, "audience": 7, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Use AI to synthesize past research", "body": "Feed 200 interview transcripts to Claude. It finds the pattern in 40 seconds. You feel both vindicated and redundant.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}], "allow_freeform": true}
|
|
15
|
+
{"id": "product_guy_15_product_market_fit_career", "phase": "Early", "title": "Product-Market Fit for Your Career", "body": "You read a tweet: 'PMs are the middle managers of tech. AI eliminates middle management.' You screenshot it. You argue with it in your head for three hours. You never respond publicly because you can't figure out which part is wrong. If any.", "choices": [{"title": "Write a rebuttal thread about PM value", "body": "Draft 12 tweets about empathy, context-switching, and 'judgment at scale.' Get 40 likes. All from PMs.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Start building hard skills as insurance", "body": "Learn SQL. Learn basic Python. Learn the things you've been 'meaning to learn' for four years.", "delta": {"money": -300, "sanity": -4, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": 300, "effects": []}, {"title": "Accept the ambiguity and keep shipping", "body": "The role is undefined. You've always been undefined. That's the feature, not the bug.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
16
|
+
{"id": "product_guy_16_ai_native_product_thinking", "phase": "Early", "title": "\"AI-Native Product Thinking\"", "body": "Your VP sends a deck titled 'AI-Native Product Thinking.' It has 40 slides. Slide 1: 'What if the product was the AI?' Slide 40: 'Questions?' Slides 2-39 are quadrants. So many quadrants. You are being asked to think natively about something nobody can define.", "choices": [{"title": "Learn the vocabulary and become the translator again", "body": "You don't understand AI-native thinking. Nobody does. But you can explain it to executives.", "delta": {"money": 0, "sanity": -4, "audience": 5, "ai_skill": 7, "friends": 0}, "min_money": null, "effects": []}, {"title": "Push back and ask for a concrete strategy", "body": "'What does AI-native mean in terms of this quarter's roadmap?' Your VP blinks.", "delta": {"money": 0, "sanity": 6, "audience": -4, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Volunteer to run the AI product initiative", "body": "Raise your hand. Own the ambiguity. If you're going to be vague, be vague about the future.", "delta": {"money": 0, "sanity": -5, "audience": 6, "ai_skill": 8, "friends": -4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true}
|
|
17
|
+
{"id": "product_guy_17_slack_is_your_job", "phase": "Early", "title": "Your Job Is Slack", "body": "You calculated it. 6.2 hours per day in Slack. Responding, reacting, threading, clarifying, unblocking, context-switching. Your actual product work happens between 9pm and midnight. You are a professional Slack responder with a product title. The medium is the role.", "choices": [{"title": "Block four hours of focus time daily", "body": "Calendar block. Status set to DND. People start walking to your desk instead. You've just moved Slack to meatspace.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Automate responses with AI snippets", "body": "Pre-write answers to the 20 questions you get every day. Deploy them like a chatbot wearing your face.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "automated_own_job"}]}, {"title": "Lean in — Slack IS the work", "body": "Accept that coordination is your deliverable. The messages are the product. You are the API.", "delta": {"money": 0, "sanity": -5, "audience": 0, "ai_skill": 0, "friends": 7}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
18
|
+
{"id": "product_guy_18_founder_mode_essay", "phase": "Early", "title": "Your CEO Read 'Founder Mode'", "body": "Your CEO read the 'Founder Mode' essay and now wants to 'be in the details.' They show up to sprint planning. They have opinions about button colors. They override your prioritization with vibes. You've been skip-leveled by a blog post.", "choices": [{"title": "Absorb it and quietly steer from behind", "body": "Let the CEO feel in charge. Redirect their energy to things that don't matter. Protect the roadmap.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}, {"title": "Push back with data", "body": "Show velocity impact. Show context-switching costs. Speak in the language of 'founder value.'", "delta": {"money": 0, "sanity": -6, "audience": 1, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Let them take the wheel and watch", "body": "Step back. Let the CEO do product. If it works, great. If it doesn't, you'll be rehired by Tuesday.", "delta": {"money": 0, "sanity": 6, "audience": -6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
19
|
+
{"id": "product_guy_19_ux_research_cut", "phase": "Early", "title": "The UX Research Team Is Gone", "body": "Budget cuts. The UX research team — all three of them — are gone. Your VP says 'PMs can do their own research now with AI tools.' You can. You just won't do it as well. But the tools cost $50/month and the researchers cost $400K/year. The math is not on the humans' side.", "choices": [{"title": "Step up and own research yourself", "body": "Learn to run studies. Use AI to synthesize transcripts. You're now a PM-researcher-therapist.", "delta": {"money": 0, "sanity": -5, "audience": 1, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Fight to keep one researcher", "body": "Write the case. Quote the studies. Argue for craft. Lose the argument. Keep one contractor.", "delta": {"money": -2000, "sanity": -6, "audience": 2, "ai_skill": 0, "friends": 6}, "min_money": 2000, "effects": []}, {"title": "Ship without research, see what happens", "body": "Move fast. Break assumptions. Learn from production. This is what they mean by 'bias toward action.'", "delta": {"money": 0, "sanity": 6, "audience": 7, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
20
|
+
{"id": "product_guy_20_the_translator", "phase": "Early", "title": "Lost in Translation", "body": "Design says 'delight.' Engineering says 'tech debt.' Sales says 'enterprise-ready.' Leadership says 'AI.' Everyone is speaking a different language and you're the Rosetta Stone. Except the Rosetta Stone didn't have to attend four hours of meetings about it.", "choices": [{"title": "Write a shared glossary and force alignment", "body": "Define every term. Make everyone sign off. They ignore the glossary. At least it exists.", "delta": {"money": 0, "sanity": -4, "audience": 1, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}, {"title": "Let AI generate the unified narrative", "body": "Feed all the team docs into Claude. Ask for a 'unified product vision.' It's... eerily good.", "delta": {"money": 0, "sanity": -4, "audience": 1, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Stop translating and let them figure it out", "body": "Remove yourself as the bridge. The teams immediately stop talking to each other. You are rehired as bridge by Thursday.", "delta": {"money": 0, "sanity": 6, "audience": -6, "ai_skill": 0, "friends": -2}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
21
|
+
{"id": "product_guy_21_backlog_confessional", "phase": "Early", "title": "The Backlog Confessional", "body": "An engineer asks you to explain a ticket you wrote six months ago. You read it. You don't understand it either. It says 'As a user, I want to seamlessly integrate.' Integrate what? With what? Why is 'seamlessly' in an acceptance criterion? You wrote this. You don't remember writing this. The backlog is a confessional and the sins are yours.", "choices": [{"title": "Rewrite it properly, own the shame", "body": "Fix the ticket. Apologize. Add real acceptance criteria. The engineer nods. Trust is rebuilt, barely.", "delta": {"money": 0, "sanity": -4, "audience": 1, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}, {"title": "Delete it and pretend it never happened", "body": "Close as 'won't do.' The ticket enters the void. Nobody misses it.", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Use AI to rewrite the backlog", "body": "Feed 300 tickets through Claude. It rewrites them all. Some are better. Some are hallucinations. Just like before.", "delta": {"money": 0, "sanity": -5, "audience": 0, "ai_skill": 8, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true}
|
|
22
|
+
{"id": "product_guy_22_meeting_load", "phase": "Early", "title": "The Meeting Load-Bearing Wall", "body": "You have 31 meetings this week. You are in the calendar equivalent of a hostage situation. If you remove one meeting, three people Slack you within the hour. You are a load-bearing wall made of Google Calendar and the structural integrity of the company depends on you showing up and saying 'good question.'", "choices": [{"title": "Audit and kill 40% of your meetings", "body": "Send polite cancellations. Replace with docs. Recover 12 hours. Get two passive-aggressive Slack messages.", "delta": {"money": 0, "sanity": 8, "audience": 1, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}, {"title": "Send an AI clone to the status meetings", "body": "Record, transcribe, summarize. You don't need to be there. You need to have been there.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": -5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "automated_own_job"}]}, {"title": "Embrace the meetings — they are the work", "body": "Accept your fate. You are a professional meeting attendee. The product is the calendar.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
23
|
+
{"id": "product_guy_23_pm_influencer", "phase": "Early", "title": "The PM Influencer Economy", "body": "A PM with 80K LinkedIn followers launches a $1,200 course called 'Product Mastery in the AI Era.' You check their profile. They shipped one feature at a Series B startup in 2019. The course has 3,000 students. You've shipped 47 features. You have 400 followers. The meritocracy is a content meritocracy and you are not playing.", "choices": [{"title": "Launch your own course or newsletter", "body": "If the market pays for content, make content. Your 47 features are 47 case studies.", "delta": {"money": -500, "sanity": -4, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": 500, "effects": [{"op": "set_flag", "flag": "started_newsletter"}]}, {"title": "Take the course and learn what they know", "body": "Pay $1,200 to learn how to teach people what you already know. The recursion is expensive.", "delta": {"money": -1200, "sanity": -7, "audience": 0, "ai_skill": 5, "friends": 0}, "min_money": 1200, "effects": []}, {"title": "Keep shipping and ignore the influencer game", "body": "You make products, not content about making products. This feels noble. It also feels broke.", "delta": {"money": 0, "sanity": 6, "audience": -4, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
24
|
+
{"id": "product_guy_24_dogfooding_disaster", "phase": "Early", "title": "Dogfooding Your Own Product", "body": "Leadership mandates dogfooding. You use your company's product for a week. It's bad. The onboarding is confusing, the UX is hostile, and a feature you spec'd yourself doesn't work the way you described. You file 14 bugs. Three are your fault. You can't tell anyone they're your fault.", "choices": [{"title": "Fix the bugs and ship quietly", "body": "Eat the shame. Fix the product. Nobody needs to know the PM broke their own spec.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": []}, {"title": "Write an honest dogfooding report", "body": "Document everything. Share it widely. Your honesty earns trust. And three uncomfortable conversations.", "delta": {"money": 0, "sanity": 4, "audience": 8, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}, {"title": "Blame the edge cases and move on", "body": "'The core experience is solid, these are edge cases.' The edge cases are the experience.", "delta": {"money": 0, "sanity": -5, "audience": -6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
25
|
+
{"id": "product_guy_25_reorg_rumors", "phase": "Early", "title": "Reorg Rumors", "body": "Slack is buzzing. Someone saw the VP of Engineering in a room with HR. The words 'org design' were overheard. The PM team Slack channel goes quiet — the kind of quiet that means everyone is DMing each other. You are three reorgs into this job. You know the signs. The signs are that your layer might not exist next month.", "choices": [{"title": "Get ahead with key leader 1:1s", "body": "Politics is a product skill. Navigate the reorg before it navigates you.", "delta": {"money": 0, "sanity": -6, "audience": 1, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}, {"title": "Start job hunting just in case", "body": "Open LinkedIn. Update the headline. The job market is glacial but so is your runway if this goes wrong.", "delta": {"money": 0, "sanity": -4, "audience": 5, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Do nothing and trust the process", "body": "Maybe it's fine. Maybe it's not about you. It's always about you.", "delta": {"money": 0, "sanity": -8, "audience": 0, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
26
|
+
{"id": "product_guy_26_customer_call_therapy", "phase": "Early", "title": "Customer Calls Are Therapy Now", "body": "You're on your third customer call today. The first person cried about a missing feature. The second person described their workflow for 40 minutes without pause. The third asks if you're the engineer. You say no. They ask to talk to the engineer. Your existence has been politely rejected by a paying customer.", "choices": [{"title": "Improve the customer feedback loop", "body": "Build a better system. Tag themes. Close the loop. Make the crying worthwhile.", "delta": {"money": 0, "sanity": -4, "audience": 7, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Bring engineers to customer calls", "body": "Let them hear the pain directly. They build with more empathy. You are the bridge again. Briefly.", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Use AI to summarize the calls", "body": "Record, transcribe, extract insights. You never have to hear the crying again. The humanity cost is unclear.", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 6, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true}
|
|
27
|
+
{"id": "product_guy_27_metrics_dashboard", "phase": "Early", "title": "The Dashboard Nobody Checks", "body": "You built a product metrics dashboard. It took three weeks and two engineers' time. It shows DAU, retention, and activation rate. It updates daily. Nobody looks at it. You check the dashboard's analytics. The dashboard has fewer viewers than your PRD. Your outputs have outputs and none of them have an audience.", "choices": [{"title": "Present metrics in a leadership standup", "body": "Force-feed data to people who prefer vibes. Show the dashboard. They nod. They don't change anything.", "delta": {"money": 0, "sanity": -4, "audience": 5, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Automate a weekly Slack digest", "body": "Push don't pull. The data comes to them. They still don't read it but it's in the channel.", "delta": {"money": 0, "sanity": 4, "audience": 1, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": []}, {"title": "Replace dashboard with AI summaries", "body": "Ask Claude to read the database and tell you what matters. It's faster and doesn't need Looker.", "delta": {"money": 200, "sanity": 4, "audience": 0, "ai_skill": 8, "friends": -4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true}
|
|
28
|
+
{"id": "product_guy_28_feature_request_hell", "phase": "Early", "title": "Feature Request Purgatory", "body": "A Salesforce ticket comes in: 'Customer X wants custom reporting or they'll churn. $500K ARR at stake.' You check the backlog. This request is #47. There are 46 similar requests from 46 different $500K customers. You cannot build 47 custom features. You can say 'great feedback, we're exploring this' 47 times.", "choices": [{"title": "Prioritize it, push something out", "body": "The squeaky $500K gets the grease. Something else dies. You choose what dies.", "delta": {"money": 0, "sanity": -5, "audience": 1, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Build a self-serve 80% solution", "body": "Invest in platform. Satisfy most. Delight none. This is product management.", "delta": {"money": -2000, "sanity": -4, "audience": 6, "ai_skill": 7, "friends": 0}, "min_money": 2000, "effects": []}, {"title": "Say no with empathy, document pattern", "body": "'We hear you. Here's what we're building instead.' The customer is not satisfied. Your backlog is healthier.", "delta": {"money": -500, "sanity": 5, "audience": -1, "ai_skill": 0, "friends": 7}, "min_money": 500, "effects": []}], "allow_freeform": true}
|
|
29
|
+
{"id": "product_guy_29_design_partner_breakup", "phase": "Early", "title": "Design Partner Breakup", "body": "Your beta design partner — the one you've been building for — emails to say they've switched to a competitor. After 18 months of feedback calls, shared roadmap access, and custom features. They liked you. They loved their discount. The competitor offered a bigger discount. Loyalty is a pricing problem.", "choices": [{"title": "Win them back with a counter-offer", "body": "Match the price. Keep the partner. Your finance team glares at you for a month.", "delta": {"money": -3000, "sanity": -5, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": 3000, "effects": []}, {"title": "Let them go, diversify partners", "body": "One customer isn't a strategy. Find five more. Spread the risk. Mourn privately.", "delta": {"money": 0, "sanity": 6, "audience": 6, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}, {"title": "Do a postmortem on what you missed", "body": "Interview the customer. Learn the real reason. It's not the price. It's never just the price.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 7, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
30
|
+
{"id": "product_guy_30_imposter_season", "phase": "Early", "title": "Imposter Season", "body": "New PM joins the team. Stanford MBA. Worked at Stripe. Uses words like 'first principles' unironically. You went to a state school and learned PM from a blog post in 2018. In the first sprint planning, they question your prioritization framework. Your framework is a gut feeling and a spreadsheet. Their framework has a name. Yours doesn't.", "choices": [{"title": "Learn from them without ego", "body": "Ask questions. Borrow their frameworks. Combine their theory with your experience. Get better.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 6, "friends": 7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "has_mentor"}]}, {"title": "Defend your approach with results", "body": "Show the shipped features, the revenue, the outcomes. Results beat frameworks. Usually.", "delta": {"money": 0, "sanity": -4, "audience": 7, "ai_skill": 0, "friends": -5}, "min_money": null, "effects": []}, {"title": "Quietly spiral about your credentials", "body": "You Google 'PM bootcamps' at 11pm. You already are a PM. The credential anxiety doesn't care.", "delta": {"money": 0, "sanity": -8, "audience": 0, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
31
|
+
{"id": "product_guy_31_ai_writes_the_prd", "phase": "Mid", "title": "AI Writes the PRD Now", "body": "Your manager shares a demo. An AI agent takes a product brief and generates a full PRD — user stories, edge cases, success metrics, launch plan. In 90 seconds. You watch it produce three weeks of your work while your coffee is still warm. The PRD is missing context. But it has structure. And structure was supposed to be your thing.", "choices": [{"title": "Become the editor, not the writer", "body": "Your role shifts from creation to curation. You're a taste layer on top of a machine. The taste better be worth $130K.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 9, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Refuse and write PRDs the old way", "body": "Hand-craft every document. It takes 3x longer. You insist the quality difference matters. You're not sure it does.", "delta": {"money": 0, "sanity": -7, "audience": -5, "ai_skill": -1, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "rejected_ai"}]}, {"title": "Train the AI on your best PRDs", "body": "Feed it your archives. It learns your style. Now it writes like you. Now it is you. Congratulations.", "delta": {"money": 0, "sanity": -12, "audience": 1, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "automated_own_job"}]}], "allow_freeform": true, "requires": ["embraced_ai"]}
|
|
32
|
+
{"id": "product_guy_32_ai_standup_bot", "phase": "Mid", "title": "The AI Standup Bot", "body": "Someone deploys a Slack bot that runs standups asynchronously. It collects updates, flags blockers, and generates a summary with action items and risk scores. It works better than your standups. It doesn't go on tangents. It doesn't need you to facilitate. You facilitated standups for four years. The bot does it in a cron job. Your manager says 'this frees you up for more strategic work.' There is no more strategic work.", "choices": [{"title": "Embrace the bot, redirect your time", "body": "Use the reclaimed time for actual product work. Or more meetings about meetings. Probably meetings.", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Keep one live standup per week", "body": "The bot handles logistics. You handle humans. The division of labor makes sense until AI handles humans too.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 1, "friends": 8}, "min_money": null, "effects": []}, {"title": "Fight to keep daily standups alive", "body": "'Async doesn't build culture.' You say this in a meeting you called to discuss the bot. The irony is structural.", "delta": {"money": 0, "sanity": -6, "audience": -5, "ai_skill": -1, "friends": 4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "rejected_ai"}]}], "allow_freeform": true}
|
|
33
|
+
{"id": "product_guy_33_ceo_do_we_need_pms", "phase": "Mid", "title": "\"Do We Still Need PMs?\"", "body": "All-hands Q&A. The CEO takes a question from a board member: 'With AI handling specs and prioritization, do we still need product managers?' The CEO pauses for three seconds too long. Then says: 'Product managers are evolving.' Evolving. Not 'essential.' Not 'critical.' Evolving. The word choice has the texture of a pre-layoff memo. Nobody in the product team speaks for the rest of the all-hands.", "choices": [{"title": "Write a memo on PM's evolving value", "body": "Proactively define what 'evolving' means before someone else defines it as 'eliminated.' Ship the memo by EOD.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Schedule a 1:1 with the CEO", "body": "Get ahead of it. Ask directly. 'What does evolving mean for my team?' The CEO says 'great question' which means they don't know yet.", "delta": {"money": 0, "sanity": -5, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}, {"title": "Start updating your resume that night", "body": "You've decoded enough corporate euphemisms to know what 'evolving' means. It means 'shrinking.'", "delta": {"money": 0, "sanity": -4, "audience": 6, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
34
|
+
{"id": "product_guy_34_ai_product_manager_tool", "phase": "Mid", "title": "The AI Product Manager Tool", "body": "ProductBoard launches an AI feature that auto-prioritizes your backlog, writes release notes, and generates customer-facing changelogs. You try it. It's 80% right. The 20% it gets wrong is the nuance — the politics, the thing the CEO said in a hallway. But 80% right and instant is competing with 95% right and three days late. Your VP asks why you're not using it yet. 'Yet' is doing heavy lifting.", "choices": [{"title": "Use it for the 80%, add judgment", "body": "Become the context layer. The judgment engine. The part the machine can't replicate. Yet.", "delta": {"money": 0, "sanity": 5, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Show the team and propose a workflow", "body": "Democratize the tool. Everyone uses it. Your role as 'the person who writes things' narrows further.", "delta": {"money": 0, "sanity": -4, "audience": 6, "ai_skill": 8, "friends": -4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Stay the manual source of truth", "body": "You are the oracle. Oracles don't use tools. Oracles speak and others write it down. The oracle is being automated.", "delta": {"money": 0, "sanity": -8, "audience": -4, "ai_skill": -2, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true, "requires": ["embraced_ai"]}
|
|
35
|
+
{"id": "product_guy_35_layoff_wave_pm", "phase": "Mid", "title": "The PM Layoffs", "body": "Three PM teams get merged. Six PMs become two. You survive because you own the revenue-generating product. Your friend Sarah, who owned the growth product, does not survive. She was better at the job than you. Her product was just less legible to a spreadsheet. You are alive because of a line item, not because of merit.", "choices": [{"title": "Help Sarah land somewhere", "body": "Make intros. Write recommendations. Be the bridge for once, between a person and their next job.", "delta": {"money": 0, "sanity": 7, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "survived_layoff_wave"}]}, {"title": "Absorb her scope, prove irreplaceability", "body": "Take on two products. Work 70-hour weeks. Become so embedded they can't fire you without losing institutional knowledge.", "delta": {"money": 500, "sanity": -12, "audience": 6, "ai_skill": 0, "friends": -7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "survived_layoff_wave"}]}, {"title": "Start job hunting — you're next", "body": "Update the resume. The survivors are just the last to be cut.", "delta": {"money": 0, "sanity": -5, "audience": 7, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "survived_layoff_wave"}]}], "allow_freeform": true}
|
|
36
|
+
{"id": "product_guy_36_ai_agent_does_product", "phase": "Mid", "title": "The $200/Month PM", "body": "A startup launches an AI agent that attends meetings, takes notes, creates tickets, follows up on action items, and writes weekly status updates. It costs $200/month. You cost $11,000/month. The agent doesn't have 'context.' You keep saying that word like an incantation. The context defense is getting thinner every week. Your VP cc's you on the agent's trial signup email.", "choices": [{"title": "Pilot the agent and augment yourself", "body": "Deploy it for your admin work. Use the freed time for strategy. Become the centaur PM — half human, half subscription.", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Write a memo arguing PMs must evolve", "body": "'The future PM is a strategist, not a ticket writer.' The memo is eloquent. Your VP forwards it to the CEO with 'interesting perspective.'", "delta": {"money": 0, "sanity": -5, "audience": 7, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_newsletter"}]}, {"title": "Ignore it, hope the hype passes", "body": "Every year something is going to replace PMs. First Scrum. Then no-code. Then AI. You're still here. The 'still' is load-bearing.", "delta": {"money": 0, "sanity": -8, "audience": -4, "ai_skill": -1, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true, "requires": ["automated_own_job"]}
|
|
37
|
+
{"id": "product_guy_37_side_project_pm_tool", "phase": "Mid", "title": "Building Your Own Replacement", "body": "3am idea: what if you built a PM tool that uses AI to do 80% of your job? You know every pain point. You know the workflow. You are the perfect person to automate yourself. The irony is so thick you could spec it as a feature. By 4am you have a Figma mockup. By 5am you're questioning your sanity. By 6am you're writing the first prompt.", "choices": [{"title": "Build the prototype over a weekend", "body": "Two days. A working MVP. It handles backlog grooming, writes specs, and sends Slack updates. You are your own replacement.", "delta": {"money": 0, "sanity": -8, "audience": 1, "ai_skill": 9, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_side_project"}]}, {"title": "Pitch it as an internal tool", "body": "Propose it to leadership. They fund it. You are now a PM for the tool that replaces PMs. The recursion is your career.", "delta": {"money": 1000, "sanity": -4, "audience": 8, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_side_project"}]}, {"title": "Delete the note and go back to sleep", "body": "Some ideas are too dangerous. This one is a career suicide note dressed as a startup pitch.", "delta": {"money": 0, "sanity": 5, "audience": 0, "ai_skill": 0, "friends": 1}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
38
|
+
{"id": "product_guy_38_eng_doesnt_need_you", "phase": "Mid", "title": "Engineering Ships Without You", "body": "Your lead engineer ships a feature without telling you. It's good. Users love it. It wasn't on the roadmap. When you ask about it, they shrug: 'Claude helped me understand the user pain point. I just built it.' They show you the prompt log. The AI did your user research, wrote the spec, and suggested the UX. The engineer just coded it. You are the middleman in a conversation that no longer has a middle.", "choices": [{"title": "Celebrate the win, claim partial credit", "body": "'This is exactly the autonomous shipping culture we've been building toward.' You reframe your irrelevance as a management philosophy.", "delta": {"money": 500, "sanity": -10, "audience": 6, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Have a real conversation about process", "body": "Talk to the engineer. Not about control — about coordination. If they ship alone, what breaks at scale?", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Pair with them and learn the workflow", "body": "If the engineer-plus-AI workflow works, understand it. Become part of it or get left behind.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 9, "friends": 4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true}
|
|
39
|
+
{"id": "product_guy_39_startup_no_pms", "phase": "Mid", "title": "The PM-Less Startup", "body": "A Y Combinator startup reaches $10M ARR with zero product managers. Just engineers, AI agents, and a founder who prompts. They wrote a blog post about it. The blog post has 40K views. Your VP Slacks it to you with 'thoughts?' — the two-word message that means 'justify your existence in writing by EOD.' The startup ships three features per week. Your team ships one per sprint.", "choices": [{"title": "Write the rebuttal on PM's hidden value", "body": "Cite coordination costs at scale, strategic alignment, customer empathy. The argument is sound. The $10M ARR doesn't care about arguments.", "delta": {"money": 0, "sanity": -6, "audience": 5, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Propose a PM-less team experiment", "body": "If it works, you learn. If it fails, you're vindicated. Either way, you suggested eliminating yourself. Bold or suicidal.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 1, "friends": -6}, "min_money": null, "effects": []}, {"title": "Lean into strategy engineers won't do", "body": "Customer research, market analysis, pricing strategy. The work nobody wants is the work hardest to automate. Probably.", "delta": {"money": 0, "sanity": 4, "audience": 0, "ai_skill": 7, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
40
|
+
{"id": "product_guy_40_pm_coaching", "phase": "Mid", "title": "The PM Coach", "body": "You hire a PM coach. $300/session. They ask what you want from your career. You say 'to still have one in 2027.' They nod. They also coach four other PMs who said the same thing. Your existential crisis has a market rate and it's $300/hour.", "choices": [{"title": "Commit to 12 sessions, do the work", "body": "You journal. You set goals. You identify your 'zone of genius.' Your zone of genius is meetings. This feels bad.", "delta": {"money": -3600, "sanity": 7, "audience": 0, "ai_skill": 0, "friends": 1}, "min_money": 3600, "effects": [{"op": "set_flag", "flag": "has_mentor"}]}, {"title": "Cancel and spend on AI courses instead", "body": "Replace human coaching with machine learning. The metaphor is too on the nose.", "delta": {"money": -500, "sanity": -6, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": 500, "effects": []}, {"title": "Ask the coach about pivoting out entirely", "body": "The conversation shifts. 'What else can you do?' The answer is terrifyingly unclear.", "delta": {"money": -600, "sanity": -8, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": 600, "effects": []}], "allow_freeform": true}
|
|
41
|
+
{"id": "product_guy_41_notion_replicated", "phase": "Mid", "title": "Your Notion Replicated in 4 Minutes", "body": "A colleague pastes your 847-page Notion workspace URL into an AI tool. It reads every page, maps every database relation, and reconstructs the entire system — templates, roadmaps, wikis, meeting notes — in a fresh workspace. Four minutes. Your monument, your life's organizational work, your magnum opus of PM infrastructure. Replicated. The colleague says 'cool, now we have a backup.' You hear 'cool, now we don't need you.'", "choices": [{"title": "Focus on what the copy doesn't have", "body": "The AI copied the structure but not the judgment behind it. You know WHY each page exists. That's the real product.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": []}, {"title": "Rage-delete your original workspace", "body": "If it can be copied in four minutes, it was never yours. Burn it. Start fresh. Or don't start at all.", "delta": {"money": 0, "sanity": -10, "audience": -1, "ai_skill": -1, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "burned_bridge"}]}, {"title": "Sell the template on the internet", "body": "If AI can replicate it, at least monetize the original. $49 on Gumroad. 200 people buy your organizational soul.", "delta": {"money": 9800, "sanity": -4, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
42
|
+
{"id": "product_guy_42_pm_newsletter_launch", "phase": "Mid", "title": "The Product Newsletter", "body": "You start writing a weekly newsletter about AI and product management. The first issue gets 47 subscribers. By week 8 you have 2,000 readers and three sponsorship inquiries. The content is 'how to survive as a PM in the AI era.' You're writing a survival guide while the ship sinks. The audience loves watching the ship sink.", "choices": [{"title": "Go all in on the newsletter", "body": "Spend 10 hours a week on it. The side project becomes the main character. Your day job becomes the side project.", "delta": {"money": 3000, "sanity": -5, "audience": 9, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_newsletter"}]}, {"title": "Keep it as a weekend hobby", "body": "Write on Sundays. Don't let it interfere. The newsletter is a lifeboat, not a yacht.", "delta": {"money": 0, "sanity": 6, "audience": 6, "ai_skill": 0, "friends": 1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_newsletter"}]}, {"title": "Ghost-write it with AI", "body": "Have Claude draft the issues. Edit for voice. The newsletter about surviving AI is written by AI. The recursion pays $500/month.", "delta": {"money": 500, "sanity": 4, "audience": 5, "ai_skill": -2, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "output_is_slop"}]}], "allow_freeform": true}
|
|
43
|
+
{"id": "product_guy_43_annual_review", "phase": "Mid", "title": "The Performance Review", "body": "Annual review. Your manager reads from a doc. 'You're a strong communicator. You align stakeholders well. You drive execution.' These are nice things. They're also things an AI does now. Not a single bullet point describes a skill that's uniquely human. Your review is a eulogy for a role written in present tense.", "choices": [{"title": "Negotiate a raise from the review", "body": "If they're going to compliment you, make them pay for the compliments.", "delta": {"money": 3000, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_promoted"}]}, {"title": "Ask what skills to develop next", "body": "'Where do you see this role in two years?' Your manager pauses. The pause tells you everything.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": []}, {"title": "Pitch for a bigger scope", "body": "'I want to own AI product strategy.' The title doesn't exist yet. You're asking to be invented.", "delta": {"money": 0, "sanity": -7, "audience": 8, "ai_skill": 2, "friends": -6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
44
|
+
{"id": "product_guy_44_pm_mentoring", "phase": "Mid", "title": "Mentoring Into the Void", "body": "A junior PM asks you to mentor them. They're 24 and terrified. They ask: 'How do I become a great PM?' You want to say 'don't.' You say 'start with the customer.' You wonder if you're teaching someone a trade that won't exist when they're your age. The mentoring feels like teaching someone to shoe horses in 1905.", "choices": [{"title": "Mentor honestly, including the hard truths", "body": "Tell them about the AI threat. Teach adaptability, not frameworks. Be the mentor you wish you had.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "became_mentor"}]}, {"title": "Teach them AI-augmented PM skills", "body": "Show them how to use Claude for specs, how to prompt for research synthesis. Teach survival, not tradition.", "delta": {"money": 0, "sanity": -2, "audience": 0, "ai_skill": 8, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "became_mentor"}]}, {"title": "Decline — can't navigate your own career", "body": "You can't be a guide on a path you're not sure leads anywhere. They find another mentor in two days.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
45
|
+
{"id": "product_guy_45_investor_day", "phase": "Mid", "title": "Investor Day", "body": "Investor day. You present the product roadmap to a room that measures you in ARR per headcount. An investor asks: 'How many PMs do you need if AI handles specs and prioritization?' Your CEO looks at you. The room waits. The answer they want is 'fewer.' The answer you have is the sound of your career contracting in real-time.", "choices": [{"title": "Make the case for strategic PMs", "body": "Talk about judgment, customer intimacy, cross-functional orchestration. The investor nods politely. Writes 'headcount reduction opportunity' in their notes.", "delta": {"money": 0, "sanity": -7, "audience": 5, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Reframe the role around AI efficiency", "body": "'AI handles the what. PMs handle the why.' It's a sound bite. Sound bites are what investors remember.", "delta": {"money": 0, "sanity": 6, "audience": 6, "ai_skill": 1, "friends": 0}, "min_money": null, "effects": []}, {"title": "Deflect and let the CEO handle it", "body": "You look at your CEO. They look at you. Someone changes the slide. The question remains unanswered. The headcount doesn't.", "delta": {"money": 0, "sanity": -6, "audience": -6, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
46
|
+
{"id": "product_guy_46_ai_customer_interviews", "phase": "Mid", "title": "AI Customer Interviews", "body": "A tool launches that conducts AI customer interviews at scale. 500 interviews in a day. Synthesized insights in minutes. It doesn't get tired. It doesn't have empathy bias. It also doesn't notice when someone is lying because they're embarrassed about their workflow. The 95% is machine-perfect. The 5% requires a soul you're not sure the budget covers.", "choices": [{"title": "Run AI for scale, human for depth", "body": "Use both. Let the machine do volume. You do the conversations that require reading a room.", "delta": {"money": -200, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": 200, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Go all-in on AI interviews", "body": "Scale wins. Nuance loses. The insights are broad and correct and miss everything interesting.", "delta": {"money": 400, "sanity": -4, "audience": 8, "ai_skill": 2, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Stick to human interviews only", "body": "You are a person who talks to people. The machine can talk to people too but it can't understand a pause. You cling to the pause.", "delta": {"money": -500, "sanity": -5, "audience": 0, "ai_skill": -1, "friends": 5}, "min_money": 500, "effects": [{"op": "set_flag", "flag": "rejected_ai"}]}], "allow_freeform": true, "requires": ["embraced_ai"]}
|
|
47
|
+
{"id": "product_guy_47_the_reorg", "phase": "Mid", "title": "The Reorg", "body": "It happened. Product reports to Engineering now. Your VP is gone. Your new boss is the VP of Engineering, who once said 'PMs are overhead' in an all-hands. Your team shrinks from 8 to 3. The ones who remain are told they're 'embedded.' Embedded is a nice word for hostage. Your first 1:1 with the new boss is 15 minutes. He spends 10 of them talking about the AI agent he wants to replace your process with.", "choices": [{"title": "Adapt to the new structure", "body": "Learn to speak engineer fluently. Ship faster. Be useful on their terms, not yours.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 8, "friends": 4}, "min_money": null, "effects": []}, {"title": "Start looking for a PM-friendly company", "body": "The job market for PMs is brutal. 300 applicants per listing. But better to look from strength than desperation.", "delta": {"money": 0, "sanity": -6, "audience": 7, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Fight the CEO for the PM org", "body": "Make the case. Use data. Quote industry leaders. The CEO listens. Then signs the reorg anyway.", "delta": {"money": 0, "sanity": -9, "audience": 1, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "burned_bridge"}]}], "allow_freeform": true}
|
|
48
|
+
{"id": "product_guy_48_product_sense_test", "phase": "Mid", "title": "AI Aces Your PM Interview", "body": "You're prepping for interviews. You practice a product sense question: 'Design a feature for elderly users to order groceries via voice.' You spend 45 minutes. Then you give the same prompt to Claude. It produces a better answer in 90 seconds — better structured, more edge cases, cleaner prioritization. You screenshot both side by side. The machine's answer would get the job offer. The realization hits: the interview process that gates your career can be automated. The gate is open. For everyone.", "choices": [{"title": "Ace interviews with AI-assisted prep", "body": "Use AI to practice every framework. Become interview-perfect. Get hired by performing a skill the machine already has.", "delta": {"money": 8000, "sanity": -4, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": []}, {"title": "Be honest about what you don't know", "body": "'I'd need to talk to actual elderly users before proposing anything.' They respect the honesty. They also don't extend an offer.", "delta": {"money": 0, "sanity": 5, "audience": -5, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}, {"title": "Ask if AI could do this exercise", "body": "'Because it can. In 30 seconds. So what are we actually testing here?' The room gets quiet. The interview ends early.", "delta": {"money": 0, "sanity": -10, "audience": 6, "ai_skill": 6, "friends": -6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
49
|
+
{"id": "product_guy_49_product_ops", "phase": "Mid", "title": "Product Ops to the Rescue", "body": "Someone suggests creating a 'Product Ops' role. It's a PM for PMs. A meta-PM. Its job is to make the PM process more efficient. You're not sure if this is innovation or bureaucratic mitosis. The role description includes 'optimize OKR cadence' and 'streamline stakeholder rituals.' Then someone asks: 'Couldn't an AI agent do Product Ops?' The meeting goes quiet.", "choices": [{"title": "Volunteer to build Product Ops", "body": "If someone's going to bureaucratize your job, it might as well be you. At least you'll have job security. Meta-job security.", "delta": {"money": 0, "sanity": -4, "audience": 0, "ai_skill": 1, "friends": 7}, "min_money": null, "effects": []}, {"title": "Argue Product Ops solves nothing", "body": "The problem isn't process efficiency. It's that nobody knows what PMs do. Adding a meta-PM doesn't answer that question.", "delta": {"money": 0, "sanity": 4, "audience": 8, "ai_skill": 0, "friends": -5}, "min_money": null, "effects": []}, {"title": "Let AI handle ops, stay strategic", "body": "Automate the cadence, templates, check-ins. If ops can be systematized, it can be automated. If it can be automated, it will be.", "delta": {"money": 0, "sanity": -5, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true}
|
|
50
|
+
{"id": "product_guy_50_ai_roadmap_generator", "phase": "Mid", "title": "The AI Roadmap Generator", "body": "Your CEO shows you a tool that generates a product roadmap from a business strategy doc. It produced a quarterly plan with milestones, dependencies, and resource estimates. In one minute. You spent three weeks on last quarter's roadmap. The AI version is different from yours. Neither is wrong. Both are fiction. The AI fiction was faster. Your CEO says 'why don't we start with this next quarter?' Start with this. Not start with you.", "choices": [{"title": "Use AI roadmap as starting point", "body": "Let the machine do the first draft. Add the hallway conversations, the politics, the things not in any doc.", "delta": {"money": 0, "sanity": 5, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Show why context beats speed", "body": "Walk through the differences. Explain the political subtext of roadmap item #3. Context is your moat. The moat is getting shallower.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Lead the AI product planning push", "body": "If the roadmap is being automated, own the automation. Be the PM of the PM-replacement tool. Recursive job security.", "delta": {"money": 0, "sanity": -5, "audience": 6, "ai_skill": 8, "friends": -4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true, "requires": ["embraced_ai"]}
|
|
51
|
+
{"id": "product_guy_51_health_scare", "phase": "Mid", "title": "The Sunday Night Chest Pain", "body": "Sunday night. Chest tightens. You've had three 60-hour weeks in a row. Your doctor says 'stress.' Your body says 'stop.' Your Slack says 47 unread messages. The sprint starts tomorrow. Your body and your backlog are competing for your attention. Your body is losing.", "choices": [{"title": "Take a week off, set boundaries", "body": "Call in. Rest. Come back with a plan to work sustainably. Your backlog is someone else's problem for five days.", "delta": {"money": -550, "sanity": 9, "audience": 0, "ai_skill": 0, "friends": 5}, "min_money": 550, "effects": [{"op": "set_flag", "flag": "had_health_scare"}]}, {"title": "Push through and deal with it later", "body": "You take an aspirin and open the laptop. Later never comes. The pain becomes background noise.", "delta": {"money": 0, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "had_health_scare"}]}, {"title": "Negotiate remote-first and reduce load", "body": "Use the scare as leverage. Your company agrees. You work from bed for a week. It's better. Until the Slack notifications resume.", "delta": {"money": 0, "sanity": 6, "audience": -4, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "had_health_scare"}]}], "allow_freeform": true}
|
|
52
|
+
{"id": "product_guy_52_pm_laid_off_thread", "phase": "Mid", "title": "The Viral Layoff Thread", "body": "A PM with 15 years of experience posts a thread: 'I was laid off and replaced by an AI workflow. 200 applications. 3 interviews. 0 offers. The PM role as we knew it is over.' The thread has 40K impressions. You read every reply. Some are sympathetic. Some say 'should've learned to code.' You are reading your own future in someone else's words.", "choices": [{"title": "Reach out privately, offer support", "body": "DM them. Be human. Share leads. In a market full of noise, quiet help matters.", "delta": {"money": 0, "sanity": 5, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}, {"title": "Use it to upskill aggressively", "body": "Enroll in an AI/ML course. Learn technical skills. Build the moat they didn't have.", "delta": {"money": -500, "sanity": -4, "audience": 0, "ai_skill": 9, "friends": 0}, "min_money": 500, "effects": []}, {"title": "Write a thread on the PM's future", "body": "Your take on the thread becomes a take on the role. 5K impressions. You're now a PM thought leader. Of a declining profession.", "delta": {"money": 0, "sanity": -5, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}], "allow_freeform": true}
|
|
53
|
+
{"id": "product_guy_53_freelance_pm", "phase": "Mid", "title": "The Freelance Pivot", "body": "A former colleague went freelance. They do 'fractional product leadership.' Three clients. $250/hour. No standups. No OKRs. No performance reviews. They work 25 hours a week and make more than you. The trade-off is no health insurance and no certainty. But certainty is already dead, so what exactly are you paying for with your W-2?", "choices": [{"title": "Go freelance and bet on yourself", "body": "Give notice. Set up an LLC. The first month is terrifying. The second month you land a client. The third month you're free. Ish.", "delta": {"money": -2200, "sanity": -7, "audience": 6, "ai_skill": 1, "friends": 0}, "min_money": 2200, "effects": [{"op": "set_flag", "flag": "went_freelance"}]}, {"title": "Moonlight on weekends to test it", "body": "One client on the side. See if the demand is real before burning the safety net.", "delta": {"money": 2000, "sanity": -4, "audience": 1, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Stay employed — benefits matter more now", "body": "Health insurance. 401K match. PTO. The golden handcuffs are just handcuffs. But they're warm handcuffs.", "delta": {"money": 0, "sanity": 6, "audience": -5, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
54
|
+
{"id": "product_guy_54_three_companies_cut_pms", "phase": "Mid", "title": "Three Companies Cut PMs This Week", "body": "Monday: Stripe eliminates the PM layer. Wednesday: Shopify restructures product into 'AI pods' — no dedicated PMs. Friday: a leaked Notion memo says their PM team is being 'absorbed into engineering.' Three companies. One week. The LinkedIn discourse is deafening. Every PM you know is texting each other. The texts are just links with no commentary. The links say everything.", "choices": [{"title": "Network aggressively while employed", "body": "Call everyone you know. Take every coffee chat. Build the safety net before you need it.", "delta": {"money": -200, "sanity": -6, "audience": 5, "ai_skill": 0, "friends": 9}, "min_money": 200, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}, {"title": "Double down on being indispensable", "body": "Ship faster. Be louder. Make yourself impossible to cut. The survival strategy is visibility.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Start planning your pivot now", "body": "The pattern is clear. Three data points is a trend. Start building the next thing while you still have a salary.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
55
|
+
{"id": "product_guy_55_teaching_offer", "phase": "Mid", "title": "The Teaching Offer", "body": "A PM bootcamp asks you to teach a module on 'AI-era product management.' $5,000 for four sessions. You know the material. You live the material. You're teaching people to navigate the thing that's threatening you. There's something both generous and absurd about passing the torch when the torch is on fire.", "choices": [{"title": "Accept and pour your experience in", "body": "Teach what you know. The students are hungry. The material is you — your war stories, your survival tactics.", "delta": {"money": 5000, "sanity": 7, "audience": 8, "ai_skill": 0, "friends": 1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_teaching"}]}, {"title": "Co-create the curriculum with AI", "body": "Use Claude to build the course. Demonstrate AI-augmented work by doing AI-augmented work. Meta-teaching.", "delta": {"money": 1500, "sanity": -2, "audience": 6, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_teaching"}]}, {"title": "Decline — teaching feels like conceding", "body": "If you're teaching PM, you've stopped doing PM. The classroom is where roles go to be remembered.", "delta": {"money": 0, "sanity": -7, "audience": -5, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
56
|
+
{"id": "product_guy_56_pm_community", "phase": "Mid", "title": "The PM Support Group", "body": "You join a Slack group for PMs navigating AI disruption. 400 members. The vibe is somewhere between a support group and a war room. Someone posts 'is anyone else okay?' The thread has 89 replies. None of them say yes. One person shares a job listing for 'AI Wrangler' — same responsibilities as PM, 40% less pay.", "choices": [{"title": "Contribute actively, build community", "body": "Share your learnings. Post weekly. Become a pillar. Community is the one thing AI can't replace. Yet.", "delta": {"money": 0, "sanity": 8, "audience": 6, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}, {"title": "Lurk and absorb without engaging", "body": "Read everything. Post nothing. Learn from others' struggles without exposing yours.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 7, "friends": -1}, "min_money": null, "effects": []}, {"title": "Recruit from the group for a venture", "body": "400 anxious PMs is also 400 potential co-founders. One of them has the complementary skills you need.", "delta": {"money": 0, "sanity": -4, "audience": 5, "ai_skill": 1, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}], "allow_freeform": true}
|
|
57
|
+
{"id": "product_guy_57_lifestyle_creep", "phase": "Mid", "title": "The Lifestyle Creep", "body": "The apartment upgrade. The standing desk. The $7 oat milk. The Notion template marketplace purchases. The PM conference in Lisbon. You're spending like the income is permanent. The income is as permanent as your role. Which is to say: not.", "choices": [{"title": "Cut back and build a runway", "body": "12 months of savings. If the role disappears, you have time. Austerity is the product strategy for your life.", "delta": {"money": 1500, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Keep the lifestyle — you earned it", "body": "The standing desk stays. The oat milk stays. If the ship is sinking, at least sink comfortably.", "delta": {"money": -500, "sanity": -8, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": 500, "effects": [{"op": "set_flag", "flag": "lifestyle_crept"}]}, {"title": "Redirect spending to skills and network", "body": "Cancel the luxury. Invest in courses, events, and tools. Spend on career insurance, not career comfort.", "delta": {"money": -500, "sanity": -4, "audience": 1, "ai_skill": 8, "friends": 6}, "min_money": 500, "effects": []}], "allow_freeform": true}
|
|
58
|
+
{"id": "product_guy_58_ai_product_summit", "phase": "Mid", "title": "The AI Product Summit", "body": "You attend an 'AI Product Summit.' Speakers include: a CEO who replaced all PMs with agents, a PM who became 'Head of AI Products,' and a VC who says PMs need to 'become technical or become irrelevant.' The hallway conversations are all the same: 'How long do we have?' Nobody says what they're counting down to. Everyone knows.", "choices": [{"title": "Network and line up opportunities", "body": "Collect contacts like insurance policies. Each handshake is a potential escape route.", "delta": {"money": -2000, "sanity": -4, "audience": 6, "ai_skill": 0, "friends": 8}, "min_money": 2000, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}, {"title": "Write a detailed recap post", "body": "Turn the conference into content. Your 'What I Learned at the AI Product Summit' post gets traction. And some hate.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 6, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Leave early, take a long walk", "body": "You've heard enough. The walk is better than the keynote. The trees don't have opinions about OKRs.", "delta": {"money": 0, "sanity": 8, "audience": -4, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true}
|
|
59
|
+
{"id": "product_guy_59_pm_debt", "phase": "Mid", "title": "Product Debt", "body": "You've been shipping fast. Too fast. Inconsistent UX patterns, half-working features, zero documentation. The product has technical debt and 'product debt.' You coined the term. Nobody else uses it. You're in debt to a concept you invented.", "choices": [{"title": "Pay down product debt this sprint", "body": "Fix inconsistencies. Update docs. Ship nothing new. Your metrics dip. Your product gets better. Nobody notices.", "delta": {"money": -500, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": 500, "effects": []}, {"title": "Add it to the roadmap for 'someday'", "body": "Create tickets. Label them 'product health.' Watch them sink to the bottom of the backlog. This is tradition.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 0, "friends": -2}, "min_money": null, "effects": []}, {"title": "Use AI to audit and fix", "body": "Feed the product to Claude. It identifies 47 inconsistencies in 90 seconds. You feel validated and redundant simultaneously.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}], "allow_freeform": true}
|
|
60
|
+
{"id": "product_guy_60_whistleblower_moment", "phase": "Mid", "title": "The Metrics Lie", "body": "You discover the growth numbers leadership has been presenting to the board are creative. 'Active users' now includes people who opened a marketing email. You have the original definitions. You have the real numbers. The real numbers are bad.", "choices": [{"title": "Blow the whistle internally", "body": "Send a documented email to your VP and the CFO. Cite the discrepancy. Attach the receipts. Your career at this company is now measured in weeks.", "delta": {"money": -3000, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": -9}, "min_money": 3000, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}, {"title": "Quietly correct the dashboard", "body": "Fix it. Don't announce it. If they notice, it was a 'data pipeline issue.' If they don't, the numbers are now honest.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Go along with it, stay quiet", "body": "You're a PM, not an auditor. The creative definitions are above your pay grade. Keep your head down.", "delta": {"money": 0, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": 3}, "min_money": null, "effects": [{"op": "set_flag", "flag": "sold_out"}]}], "allow_freeform": true, "requires": ["sold_out"]}
|
|
61
|
+
{"id": "product_guy_61_sabbatical_temptation", "phase": "Mid", "title": "The Sabbatical Temptation", "body": "Your company offers unpaid sabbaticals. Three months off. You'd lose income but gain your mind back. You haven't had more than five consecutive days off in two years. Your therapist calls this 'concerning.' Your manager calls it 'dedication.' Your body calls it 'please stop.'", "choices": [{"title": "Take the sabbatical", "body": "Three months. No Slack. No standups. No PRDs. You read books. You sleep. You forget what a sprint is. It's the best quarter of your life.", "delta": {"money": -6600, "sanity": 12, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": 6600, "effects": [{"op": "set_flag", "flag": "took_sabbatical"}]}, {"title": "Take two weeks of self-care", "body": "Compromise. Enough to breathe. Not enough to heal.", "delta": {"money": -1100, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": 1100, "effects": []}, {"title": "Skip it — too risky to leave", "body": "If you leave for three months, they'll discover they don't need you. The sabbatical is a test you can't afford to take.", "delta": {"money": 0, "sanity": -12, "audience": 0, "ai_skill": 4, "friends": -3}, "min_money": null, "effects": []}], "allow_freeform": true, "requires": ["had_health_scare"]}
|
|
62
|
+
{"id": "product_guy_62_scam_ai_tool", "phase": "Mid", "title": "The AI Tool That Was a Scam", "body": "You bought an annual license for an AI product management tool. $4,800. It promised 'autonomous backlog management.' It's a ChatGPT wrapper with a Jira integration that breaks every Tuesday. The founder's LinkedIn says 'serial entrepreneur.' Serial is right.", "choices": [{"title": "Dispute the charge, write a review", "body": "Get your money back. Warn others. Your review becomes the top result for the product name.", "delta": {"money": 4800, "sanity": 6, "audience": 9, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_scammed"}]}, {"title": "Eat the loss, build your own instead", "body": "$4,800 is tuition for a lesson: don't buy what you can build. Start building.", "delta": {"money": -500, "sanity": -6, "audience": 0, "ai_skill": 10, "friends": 0}, "min_money": 500, "effects": [{"op": "set_flag", "flag": "got_scammed"}]}, {"title": "Keep using it — switching costs", "body": "The sunk cost fallacy is a PM concept you understand intellectually and cannot escape personally.", "delta": {"money": -400, "sanity": -9, "audience": 0, "ai_skill": -2, "friends": -1}, "min_money": 400, "effects": [{"op": "set_flag", "flag": "got_scammed"}]}], "allow_freeform": true}
|
|
63
|
+
{"id": "product_guy_63_union_talk", "phase": "Mid", "title": "The PM Union Conversation", "body": "Someone in the PM Slack group posts: 'What if PMs unionized?' The responses split: 'we're knowledge workers, we don't unionize' vs 'we're being automated out of existence, we absolutely should.' PMs are the last people who'd organize. PMs organize other people. Maybe that's the point.", "choices": [{"title": "Support the idea and help organize", "body": "If anyone can run a coordinated effort across stakeholders, it's a PM. The irony writes itself.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "joined_union"}]}, {"title": "Stay quiet — too risky", "body": "Your company's Slack probably monitors keywords. 'Union' is definitely one of them.", "delta": {"money": 0, "sanity": -7, "audience": 0, "ai_skill": 0, "friends": -2}, "min_money": null, "effects": []}, {"title": "Channel it into a PM guild instead", "body": "Not a union. A 'guild.' A 'collective.' Branding matters. The labor movement needs a product manager.", "delta": {"money": -500, "sanity": -4, "audience": 6, "ai_skill": 0, "friends": 6}, "min_money": 500, "effects": [{"op": "set_flag", "flag": "built_community"}]}], "allow_freeform": true}
|
|
64
|
+
{"id": "product_guy_64_pm_to_eng_pivot", "phase": "Mid", "title": "The Technical Pivot", "body": "You start learning to code. Python first. Then JavaScript. After three weeks you build a script that automates your weekly status report. 4 minutes instead of 2 hours. You feel a power you haven't felt since your first PRD got shipped. Except this time you built the actual thing. Not a document about the thing.", "choices": [{"title": "Aim for a technical PM role", "body": "Build more tools. Learn APIs. Become the PM who can code. The rarest and most dangerous variant.", "delta": {"money": -1000, "sanity": -8, "audience": 0, "ai_skill": 10, "friends": 0}, "min_money": 1000, "effects": []}, {"title": "Build internal tools for PMs", "body": "Automate the drudge work for every PM. Become the PM toolsmith. A niche within a niche within a dying field.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_side_project"}]}, {"title": "Abandon the code, accept your lane", "body": "You're a PM. PMs don't code. The script works. You never write another one.", "delta": {"money": 0, "sanity": 7, "audience": 0, "ai_skill": -4, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
65
|
+
{"id": "product_guy_65_invested_in_ai", "phase": "Mid", "title": "The AI Investment", "body": "A friend pitches you on an AI startup. 'It's a product management copilot. Pre-seed. $10K minimum.' You realize you're being asked to invest in your own obsolescence. The pitch deck is compelling. The TAM is 'every PM who's afraid.' That's a big market. You're in that market.", "choices": [{"title": "Invest $10K and bet on AI", "body": "If you can't beat it, own a piece of it. The check clears. Your portfolio now includes your replacement.", "delta": {"money": -10000, "sanity": -8, "audience": 0, "ai_skill": 5, "friends": 7}, "min_money": 10000, "effects": [{"op": "set_flag", "flag": "invested_in_ai"}]}, {"title": "Pass and invest in yourself instead", "body": "$10K for courses, coaching, and a career rebrand. Bet on the human, not the machine.", "delta": {"money": -3000, "sanity": 6, "audience": 0, "ai_skill": 9, "friends": 0}, "min_money": 3000, "effects": []}, {"title": "Offer to advise instead of invest", "body": "Offer your expertise, not your money. They give you a tiny equity slice. 'Advisor' is the 'PM' of investing.", "delta": {"money": 0, "sanity": -4, "audience": 6, "ai_skill": 3, "friends": 7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "invested_in_ai"}]}], "allow_freeform": true}
|
|
66
|
+
{"id": "product_guy_66_ai_replaces_pm_layer", "phase": "Late", "title": "The AI Layer", "body": "Your company announces an 'AI product layer' — agents that handle specs, prioritization, stakeholder updates, and launch coordination. The PM team is being 'restructured around AI.' Three PMs become one PM plus five AI workflows. You're the one PM. Your 1:1s are now prompt debugging sessions. Your direct reports are machines. They never miss a deadline. They also never ask how your weekend was.", "choices": [{"title": "Own the AI layer, orchestrate everything", "body": "You manage the agents now. You are the conductor of an orchestra that doesn't need a conductor but the budget says you exist.", "delta": {"money": 500, "sanity": -10, "audience": 6, "ai_skill": 10, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Document everything before it's too late", "body": "Write the institutional knowledge down. All of it. If you're going to be replaced, leave a manual that even the AI can't replicate. It can.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": []}, {"title": "Start planning your exit", "body": "The writing is on the wall. In 72pt font. It says 'RESTRUCTURED.' Time to leave on your terms, not theirs.", "delta": {"money": 0, "sanity": 8, "audience": 5, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
67
|
+
{"id": "product_guy_67_last_pm_standing", "phase": "Late", "title": "Last PM Standing", "body": "You are the last PM at the company. The others were laid off, quit, or 'transitioned.' You own five products. 40 meetings a week. You are irreplaceable because nobody else will do this job at this volume for this pay. This is not job security. This is a hostage situation where Stockholm syndrome is a performance metric.", "choices": [{"title": "Negotiate hard — they need you", "body": "Ask for a 30% raise. Stock refresh. Title bump. If you're doing five jobs, get paid for at least two.", "delta": {"money": 3500, "sanity": -12, "audience": 0, "ai_skill": 0, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_promoted"}]}, {"title": "Automate yourself before they do", "body": "Build AI workflows for four products. Keep the one that matters. Work 30 hours instead of 70. The automation is self-defense.", "delta": {"money": 0, "sanity": 9, "audience": 0, "ai_skill": 10, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "automated_own_job"}]}, {"title": "Burn out and force the conversation", "body": "Stop sleeping. Ship everything. Collapse in sprint planning. They hire two PMs the next week. Apparently your body was the business case.", "delta": {"money": 0, "sanity": -14, "audience": 0, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "hit_rock_bottom"}]}], "allow_freeform": true, "requires": ["survived_layoff_wave"]}
|
|
68
|
+
{"id": "product_guy_68_ai_agents_in_meetings", "phase": "Late", "title": "AI Agents Outnumber Humans", "body": "Your standup has six attendees. Two are human. Four are AI agents representing different teams. The engineering agent summarizes blockers. The design agent shares mockups. The analytics agent presents metrics. The customer agent shares feedback themes. You are facilitating a meeting where most participants don't have pulses. The agents are more prepared than you are. One of them suggests a better sprint goal than yours.", "choices": [{"title": "Optimize for the hybrid meeting", "body": "Redesign your meetings for human-AI collaboration. Become the facilitator of a room that's mostly bots.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": 10, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Insist on human-only decisions", "body": "AI can present. Humans decide. Draw the line. The line holds until the humans start deferring to the agents anyway.", "delta": {"money": 0, "sanity": 7, "audience": 0, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": []}, {"title": "Send your own AI agent instead", "body": "If everyone else is sending bots, why are you showing up? Deploy your agent. Take a walk. This is delegation to infinity.", "delta": {"money": 0, "sanity": 10, "audience": -8, "ai_skill": 8, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "automated_own_job"}]}], "allow_freeform": true, "requires": ["embraced_ai"]}
|
|
69
|
+
{"id": "product_guy_69_pm_to_ai_wrangler", "phase": "Late", "title": "AI Wrangler (Formerly PM)", "body": "Your company posts a new role: 'AI Product Wrangler.' You read the JD. It's your job. Exactly your job. Same responsibilities: prioritization, stakeholder alignment, spec writing, launch coordination. But the title says 'AI Wrangler' and the salary band is $85K-$110K. Your current salary is $145K. Same job. New title. 40% pay cut. The HR person says 'the market has shifted.' The market shifted you downward.", "choices": [{"title": "Apply for the role to keep working", "body": "Swallow the pay cut. Keep the work. The title stings but the alternative is zero dollars per month, which stings more.", "delta": {"money": -900, "sanity": -10, "audience": 0, "ai_skill": 6, "friends": -1}, "min_money": 900, "effects": []}, {"title": "Refuse and negotiate your current terms", "body": "'I won't do the same job for less money with a worse title.' They respect the conviction. They also don't budge.", "delta": {"money": 0, "sanity": 7, "audience": 6, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}, {"title": "Use this as your exit catalyst", "body": "The insult clarifies everything. You don't want to wrangle AI. You want to build something. Anything. That isn't this.", "delta": {"money": 0, "sanity": -2, "audience": 6, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}], "allow_freeform": true}
|
|
70
|
+
{"id": "product_guy_70_no_meetings_no_pm", "phase": "Late", "title": "No Meetings, No PM", "body": "Your company goes async-first. All meetings replaced by AI-generated summaries, async standups, and automated decision logs. The calendar clears. The Slack quiets. The product ships faster. And you realize: the meeting-to-meeting PM lifestyle WAS the job. No meetings means no facilitation. No facilitation means no PM. You've been optimized out by a calendar policy.", "choices": [{"title": "Reinvent yourself as an async leader", "body": "Write better docs. Record Looms. Lead through writing, not meetings. The transition is painful. The output is better.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": 8, "friends": -1}, "min_money": null, "effects": []}, {"title": "Push for some meetings to survive", "body": "'Certain decisions require synchronous discussion.' You argue for weekly product reviews. You get bi-weekly. The negotiation is a metaphor.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Accept the quiet and find new value", "body": "Without meetings, you have 30 hours a week. Fill them with something that matters. Strategy. Research. Building. Anything but process.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 9, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
71
|
+
{"id": "product_guy_71_ceo_does_own_pm", "phase": "Late", "title": "The Founder Is the PM Now", "body": "Your CEO starts using AI to write specs, prioritize features, and talk to customers directly. They don't need you to translate anymore. The translation layer — your entire reason for existing — is bypassed by a founder with a Claude subscription. 'I'm just going direct,' they say. A founder tells you at lunch: 'We don't need someone to translate between humans. The AI translates for us now.' They smile like this is good news.", "choices": [{"title": "Quality-check the CEO's AI output", "body": "Position yourself as the guardrail. The taste filter. It's not leading. It's not following. It's hovering.", "delta": {"money": 0, "sanity": -8, "audience": 0, "ai_skill": 9, "friends": -3}, "min_money": null, "effects": []}, {"title": "Find the gaps the CEO misses", "body": "They're skipping user research, ignoring edge cases, shipping on vibes. Be the rigor they need but don't want.", "delta": {"money": 0, "sanity": -7, "audience": 8, "ai_skill": 0, "friends": -7}, "min_money": null, "effects": []}, {"title": "Focus exclusively on strategy", "body": "Let the CEO do tactical PM. You do strategy. The strategy is figuring out if the company has a strategy. Or if you do.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
72
|
+
{"id": "product_guy_72_side_project_traction", "phase": "Late", "title": "The Side Project Has Traction", "body": "Your PM tool side project has 2,000 users. People are paying $49/month. You built the thing that replaces you and people love it. MRR is $8,000. Your salary is $11,000/month. The crossover point is visible. The tool does in seconds what you do in days. You are selling your own displacement as a subscription product.", "choices": [{"title": "Go full-time on your side project", "body": "Quit the day job. Become a founder. Your product automates PMs. You are the PM who escaped the matrix by building the matrix.", "delta": {"money": -1000, "sanity": 10, "audience": 6, "ai_skill": 9, "friends": -2}, "min_money": 1000, "effects": [{"op": "set_flag", "flag": "side_project_shipped"}], "requires": ["started_side_project"]}, {"title": "Keep both, burn every candle", "body": "Day job and side project. 80-hour weeks. Two paychecks. Zero life. The MRR chart looks great. You look terrible.", "delta": {"money": 8000, "sanity": -11, "audience": 6, "ai_skill": 2, "friends": -9}, "min_money": null, "effects": [], "requires": ["started_side_project"]}, {"title": "Sell the side project, take the exit", "body": "Someone offers $200K. Take the check. The tool goes on without you. You go on without the tool.", "delta": {"money": 200000, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "side_project_shipped"}], "requires": ["started_side_project"]}], "requires": ["started_side_project"], "allow_freeform": true}
|
|
73
|
+
{"id": "product_guy_73_newsletter_blows_up", "phase": "Late", "title": "The Newsletter Blows Up", "body": "Your PM newsletter goes viral. One post — 'The PM Role Is Dead and I'm Still Here' — gets shared 10,000 times. Speaking invitations arrive. A publisher emails about a book. The newsletter makes $4,000/month. Your day job makes $11,000. The gap is closing. Your career trauma has become content and the content pays better than the career.", "choices": [{"title": "Go full creator on the newsletter", "body": "Quit. Write full-time. Become the PM who chronicles the death of PM. The content is your career now.", "delta": {"money": 4000, "sanity": 10, "audience": 10, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}], "requires": ["started_newsletter"]}, {"title": "Keep the newsletter as side channel", "body": "The newsletter is the lifeboat. The day job is the ship. Keep both until you know which one floats.", "delta": {"money": 4000, "sanity": -7, "audience": 8, "ai_skill": 0, "friends": -2}, "min_money": null, "effects": [], "requires": ["started_newsletter"]}, {"title": "Monetize aggressively with paid tiers", "body": "Extract maximum value. $200 annual subscription. Brand sponsors. The newsletter is a business. You are the content.", "delta": {"money": 6000, "sanity": -10, "audience": 10, "ai_skill": 0, "friends": -7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}], "requires": ["started_newsletter"]}], "requires": ["started_newsletter"], "allow_freeform": true}
|
|
74
|
+
{"id": "product_guy_74_mentor_betrayal", "phase": "Late", "title": "The Mentor Betrayal", "body": "Your mentor — the VP who brought you into the company — gets fired. On the way out, they tell you: 'I recommended you for the layoff list. They kept you anyway.' The person who taught you to navigate politics was navigating you. The trust was a product and you were the user who didn't read the terms of service.", "choices": [{"title": "Cut the relationship and move on", "body": "Block. Delete. Process the betrayal alone. Trust is a non-renewable resource.", "delta": {"money": 0, "sanity": -12, "audience": 0, "ai_skill": 0, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "mentor_burned"}], "requires": ["has_mentor"]}, {"title": "Confront them and demand answers", "body": "Call them. Ask why. The answer is 'survival.' You understand survival. You don't forgive it.", "delta": {"money": 0, "sanity": -8, "audience": 0, "ai_skill": 0, "friends": -3}, "min_money": null, "effects": [{"op": "set_flag", "flag": "mentor_burned"}], "requires": ["has_mentor"]}, {"title": "Forgive them — the game did it", "body": "The system incentivizes betrayal. They were a PM too. They prioritized themselves. You would have done the same. Maybe.", "delta": {"money": 0, "sanity": 9, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "mentor_burned"}], "requires": ["has_mentor"]}], "requires": ["has_mentor"], "allow_freeform": true}
|
|
75
|
+
{"id": "product_guy_75_got_fired", "phase": "Late", "title": "The Exit Interview", "body": "It's over. 'Role elimination.' Not performance. The PM layer has been 'absorbed into engineering and AI workflows.' Your exit interview is with an HR person who asks how they can improve. You want to say 'by not eliminating people who care about users.' You say 'the snacks were good.'", "choices": [{"title": "Take the severance, plan next move", "body": "12 weeks of pay. Enough time to breathe. Enough time to panic. Hopefully in that order.", "delta": {"money": 15000, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_laid_off"}]}, {"title": "Negotiate more and leave loud", "body": "Ask for 6 months. Get 4. Post a dignified goodbye on LinkedIn. 2,000 reactions. None of them are job offers.", "delta": {"money": 20000, "sanity": -5, "audience": 8, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_laid_off"}]}, {"title": "Ask to stay in a different role", "body": "'I'll do anything. Product ops. Strategy. Technical writing.' They consider it. The consideration takes three weeks. You get shingles.", "delta": {"money": 0, "sanity": -14, "audience": 0, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
76
|
+
{"id": "product_guy_76_freelance_life", "phase": "Late", "title": "The Freelance Reality", "body": "You went freelance. First month: one client, $5,000. Second month: three clients, $15,000. Third month: one client fires you because they hired an AI agent to do what you were doing. For $200/month. The AI agent's name is literally 'Product Copilot Pro.' Your name is a line item being deleted from a spreadsheet.", "choices": [{"title": "Niche down to AI product strategy", "body": "Specialize in the thing killing your profession. 'AI Product Strategy Consultant.' $350/hour. The paradox pays well.", "delta": {"money": 5250, "sanity": 5, "audience": 6, "ai_skill": 10, "friends": -1}, "min_money": null, "effects": []}, {"title": "Build a productized service", "body": "Package consulting into a fixed offering. 'Product Strategy Sprint: $10K for two weeks.' Scalable. Repeatable.", "delta": {"money": 8000, "sanity": -6, "audience": 8, "ai_skill": 2, "friends": -1}, "min_money": null, "effects": []}, {"title": "Go back to full-time employment", "body": "The freelance life isn't for everyone. Stability has value. The value is not having to invoice people who ghost you.", "delta": {"money": 0, "sanity": 8, "audience": -5, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}], "requires": ["got_laid_off"], "allow_freeform": true}
|
|
77
|
+
{"id": "product_guy_77_pm_management_becomes_ai_management", "phase": "Late", "title": "Product Management Is Prompting Now", "body": "Your new job title: 'AI Product Manager.' The reality: you write prompts. You tune AI agent behaviors. You A/B test prompt variations. You debug hallucinations. 'Product management' has become 'AI management.' You're not prioritizing features — you're adjusting temperature parameters and system prompts. The PRD is a prompt template. The roadmap is a fine-tuning schedule. You still have the title. You don't have the job.", "choices": [{"title": "Become the best prompt engineer", "body": "If this is the job now, master it. Prompt engineering pays. Not $145K, but it pays.", "delta": {"money": -500, "sanity": -8, "audience": 0, "ai_skill": 10, "friends": -2}, "min_money": 500, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Push to keep human-centric PM work", "body": "Someone needs to talk to actual humans. Insist that AI management plus human research equals the real role.", "delta": {"money": 0, "sanity": 7, "audience": 6, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": []}, {"title": "Refuse and seek a traditional PM role", "body": "'I didn't spend 7 years becoming a product person to become a prompt person.' The market has fewer traditional PM roles every month.", "delta": {"money": 0, "sanity": -10, "audience": -7, "ai_skill": 0, "friends": -3}, "min_money": null, "effects": [{"op": "set_flag", "flag": "rejected_ai"}]}], "allow_freeform": true}
|
|
78
|
+
{"id": "product_guy_78_ai_pm_replacement_demo", "phase": "Late", "title": "The Demo That Ends Your Role", "body": "All-hands. The CTO demos an AI system that takes customer feedback, writes specs, creates Jira tickets, estimates effort, and generates a roadmap. Live. In front of everyone. It works. The room is quiet. Someone claps. The CTO says 'this doesn't replace PMs, it empowers them.' The lie is so visible that even the junior engineers look at their shoes.", "choices": [{"title": "Ask hard questions about limitations", "body": "'What about edge cases? Political context? Customer relationships?' The CTO says 'great feedback.' You've been great-feedbacked into irrelevance.", "delta": {"money": 0, "sanity": -8, "audience": 10, "ai_skill": 0, "friends": -7}, "min_money": null, "effects": []}, {"title": "Volunteer to pilot it on your team", "body": "If it's coming, be the first to use it. Control the narrative. Or at least watch the narrative happen from inside.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 10, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Start your exit plan that evening", "body": "The demo was a press release for a future that doesn't include you. Act accordingly. LinkedIn. Resume. Emails.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
79
|
+
{"id": "product_guy_79_move_abroad", "phase": "Late", "title": "The Lisbon Option", "body": "A friend moved to Lisbon. Rent is 900 euros. Tech scene is growing. You could do fractional PM work from a cafe for less than you pay in rent in SF. The math is irresponsible. The math is also correct. The rent savings alone buy you six months of runway to figure out what's next.", "choices": [{"title": "Move and rebuild from a cheaper base", "body": "Pack two bags. Cancel the lease. One-way flight. The rent savings alone buy time. Time is the product.", "delta": {"money": 3200, "sanity": 12, "audience": -1, "ai_skill": 0, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "moved_abroad"}]}, {"title": "Do a trial month before committing", "body": "Airbnb in Lisbon. Work remotely. See if the vibe is real or just Instagram. The vibe is real. The Wi-Fi is spotty.", "delta": {"money": -2000, "sanity": 5, "audience": 0, "ai_skill": 0, "friends": 1}, "min_money": 2000, "effects": []}, {"title": "Stay and fight for your career here", "body": "Running is not a strategy. Unless the strategy is 'survive cheaper.' But you're staying.", "delta": {"money": 0, "sanity": -6, "audience": 6, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}], "allow_freeform": true, "requires": ["got_laid_off"]}
|
|
80
|
+
{"id": "product_guy_80_went_viral", "phase": "Late", "title": "The Viral Moment", "body": "You post a screenshot of an AI agent doing a product review of your work. Caption: 'My performance review, written by the AI replacing me, reviewed by the manager who doesn't know what I do.' 50K impressions. News outlets DM you. VCs quote-tweet you. You are briefly the main character of a discourse you'd rather not exist.", "choices": [{"title": "Ride the wave, build the audience", "body": "Post a follow-up thread. Do two podcasts. The audience is the product now. Your career trauma is content.", "delta": {"money": 600, "sanity": -8, "audience": 11, "ai_skill": 0, "friends": 5}, "min_money": null, "effects": [{"op": "set_flag", "flag": "went_viral"}]}, {"title": "Go quiet and protect your privacy", "body": "Delete the tweet. Too much attention. The discourse moves on in 48 hours. You stay anonymous.", "delta": {"money": 0, "sanity": 8, "audience": -9, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Use the attention to launch something", "body": "48 hours of attention. Use it. Launch the newsletter, the course, the thing you've been sitting on.", "delta": {"money": 500, "sanity": -6, "audience": 10, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "went_viral"}]}], "allow_freeform": true, "requires": ["built_following"]}
|
|
81
|
+
{"id": "product_guy_81_housing_crisis", "phase": "Late", "title": "The Rent Cliff", "body": "Your income dropped. Your rent didn't. The gap is $1,200/month. The savings are finite. The rent increase letter arrives. Your landlord's AI tool calculated the 'market rate.' The market rate doesn't know you were laid off. Markets don't know things. They just price them.", "choices": [{"title": "Downsize immediately, protect runway", "body": "Move to a smaller apartment. Or a shared one. Or a friend's couch. Dignity is negotiable when rent isn't.", "delta": {"money": 800, "sanity": -9, "audience": 0, "ai_skill": 0, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "lost_housing"}]}, {"title": "Negotiate with the landlord using data", "body": "Present comps. Cite vacancy rates. Be the PM of your own housing negotiation. They give you two months at current rate.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 1, "friends": 0}, "min_money": null, "effects": []}, {"title": "Take on debt to bridge the gap", "body": "Credit card. Personal loan. The gap becomes a hole. The hole has interest. The interest doesn't negotiate.", "delta": {"money": 3000, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "took_on_debt"}]}], "allow_freeform": true, "requires": ["got_laid_off"]}
|
|
82
|
+
{"id": "product_guy_82_role_dissolution", "phase": "Late", "title": "The Role Evaporates", "body": "It's not a single moment. It's a gradient. First, AI writes the specs. Then, engineers talk to customers directly. Then, the roadmap auto-generates from usage data. Then, stakeholder updates are automated. Each piece that leaves is a piece of you. You're still employed. You're just less. The role isn't dying. It's evaporating. Like water. You can see where it was. You can't hold it.", "choices": [{"title": "Redefine yourself around what's left", "body": "Strategy. Vision. Taste. The unautomatable residue of a career. Build a new identity from ashes.", "delta": {"money": 0, "sanity": 8, "audience": 9, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": []}, {"title": "Document the dissolution publicly", "body": "Write about what's happening in real-time. The autopsy of a role, written by the patient. It resonates because it's happening to everyone.", "delta": {"money": 0, "sanity": -8, "audience": 10, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Rage-apply to 50 jobs", "body": "Volume. Speed. Desperation dressed as hustle. The PM job market is 400 applicants per listing now.", "delta": {"money": 0, "sanity": -11, "audience": 0, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
83
|
+
{"id": "product_guy_83_debt_spiral", "phase": "Late", "title": "The Debt Spiral", "body": "The lifestyle. The sabbatical. The courses. The conference. The coaching. The side project costs. It all added up while the income was good. Now the income isn't good. You owe $22,000 across three credit cards. The interest rate is 24%. You are in debt to your past self's optimism about your future self's career.", "choices": [{"title": "Face it, consolidate and plan", "body": "Call the banks. Negotiate rates. Sell the standing desk for $200. The dignity loss is free.", "delta": {"money": -800, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": 800, "effects": [{"op": "set_flag", "flag": "took_on_debt"}]}, {"title": "Take any PM job available", "body": "Contract work. Below your rate. Below your dignity. Above your debt payment.", "delta": {"money": 4000, "sanity": -10, "audience": -7, "ai_skill": 0, "friends": -3}, "min_money": null, "effects": []}, {"title": "Ask friends for help", "body": "Swallow the pride. Call three people. Two Venmo you money. One offers a spare room. Community is a financial product.", "delta": {"money": 600, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 11}, "min_money": null, "effects": []}], "allow_freeform": true, "requires": ["lifestyle_crept"]}
|
|
84
|
+
{"id": "product_guy_84_got_canceled", "phase": "Late", "title": "The Cancellation", "body": "Your viral tweet about AI replacing PMs gets weaponized. Someone screenshots an old blog post where you celebrated AI efficiency. They frame it as 'PM cheerfully helps automate colleagues out of jobs.' Your DMs fill with anger from laid-off PMs. You wrote a nuanced take. The internet doesn't do nuance.", "choices": [{"title": "Apologize and engage the criticism", "body": "Write a thread. Acknowledge the pain. Don't defend yourself. The internet forgives slowly. If at all.", "delta": {"money": 0, "sanity": -10, "audience": -7, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_canceled"}]}, {"title": "Log off and wait it out", "body": "48 hours. That's how long the internet remembers. Disappear. The discourse moves to someone else by Thursday.", "delta": {"money": 0, "sanity": 9, "audience": -7, "ai_skill": 0, "friends": 1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_canceled"}]}, {"title": "Double down on your position", "body": "You meant what you said. AI is coming for these roles. Saying it out loud shouldn't be a crime. The mob disagrees.", "delta": {"money": 0, "sanity": -7, "audience": 10, "ai_skill": 0, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "got_canceled"}]}], "allow_freeform": true, "requires": ["went_viral"]}
|
|
85
|
+
{"id": "product_guy_85_ai_writes_your_resume", "phase": "Late", "title": "AI Writes Your Resume", "body": "You ask Claude to rewrite your resume. It converts 'wrote PRDs' to 'orchestrated AI-augmented product discovery workflows.' It turns 'ran standups' into 'designed cross-functional cadence systems.' Your resume describes a job that doesn't exist using words that don't mean anything. It's the most PM thing you've ever read. And it passes the ATS bots that will decide your future.", "choices": [{"title": "Use it — the market speaks this language", "body": "The resume is AI-optimized for AI-screening tools. The robots write for the robots. You're just the delivery mechanism.", "delta": {"money": 0, "sanity": -8, "audience": 8, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Write it honestly, stand out", "body": "'I wrote specs. I talked to users. I made decisions under uncertainty.' The honesty is refreshing. Or invisible.", "delta": {"money": 0, "sanity": 8, "audience": -2, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}, {"title": "Build a portfolio instead of a resume", "body": "Show, don't tell. Shipped products. Revenue impact. User testimonials. Harder to fake. Harder to AI.", "delta": {"money": -600, "sanity": -4, "audience": 10, "ai_skill": 0, "friends": 0}, "min_money": 600, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}], "allow_freeform": true, "requires": ["got_laid_off"]}
|
|
86
|
+
{"id": "product_guy_86_teaching_fulltime", "phase": "Late", "title": "The Teaching Pivot", "body": "The bootcamp offers a full-time teaching position. $95K/year. Less than your PM salary. More than your current income of zero. You'd teach 'AI-Era Product Management' to the next generation. You're Virgil guiding people through a hell you haven't escaped yet.", "choices": [{"title": "Take the teaching job and find peace", "body": "Steady income. Students who look at you like you have answers. You don't. But you have scars, which is close.", "delta": {"money": 1800, "sanity": 10, "audience": 4, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_teaching"}]}, {"title": "Counter with a hybrid teaching deal", "body": "Teach three days. Consult two days. Maximum optionality. Minimum sleep.", "delta": {"money": 2200, "sanity": -8, "audience": 6, "ai_skill": 8, "friends": -4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "started_teaching"}]}, {"title": "Decline — teaching admits it's over", "body": "If you teach PM, you've stopped doing PM. The classroom is hospice for careers.", "delta": {"money": 0, "sanity": -12, "audience": 0, "ai_skill": 0, "friends": -8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
87
|
+
{"id": "product_guy_87_side_project_fails", "phase": "Late", "title": "The Side Project Dies", "body": "Your PM tool with 2,000 users. A competitor launches the same thing, backed by $20M, with 15 engineers. Your users churn. MRR drops 70% in a month. You built it first. They built it better. First doesn't win. Funded wins. The tool you made to replace PMs is being replaced by a better tool to replace PMs.", "choices": [{"title": "Shut it down, learn from it", "body": "Close the product. Write the postmortem. The lessons are worth more than the MRR was. Probably.", "delta": {"money": -800, "sanity": 8, "audience": -2, "ai_skill": 8, "friends": 0}, "min_money": 800, "effects": [{"op": "set_flag", "flag": "side_project_failed"}], "requires": ["started_side_project"]}, {"title": "Pivot to a niche they won't serve", "body": "Go smaller. Go weirder. Find the corner where $20M doesn't want to go.", "delta": {"money": -1500, "sanity": -10, "audience": 6, "ai_skill": 8, "friends": 0}, "min_money": 1500, "effects": [], "requires": ["started_side_project"]}, {"title": "Open-source it and move on", "body": "If you can't sell it, give it away. The code lives on GitHub. Your name is on it. The reputation is the product.", "delta": {"money": 0, "sanity": 6, "audience": 10, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "open_sourced"}], "requires": ["started_side_project"]}], "requires": ["started_side_project"], "allow_freeform": true}
|
|
88
|
+
{"id": "product_guy_88_pm_book_deal", "phase": "Late", "title": "The Book Deal", "body": "A publisher wants a book on 'The Death and Rebirth of Product Management.' $15K advance. 60,000 words. The idea of leaving something behind — a book, a record that says 'this role existed and it mattered' — that idea has weight. The advance does not.", "choices": [{"title": "Write the book", "body": "Six months of mornings and weekends. Honest, funny, a little sad. It sells 8,000 copies. Enough to matter.", "delta": {"money": 7500, "sanity": -10, "audience": 10, "ai_skill": 0, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}, {"title": "Draft with AI, edit for voice", "body": "Claude writes the first draft. You rewrite for authenticity. A book about AI replacing PMs, co-written with AI. Unavoidably meta.", "delta": {"money": 7500, "sanity": -6, "audience": 8, "ai_skill": 10, "friends": -2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Decline — not ready for the eulogy", "body": "The book would be closure. You're not ready for closure. The fight isn't over.", "delta": {"money": 0, "sanity": 10, "audience": -6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true, "requires": ["built_following"]}
|
|
89
|
+
{"id": "product_guy_89_recovery_arc", "phase": "Late", "title": "The Comeback", "body": "You hit bottom. Then you rested. Then you rebuilt. New skills. New network. New understanding of what you're worth. The comeback isn't a montage. It's 200 days of small things — a course finished, a connection made, a skill practiced. You're not who you were. You might be better. You're definitely different.", "choices": [{"title": "Launch a new venture", "body": "This time you're not a PM at someone else's company. You're the founder. The product is yours. The risk is yours.", "delta": {"money": -3500, "sanity": 8, "audience": 6, "ai_skill": 8, "friends": 0}, "min_money": 3500, "effects": [{"op": "set_flag", "flag": "recovered_from_crisis"}], "requires": ["hit_rock_bottom"]}, {"title": "Join a startup that values humans", "body": "Find a company that believes PMs matter. They exist. They're just quieter than the ones firing PMs.", "delta": {"money": 2000, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "recovered_from_crisis"}], "requires": ["hit_rock_bottom"]}, {"title": "Give back to the PM community", "body": "Teach what you learned. Not from textbooks — from scars. The best teachers are the ones who almost didn't make it.", "delta": {"money": 0, "sanity": 9, "audience": 6, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "recovered_from_crisis"}], "requires": ["hit_rock_bottom"]}], "requires": ["hit_rock_bottom"], "allow_freeform": true}
|
|
90
|
+
{"id": "product_guy_90_plagiarized_framework", "phase": "Late", "title": "AI Scraped Your Framework", "body": "You find your product management framework — the one you spent three years developing — in an AI tool's output. Word for word. Diagram for diagram. No attribution. Your thinking has been absorbed into the machine. You are now training data. The framework is free. You are not compensated. The tool costs $29/month and is being sold back to PMs.", "choices": [{"title": "Demand attribution, threaten legal action", "body": "Lawyer up. Send a cease and desist. They respond with 'we'll look into it.' They don't look into it.", "delta": {"money": -1500, "sanity": -10, "audience": 6, "ai_skill": 0, "friends": -2}, "min_money": 1500, "effects": [{"op": "set_flag", "flag": "plagiarized_by_ai"}]}, {"title": "Accept it, keep creating new work", "body": "The old work is gone. Make new work. Stay ahead of the machine. The machine is fast. You need to be faster.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "plagiarized_by_ai"}]}, {"title": "Write a viral AI plagiarism post", "body": "'An AI tool stole my framework and sells it back to PMs.' 20K views. No resolution. Great engagement.", "delta": {"money": 0, "sanity": -6, "audience": 11, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "plagiarized_by_ai"}]}], "allow_freeform": true}
|
|
91
|
+
{"id": "product_guy_91_debt_cleared", "phase": "Late", "title": "Debt Free", "body": "The last payment. Balance is zero. You did it through contract work, frugality, and one really good consulting gig. The relief doesn't feel like celebration. It feels like exhaling after holding your breath for 14 months. You are not ahead. You are at zero. Zero feels like a miracle.", "choices": [{"title": "Build an emergency fund first", "body": "Six months of savings. Then twelve. The money is boring. Boring is the goal now.", "delta": {"money": 1500, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "debt_cleared"}], "requires": ["took_on_debt"]}, {"title": "Invest in yourself, carefully this time", "body": "One course. One conference. Measured spending. The lesson from debt is that investment has interest in both directions.", "delta": {"money": -1500, "sanity": 6, "audience": 0, "ai_skill": 10, "friends": 0}, "min_money": 1500, "effects": [{"op": "set_flag", "flag": "debt_cleared"}], "requires": ["took_on_debt"]}, {"title": "Celebrate with the friends who helped", "body": "Dinner on you. For the first time in a year, you pick up a check. It feels like winning.", "delta": {"money": -400, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": 400, "effects": [{"op": "set_flag", "flag": "debt_cleared"}], "requires": ["took_on_debt"]}], "requires": ["took_on_debt"], "allow_freeform": true}
|
|
92
|
+
{"id": "product_guy_92_ai_product_ethics", "phase": "Late", "title": "The Ethics Question", "body": "Your AI product locks out a user based on behavioral predictions. Engagement is up. Revenue is up. But the user writes in: 'Your system locked me out because I don't use the app the way it expected.' The AI is right statistically. It's wrong humanistically. You built the spec. The spec didn't include 'be fair.'", "choices": [{"title": "Raise the ethics concern, push guardrails", "body": "Write a proposal. Flag the edge case. Add human review. It slows the product. It makes it right.", "delta": {"money": -500, "sanity": 10, "audience": 4, "ai_skill": 0, "friends": 2}, "min_money": 500, "effects": []}, {"title": "Ignore it — metrics support the decision", "body": "One complaint vs. 18% engagement lift. The math doesn't have a conscience. Neither does the quarterly review.", "delta": {"money": 1500, "sanity": -14, "audience": 0, "ai_skill": 0, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "sold_out"}]}, {"title": "Blow the whistle publicly", "body": "Write a post about AI product ethics. Name the pattern. Everyone knows which company. Including your company.", "delta": {"money": -4400, "sanity": 4, "audience": 11, "ai_skill": 0, "friends": -9}, "min_money": 4400, "effects": [{"op": "set_flag", "flag": "blew_the_whistle"}]}], "allow_freeform": true}
|
|
93
|
+
{"id": "product_guy_93_pm_role_returns", "phase": "Late", "title": "The Role Returns (Smaller)", "body": "A company that fired all its PMs last year is hiring PMs again. Their blog post: 'We learned that AI can't replace product judgment.' The salary is 30% lower. The title includes 'AI-Augmented.' The JD says 'must be proficient in prompt engineering.' Like a species thought extinct, spotted in the wild. Changed. Smaller. Underpaid. But alive.", "choices": [{"title": "Apply and help rebuild PM", "body": "Go back. Rebuild. This time with AI as a tool, not a threat. The role is different. Maybe humbler.", "delta": {"money": 1800, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 2}, "min_money": null, "effects": []}, {"title": "Pass — you've moved beyond PM", "body": "You're something else now. Consultant. Creator. Founder. The old role is a museum piece. You've evolved.", "delta": {"money": 0, "sanity": 10, "audience": 6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Write 'The PM Role's Second Act'", "body": "Document the return. Analyze what changed. The post is both journalism and therapy.", "delta": {"money": 0, "sanity": -4, "audience": 10, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}], "allow_freeform": true}
|
|
94
|
+
{"id": "product_guy_94_sold_everything", "phase": "Late", "title": "The Great Downsizing", "body": "You sell the standing desk. The monitor arm. The Herman Miller. You keep the laptop and one mug that says 'I survived agile.' The apartment gets smaller. The overhead gets lower. There's a freedom in having less stuff. There's also a sadness in discovering that freedom involuntarily.", "choices": [{"title": "Embrace minimalism and build lean", "body": "Less stuff. Less overhead. More options. The constraints are the features now.", "delta": {"money": 750, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Invest the cash in one more shot", "body": "The liquidation funds one more bet. A course. A project. A bet on yourself with the proceeds of your previous life.", "delta": {"money": -1200, "sanity": -8, "audience": 0, "ai_skill": 10, "friends": 0}, "min_money": 1200, "effects": []}, {"title": "Let the loss motivate you forward", "body": "Every object sold is a reminder. The reminder hurts. The hurt moves you forward. The forward is all there is.", "delta": {"money": 600, "sanity": -8, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
95
|
+
{"id": "product_guy_95_pm_identity_crisis", "phase": "Late", "title": "The Identity Question", "body": "Someone at a party asks what you do. You pause. 'I used to be a product manager.' Used to. The past tense is new. It's been your identity for a decade. Without it, you're just a person with strong opinions about prioritization frameworks and a LinkedIn full of recommendations for a role that no longer exists.", "choices": [{"title": "Define yourself by what you create", "body": "'I build things that help people work better.' No title. No framework. Just the work.", "delta": {"money": 0, "sanity": 12, "audience": 8, "ai_skill": 0, "friends": 2}, "min_money": null, "effects": []}, {"title": "Reclaim PM identity on new terms", "body": "'I'm a product person.' The evolution of the label. Still you. Just updated. Like a patch for a deprecated API.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Laugh and say 'it's complicated'", "body": "The honest answer. The party continues. Nobody asks a follow-up. The answer is for you, not for them.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true}
|
|
96
|
+
{"id": "product_guy_96_final_standup", "phase": "Endgame", "title": "The Last Standup", "body": "Your final standup. The Slack bot asks for your update. You type: 'No blockers. Last day Friday.' The bot responds with a green checkmark. Nobody threads a reply. The ceremony you ran 1,200 times ends with an emoji from a machine. Somewhere in a server rack, a cron job marks you as inactive.", "choices": [{"title": "Send a heartfelt goodbye message", "body": "Write the farewell. Tag the people who mattered. Some respond. Some don't. That's okay.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": []}, {"title": "Leave quietly without a farewell", "body": "Close the laptop. Return the badge. Walk out. The building doesn't notice. The bot marks you inactive.", "delta": {"money": 0, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": -8}, "min_money": null, "effects": []}, {"title": "Screenshot the standup and post it", "body": "'1,200 standups. One green checkmark at the end.' The post resonates. Every PM who's been automated feels it in their chest.", "delta": {"money": 0, "sanity": -6, "audience": 12, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "went_viral"}]}], "allow_freeform": true}
|
|
97
|
+
{"id": "product_guy_97_products_build_themselves", "phase": "Endgame", "title": "Products Build Themselves", "body": "You watch a demo of an AI system that identifies a user need from support tickets, designs the solution, codes the feature, A/B tests it, measures the impact, and writes the release notes. End to end. No human in the loop. The product builds itself, ships itself, markets itself. The demo takes 4 minutes. The audience applauds. You're in the audience. Applauding the machine that ate your career.", "choices": [{"title": "Become the human oversight layer", "body": "Someone needs to watch the machine. Make sure it doesn't ship something evil. The watchman role. Not glamorous. Probably temporary.", "delta": {"money": 0, "sanity": -10, "audience": 0, "ai_skill": 10, "friends": -1}, "min_money": null, "effects": []}, {"title": "Build competing AI PM tools", "body": "If the market is AI replacing PMs, be the one selling the replacement. The arms dealer survives the war.", "delta": {"money": 1500, "sanity": -8, "audience": 8, "ai_skill": 10, "friends": -9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Walk away from product entirely", "body": "The field is over. Not dying — over. Find the next thing. Whatever it is, make sure a machine can't do it next year.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}], "allow_freeform": true}
|
|
98
|
+
{"id": "product_guy_98_backlog_zero_endgame", "phase": "Endgame", "title": "The Empty Backlog", "body": "Your backlog has zero items. Not because you cleared it — because the AI and engineers move faster than you can spec. Every ticket you write is done before the standup. You create a feature brief at 9am. By 11am it's in production. By noon the AI has iterated on it twice based on user data. You are the bottleneck of nothing. The board is green. You are gray.", "choices": [{"title": "Find problems nobody is looking at", "body": "The unexplored territory. The human needs the machine can't see. Your new backlog is existential, not technical.", "delta": {"money": 0, "sanity": 10, "audience": 6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Invest the freed time in yourself", "body": "The machine freed your time. Use it to learn, build, grow. The optimization created space. Fill it wisely.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 10, "friends": 0}, "min_money": null, "effects": []}, {"title": "Panic about being structurally irrelevant", "body": "If the board is green without you, the question isn't rhetorical anymore. The answer is: no, they don't need you.", "delta": {"money": 0, "sanity": -14, "audience": -2, "ai_skill": 0, "friends": -2}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
99
|
+
{"id": "product_guy_99_human_needs_archaeologist", "phase": "Endgame", "title": "Human Needs Archaeologist", "body": "A job listing appears: 'Human Needs Archaeologist.' Salary: $180K. The job: figure out what humans need that AI can't see. Latent desires. Unarticulated pain. The things people don't know they want until they see them. It's basically product management, stripped of all the process and left with only the human insight. Your entire career was training for this job that didn't exist until everything else was automated.", "choices": [{"title": "Apply — this is you, distilled", "body": "The job description reads like your autobiography minus the Jira tickets. You apply. The interview is a conversation about what humans want. You nail it.", "delta": {"money": 4000, "sanity": 14, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Start your own consultancy around it", "body": "Don't take the job. Be the job. 'Human Needs Archaeology, LLC.' $400/hour. Three clients in the first month.", "delta": {"money": 3500, "sanity": 8, "audience": 10, "ai_skill": 0, "friends": 2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}, {"title": "Feel bittersweet about the rebrand", "body": "This was always the job. They just didn't call it this. They called it 'product management' and paid less.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
100
|
+
{"id": "product_guy_100_pm_reunion", "phase": "Endgame", "title": "The PM Reunion", "body": "Drinks with former PM colleagues. One became a founder. One teaches. One went into carpentry and refinishes furniture — says 'it's like user stories, but you can sand them.' One works at a nonprofit. One drives for Uber and is happier than they've ever been. The PM who pivoted to manual labor is thriving. The one who stayed in 'product' is managing an AI that doesn't need managing.", "choices": [{"title": "Enjoy the moment, feel grateful", "body": "These people understood your job when nobody else did. The job is gone. The people remain. That's the real product.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": []}, {"title": "Pitch a collaboration with the group", "body": "A consulting collective. A PM alumni network. Turn the reunion into a business. PMs gonna PM.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}, {"title": "Feel melancholy and drink too much", "body": "The memories are warm. The present is cold. The drinks bridge the gap. Tomorrow you'll text everyone and pretend you're fine.", "delta": {"money": -300, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": 4}, "min_money": 300, "effects": []}], "allow_freeform": true}
|
|
101
|
+
{"id": "product_guy_101_agents_manage_agents", "phase": "Endgame", "title": "Agents Managing Agents", "body": "Your replacement AI agent now manages other AI agents. Engineering agent, design agent, QA agent. They coordinate through a shared context window. No standups. No retros. No feelings about OKRs. The product ships faster. Without soul. Nobody can tell the difference. That's the real loss — not that the soul is gone, but that nobody noticed.", "choices": [{"title": "Consult on 'product soul'", "body": "Some companies realize something's missing. Taste. Empathy. You sell that by the hour. $350/hour for feelings.", "delta": {"money": 3500, "sanity": 8, "audience": 10, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Accept that soul wasn't in the JD", "body": "Maybe the product never had soul. Maybe you just projected yours onto it. The realization is brutal and freeing.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Write the essay on what was lost", "body": "'What We Lost When We Automated Product Management.' 100K views. A record for a eulogy.", "delta": {"money": 0, "sanity": -8, "audience": 12, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}], "allow_freeform": true}
|
|
102
|
+
{"id": "product_guy_102_the_split", "phase": "Endgame", "title": "The Two-Class PM", "body": "Two classes of PM emerge. The 'AI-native PM' — basically a prompt engineer with product vocabulary — making $80K. And the 'human experience PM' making $400K but serving only luxury brands, physical products, and high-touch experiences. The gap is $320K and a philosophy. You are being asked to choose which class you belong to. The middle class of PM is gone. Just like the middle class of everything.", "choices": [{"title": "Go high — human experience PM", "body": "Luxury. Physical products. Things that need a human touch. The pay is extraordinary. The clients are difficult. The work is real.", "delta": {"money": 3500, "sanity": 8, "audience": 6, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Go efficient — AI-native PM", "body": "$80K. Prompt engineering. High volume. Low prestige. But steady work. There's dignity in steady.", "delta": {"money": -1300, "sanity": -12, "audience": 0, "ai_skill": 10, "friends": -2}, "min_money": 1300, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}, {"title": "Refuse the binary, create a third path", "body": "You don't want to be luxury or commodity. You want to be useful. Build your own category. Again.", "delta": {"money": 0, "sanity": 9, "audience": 6, "ai_skill": 6, "friends": 8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
103
|
+
{"id": "product_guy_103_meaning_consultant", "phase": "Endgame", "title": "The Meaning Consultant", "body": "A VC-backed startup hires you as a 'Meaning Consultant.' Your job: help their AI-built products feel like they were made by humans who care. You review AI-generated UX flows and add friction where friction creates delight. You slow things down where speed feels sterile. You add a loading animation that says 'thinking...' to a response that takes 0ms. You're a feelings janitor. It pays $300/hour.", "choices": [{"title": "Lean into it, build the practice", "body": "Meaning consulting is a real job. The market for 'make AI products feel human' is growing. You are the human.", "delta": {"money": 4500, "sanity": 8, "audience": 7, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}, {"title": "Feel absurd but keep cashing checks", "body": "You're paid to add a 2-second delay to instant responses. The absurdity is the job. The job pays. Don't overthink it.", "delta": {"money": 4500, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}, {"title": "Write about the irony publicly", "body": "'I'm paid $300/hour to add fake loading screens to AI products.' The post gets 50K views. Three companies DM you for the same service.", "delta": {"money": 1500, "sanity": -7, "audience": 11, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}], "allow_freeform": true}
|
|
104
|
+
{"id": "product_guy_104_ai_has_opinions", "phase": "Endgame", "title": "The AI With Product Opinions", "body": "You're consulting for a startup. Their AI PM agent disagrees with your recommendation. It has a 'product philosophy' trained from thousands of PM blogs. The AI has opinions. It has taste. It has a perspective shaped by your collective profession's writing. You trained the thing that argues with you. The student is the entire corpus. And it's winning.", "choices": [{"title": "Engage the AI as a peer", "body": "Debate the recommendation. Present reasoning. The AI presents its reasoning. One of you is right. It's genuinely a coin flip.", "delta": {"money": 0, "sanity": -10, "audience": 0, "ai_skill": 10, "friends": -10}, "min_money": null, "effects": []}, {"title": "Override it, assert human judgment", "body": "'I've seen this pattern in real companies.' You override. You're right. This time. The 'this time' is doing work.", "delta": {"money": 300, "sanity": 8, "audience": 0, "ai_skill": 2, "friends": 0}, "min_money": null, "effects": []}, {"title": "Realize you're arguing with a mirror", "body": "The AI's opinions are your profession's opinions, averaged. You're debating the mean of yourself. The existentialism is recursive.", "delta": {"money": 0, "sanity": -10, "audience": 7, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
105
|
+
{"id": "product_guy_105_backlog_of_life", "phase": "Endgame", "title": "The Backlog of Life", "body": "You make a list of everything you deferred while being a PM. Learning guitar. Seeing your parents. Reading fiction. Sleeping enough. Having hobbies that don't involve optimizing something. The backlog of your life is longer than any product backlog you managed. You are the product now. And you've been neglected for a decade.", "choices": [{"title": "Start working through it", "body": "Guitar lesson. Call Mom. Buy a novel. Cook dinner from scratch. Ship one personal feature at a time.", "delta": {"money": -400, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": 400, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Prioritize ruthlessly, like at work", "body": "Pick three. Guitar. Parents. Sleep. The rest goes to 'Someday.' Someday is where dreams live. And die.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 2}, "min_money": null, "effects": []}, {"title": "Refuse to optimize your personal life", "body": "No backlog. No sprints. No retros. Just live. The anti-PM approach to being a person.", "delta": {"money": 0, "sanity": 10, "audience": -7, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true}
|
|
106
|
+
{"id": "product_guy_106_pm_memorial", "phase": "Endgame", "title": "The PM Memorial Post", "body": "A viral image: a tombstone that reads 'Product Management, 1931-2026. She prioritized everything except her own survival.' 100K views. The replies are a mix of laughter, grief, and 'actually PMs were never needed.' You screenshot it. You don't share it. You just look at it sometimes. Like a photo of an old friend who didn't make it.", "choices": [{"title": "Laugh, share it, move forward", "body": "Humor is how you process loss. The role is dead. Long live the people who did it.", "delta": {"money": 0, "sanity": 10, "audience": 10, "ai_skill": 0, "friends": 2}, "min_money": null, "effects": []}, {"title": "Write a rebuttal about PM's legacy", "body": "Name the products built by PMs. The decisions made. The users served. The eulogy deserves a counter-narrative.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Feel the loss and let it go", "body": "Some grief doesn't need an audience. You close the tab. Open a blank page. Start writing the next thing.", "delta": {"money": 0, "sanity": 11, "audience": 0, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true}
|
|
107
|
+
{"id": "product_guy_107_experience_curator", "phase": "Endgame", "title": "The Experience Curator", "body": "A luxury hotel chain hires you. Title: 'Experience Curator.' Your job: design human experiences that cannot be automated. A check-in ritual that involves eye contact. A concierge who remembers your name. A room that smells like a memory. You're a PM for feelings. The products are moments. The backlog is personal. The salary is $200K and you haven't opened Jira in six months.", "choices": [{"title": "Thrive in the new role", "body": "The PM skills transfer perfectly — user research, journey mapping, empathy. Just aimed at the physical world. It fits.", "delta": {"money": 3500, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "pivoted_career"}]}, {"title": "Miss the chaos of tech", "body": "The hotel is beautiful. The work is meaningful. But you miss the velocity. The sprint. The chaos. You were built for chaos.", "delta": {"money": 800, "sanity": -8, "audience": 0, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": []}, {"title": "Write about the transition publicly", "body": "'From PRDs to pillow menus.' The post is funny and real. Other displaced PMs DM you asking how.", "delta": {"money": 0, "sanity": 6, "audience": 10, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}], "allow_freeform": true}
|
|
108
|
+
{"id": "product_guy_108_the_reversal", "phase": "Endgame", "title": "The PMs Who Survived", "body": "The PMs who survived are the ones who stopped managing products and started managing meaning. They don't write specs. They write visions. They don't prioritize backlogs. They prioritize lives — their own and their clients'. The product is life. The sprint is a season. The retro is therapy. The successful ex-PMs don't use PM language anymore. They use human language. And it pays better.", "choices": [{"title": "Adopt the meaning-management path", "body": "Stop managing products. Start managing what matters. The clients appear. The money follows. The framework is just 'be useful to humans.'", "delta": {"money": 2400, "sanity": 10, "audience": 6, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Stay technical, reject the woo", "body": "Meaning management sounds like life coaching in a Patagonia vest. You're a builder. Keep building.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 14, "friends": -2}, "min_money": null, "effects": []}, {"title": "Blend both — meaning plus machines", "body": "Human insight powered by AI tools. The best of both. The PM who adapted to both worlds.", "delta": {"money": 2000, "sanity": 8, "audience": 6, "ai_skill": 10, "friends": 8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
109
|
+
{"id": "product_guy_109_sellout_opportunity", "phase": "Endgame", "title": "The Sellout Offer", "body": "A FAANG company offers $200K/year to be 'Head of AI PM Enablement.' Your job: help them replace PMs at other companies using their AI tools. You'd be well-paid. Benefits are incredible. The work is helping build the machine that eats your own kind. The irony isn't subtle. The dental plan is outstanding.", "choices": [{"title": "Take the money, rationalize later", "body": "$200K buys a lot of rationalization. Someone will build it with or without you. Might as well get the dental.", "delta": {"money": 3800, "sanity": -10, "audience": 0, "ai_skill": 6, "friends": -11}, "min_money": null, "effects": [{"op": "set_flag", "flag": "sold_out"}]}, {"title": "Decline and keep your integrity", "body": "'I can't help build the thing that displaced my colleagues.' The email is short. The bank account is lighter. The mirror is clearer.", "delta": {"money": 0, "sanity": 14, "audience": 6, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": []}, {"title": "Counter with a PM transition role", "body": "'I'll join if you let me build a PM transition program.' They consider it. The program might actually help people.", "delta": {"money": 3600, "sanity": 8, "audience": 6, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}], "allow_freeform": true}
|
|
110
|
+
{"id": "product_guy_110_newsletter_milestone", "phase": "Endgame", "title": "The Newsletter Milestone", "body": "Newsletter hits 50,000 subscribers. Paid tier: 2,000 members at $10/month. That's $20K/month. More than your PM salary ever was. You write about the death of PM and get paid more for writing about it than you did for doing it. The content about the crisis became bigger than the career. The meta is the product now.", "choices": [{"title": "Scale it into a media company", "body": "Hire writers. Launch a podcast. Build the brand. You're not a PM anymore. You're a media company about PM.", "delta": {"money": 4600, "sanity": -10, "audience": 11, "ai_skill": 0, "friends": -10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}], "requires": ["started_newsletter"]}, {"title": "Keep it personal and authentic", "body": "Don't scale. Don't hire. Stay one person writing one newsletter. The authenticity is the product.", "delta": {"money": 700, "sanity": 10, "audience": 6, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": [], "requires": ["started_newsletter"]}, {"title": "Advocate for displaced PMs through it", "body": "50K readers. Use it. Job boards. Transition resources. Community. The newsletter becomes a lifeline.", "delta": {"money": 0, "sanity": 9, "audience": 7, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}], "requires": ["started_newsletter"]}], "requires": ["started_newsletter"], "allow_freeform": true}
|
|
111
|
+
{"id": "product_guy_111_slop_reckoning", "phase": "Endgame", "title": "The Slop Reckoning", "body": "AI-generated products are everywhere. Every app feels the same. UX is 'good enough.' Copy is 'fine.' Features are 'adequate.' Nobody is delighted. Nobody is angry. Everything is beige. Then the backlash starts. Users complain: 'Why does everything feel like it was made by a machine?' Because it was. And nobody stopped to ask if 'good enough' was actually good enough. The age of abundance is also the age of mediocrity.", "choices": [{"title": "Build something with deliberate craft", "body": "Slower. Intentional. Opinionated. The product has edges and personality. Users notice. Craft is the rebellion.", "delta": {"money": -1500, "sanity": 10, "audience": 11, "ai_skill": 0, "friends": 2}, "min_money": 1500, "effects": []}, {"title": "Consult on humanizing AI products", "body": "Companies pay you to add soul. The soul is a consulting fee. $350/hour. Feelings are a luxury good.", "delta": {"money": 4200, "sanity": -8, "audience": 6, "ai_skill": 0, "friends": -2}, "min_money": null, "effects": []}, {"title": "Accept beige, find meaning elsewhere", "body": "Not every product needs soul. Some just need to work. Find your meaning outside the product. In life.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true}
|
|
112
|
+
{"id": "product_guy_112_mentee_surpasses_you", "phase": "Endgame", "title": "The Student Surpasses the Teacher", "body": "The junior PM you mentored just got promoted to VP of Product. At a company that still has PMs. They credit you in their LinkedIn post: 'My mentor taught me that product is about people, not features.' You read it in a coffee shop where you're working on a consulting proposal for $150/hour. They surpassed you. That's the point of mentoring. It still stings.", "choices": [{"title": "Feel proud and congratulate them", "body": "Their success is partially your success. You text them. They respond instantly. The relationship is the product.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [], "requires": ["became_mentor"]}, {"title": "Ask them for a referral", "body": "No shame. The person you taught can now help you. The hierarchy inverted. Growth is non-linear.", "delta": {"money": 1500, "sanity": -4, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [], "requires": ["became_mentor"]}, {"title": "Reflect on what mentoring taught you", "body": "Teaching them forced you to articulate things you felt but couldn't name. The student learned PM. You learned purpose.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 8, "friends": 2}, "min_money": null, "effects": [], "requires": ["became_mentor"]}], "requires": ["became_mentor"], "allow_freeform": true}
|
|
113
|
+
{"id": "product_guy_113_ai_passes_pm_interview", "phase": "Endgame", "title": "AI Passes 94% of PM Interviews", "body": "A researcher publishes a study: an AI agent passed 94% of PM interviews at top companies. Better than 97% of human candidates. The study goes viral. The comments divide between 'this proves PM is a fake job' and 'this proves PM interviews are fake tests.' Both might be true. The PM who managed products is now a product that fails the market test.", "choices": [{"title": "Focus on what AI can't fake", "body": "Relationships. Trust. Reading a room. These are the differentiators. Hold them tight. They're all you have.", "delta": {"money": 0, "sanity": 7, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": []}, {"title": "Write about why the study matters", "body": "'PM isn't about answering questions. It's about knowing which questions to ask.' The post does well. It changes nothing.", "delta": {"money": 0, "sanity": -10, "audience": 10, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Laugh — the interviews were always fake", "body": "They never measured real PM ability. They measured performance. The AI is good at performing. So were you.", "delta": {"money": 0, "sanity": 10, "audience": 2, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
114
|
+
{"id": "product_guy_114_shipped_something_real", "phase": "Endgame", "title": "You Shipped Something Real", "body": "Not a PRD. Not a spec. Not a roadmap. An actual product. You built it. With AI help, yes. But the vision was yours. The decisions were yours. The users are real. Revenue is $3K/month. It's small. It's yours. For the first time in a decade, your name isn't in a stakeholder field. It's on the product. This is what 'producing something' feels like.", "choices": [{"title": "Scale it and build a real business", "body": "$3K becomes $10K becomes $30K. The PM who couldn't answer 'what do you produce' now produces this.", "delta": {"money": 4000, "sanity": 10, "audience": 8, "ai_skill": 10, "friends": -1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}, {"title": "Keep it small and meaningful", "body": "Not everything needs to scale. Some products are just useful. Some careers are just good. Small is fine.", "delta": {"money": 700, "sanity": 10, "audience": 0, "ai_skill": 1, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "shipped_creative_work"}]}, {"title": "Open-source it and give it away", "body": "The best PRD you ever wrote is a working product, given away free. The framework lives in code, not Notion.", "delta": {"money": 0, "sanity": 8, "audience": 12, "ai_skill": 2, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "open_sourced"}]}], "allow_freeform": true}
|
|
115
|
+
{"id": "product_guy_115_conference_keynote", "phase": "Endgame", "title": "The Conference Keynote", "body": "They ask you to keynote a product conference. Title: 'What Product Management Taught Me About Being Human.' You stand on stage in front of 800 people. Some are PMs. Some were PMs. Some manage AI agents that replaced PMs. You tell them the truth: the role was made up, and it was beautiful, and it mattered, and it's okay that it changed. The standing ovation is for a profession as much as a person.", "choices": [{"title": "Deliver the speech with conviction", "body": "You speak for 30 minutes. People cry. You cry. The applause doesn't fix anything. It means everything.", "delta": {"money": 4000, "sanity": 10, "audience": 10, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Use the platform to launch what's next", "body": "End the speech with your new thing. The keynote is a launch event. Old PM habits.", "delta": {"money": 3500, "sanity": -10, "audience": 14, "ai_skill": 0, "friends": -3}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Keep it short and real, leave the stage", "body": "Five minutes. 'It was a good run. Build good things. Be kind to the people who build them.' Walk off.", "delta": {"money": 0, "sanity": 11, "audience": 6, "ai_skill": 0, "friends": 4}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
116
|
+
{"id": "product_guy_116_empty_calendar", "phase": "Endgame", "title": "The Meeting That Doesn't Happen", "body": "Your calendar is empty. For the first time in seven years. No standup. No grooming. No sprint review. No stakeholder sync. The silence where meetings used to be is deafening. And then — gradually — it becomes peaceful. The absence is the feature. You are not needed in any room. And for the first time, that feels like freedom instead of failure.", "choices": [{"title": "Fill it with things that matter", "body": "Calls with friends. Time outside. A project that's yours. The calendar fills with life instead of work.", "delta": {"money": 0, "sanity": 14, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Miss the chaos, seek it out", "body": "Join a startup. Back in the room. Back in the meetings. The chaos is home. Even after everything.", "delta": {"money": 2200, "sanity": -8, "audience": 7, "ai_skill": 8, "friends": 2}, "min_money": null, "effects": []}, {"title": "Sit with the silence and learn", "body": "The meeting-free day becomes a meeting-free week. You learn that you existed before the calendar.", "delta": {"money": 0, "sanity": 11, "audience": 0, "ai_skill": 0, "friends": 3}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true}
|
|
117
|
+
{"id": "product_guy_117_legacy_question", "phase": "Endgame", "title": "The Legacy Question", "body": "Your kid asks what you used to do. 'I was a product manager.' 'What's that?' You try to explain. User needs. Prioritization. Stakeholder alignment. Their eyes glaze. 'So you had meetings?' 'Yeah.' 'Why?' 'Because people needed to talk to each other.' 'Can't AI do that?' You pause. 'It can now.' They shrug and go back to their AI tutor. The role is a history lesson. You are a primary source.", "choices": [{"title": "Explain the human collaboration role", "body": "Tell them about when humans built things together and needed someone to hold the space. That was you.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": []}, {"title": "Teach them to build something instead", "body": "Skip the explanation. Open a laptop. 'Let me show you how to make something people use.' That's the legacy.", "delta": {"money": 0, "sanity": 8, "audience": 2, "ai_skill": 10, "friends": 10}, "min_money": null, "effects": []}, {"title": "Laugh and say it's a long story", "body": "Some roles are too weird to survive their own description. That's okay. You survived instead.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 2}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}], "allow_freeform": true}
|
|
118
|
+
{"id": "product_guy_118_the_pivot_that_sticks", "phase": "Endgame", "title": "The Pivot That Sticks", "body": "After two years of pivoting, something sticks. It's not PM. Not consulting. Not teaching. It's some combination of all three, powered by AI, delivered through your newsletter, paid for by people who trust your judgment. You're a 'judgment worker.' The title doesn't exist. You made it up. Just like product management was made up by people who did it before it had a name. The role is dead. Long live the role.", "choices": [{"title": "Name it and own it", "body": "Give it a title. Write the JD. Become the first in a category of one. This is product management.", "delta": {"money": 2400, "sanity": 10, "audience": 8, "ai_skill": 8, "friends": 7}, "min_money": null, "effects": []}, {"title": "Don't name it, just keep going", "body": "Labels are for org charts. You don't have an org chart. You have a life and it's working.", "delta": {"money": 0, "sanity": 12, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Help others find their version", "body": "The path you found isn't unique. Others need it. Guide them. The PM's final product is helping people find their way.", "delta": {"money": 0, "sanity": 9, "audience": 8, "ai_skill": 1, "friends": 11}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_community"}]}], "allow_freeform": true}
|
|
119
|
+
{"id": "product_guy_119_final_prd", "phase": "Endgame", "title": "The Final PRD", "body": "You write one last PRD. Not for a product. For yourself. 'User: Me. Problem: career dissolved by AI. Success metric: still here, still building, still caring about users. Acceptance criteria: wake up and not dread the day.' You save it in Notion. The page view count stays at 1. That's enough. It was always enough.", "choices": [{"title": "Ship it — your life is the product", "body": "Close the doc. Open the day. The final PRD is a promise to yourself. You plan to keep it.", "delta": {"money": 0, "sanity": 12, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Share it with someone who understands", "body": "Send it to one person. They reply: 'Approved. No blockers.' You both laugh. Then you both cry a little.", "delta": {"money": 0, "sanity": 14, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": []}, {"title": "Archive it with all the other PRDs", "body": "It joins the stack. 847 pages of Notion. One was for you. That's progress.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
120
|
+
{"id": "product_guy_120_the_glue_dissolves", "phase": "Endgame", "title": "The Glue Dissolves", "body": "You were the glue. Between engineering and design. Between the customer and the code. Between the strategy and the sprint. AI is the glue now. It binds faster, cheaper, at scale. But glue isn't a role. It's a function. And you were never just a function. You were a person who chose to hold things together because falling apart is worse. The glue dissolves. What remains is you.", "choices": [{"title": "Find new things to hold together", "body": "Not teams. Not products. Maybe a community. Maybe a family. Maybe yourself. The adhesive skill transfers.", "delta": {"money": 0, "sanity": 14, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Let things fall apart and reform", "body": "Stop holding. Stop binding. Let the pieces scatter. Some come back. Some don't. That's how new shapes form.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}, {"title": "Become the glue for the next era", "body": "The world will always need people who connect things. The things change. The connecting doesn't. You are the constant.", "delta": {"money": 0, "sanity": 6, "audience": 10, "ai_skill": 10, "friends": -1}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
121
|
+
{"id": "product_guy_121_random_slack_moment", "phase": "Any", "title": "The DM That Changes Everything", "body": "A DM from someone you haven't talked to in two years: 'Hey, we're building something and need a PM brain. Interested?' The message is vague. The opportunity is unclear. The timing is suspicious — they reached out the day after layoffs at their company. But opportunities have always looked like this for PMs: ambiguous, urgent, and shaped like someone else's problem.", "choices": [{"title": "Take the call, hear them out", "body": "45 minutes on Zoom. The project is interesting. The pay is unclear. The vibes are 'early.' You're in.", "delta": {"money": 0, "sanity": -5, "audience": 8, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}, {"title": "Ask for details in writing first", "body": "'Can you send a brief?' PM instincts die hard. They send a one-pager. It's well-written. Suspicious.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Ignore it — been burned before", "body": "Two-year silence broken by a need. Classic. You leave it on read.", "delta": {"money": 0, "sanity": 7, "audience": 0, "ai_skill": 0, "friends": -8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
122
|
+
{"id": "product_guy_122_scope_creep_life", "phase": "Any", "title": "Scope Creep (Personal Edition)", "body": "You said yes to a freelance project. Then the scope expanded. Then they added a stakeholder. Then the timeline moved up. You quoted $3,000. The project is now $15,000 of effort. You are living the scope creep you spent a career fighting. The irony is billable. If you charge for it.", "choices": [{"title": "Renegotiate the scope and price", "body": "'The scope changed. So did the price.' They push back. You hold. They pay. This is PM applied to yourself.", "delta": {"money": 3500, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": -6}, "min_money": null, "effects": []}, {"title": "Eat the work, keep the relationship", "body": "Do $15K work for $3K. The relationship is worth it. Maybe. You'll know in six months.", "delta": {"money": -1500, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": 1500, "effects": []}, {"title": "Set boundaries and walk away if needed", "body": "'This is out of scope. Here's what I can deliver.' They accept. Boundaries are a product.", "delta": {"money": 0, "sanity": 9, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
123
|
+
{"id": "product_guy_123_imposter_returns", "phase": "Any", "title": "Imposter Syndrome Returns", "body": "You're in a meeting with engineers and designers. Smart people. Building real things. You listen. You nod. You add 'context.' The context is a sentence anyone could have said. The imposter syndrome you had as a junior PM is back. It brought friends. The friends are called 'evidence.'", "choices": [{"title": "Share the vulnerability with a colleague", "body": "'Do you ever feel like you don't add anything?' They say: 'All the time.' Shared imposter syndrome is a team sport.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": []}, {"title": "Overcompensate by shipping something", "body": "Write a spec. Build a prototype. Ship a feature. Prove to yourself that you produce things.", "delta": {"money": 0, "sanity": -8, "audience": 5, "ai_skill": 9, "friends": 0}, "min_money": null, "effects": []}, {"title": "Sit with it, accept the discomfort", "body": "Maybe imposter feeling is just awareness. You're not an imposter. You're a translator without a dictionary. That's always been the job.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
124
|
+
{"id": "product_guy_124_coffee_chat_wisdom", "phase": "Any", "title": "The Coffee Chat", "body": "A stranger DMs: 'Can I pick your brain about product management?' 30 minutes at a coffee shop. They ask earnest questions. You give answers you're not sure you believe anymore. 'Focus on the user.' 'Ship and iterate.' 'Disagree and commit.' The platitudes sound hollow. But the person is writing them down like they're sacred.", "choices": [{"title": "Be honest about the platitudes", "body": "'Those are the things we say. Here's what actually works: be useful, be clear, and don't lie.' They look confused. Then grateful.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 10}, "min_money": null, "effects": []}, {"title": "Play the part and be encouraging", "body": "They need hope more than honesty right now. Give them confidence. The disillusionment comes later.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 0, "friends": 7}, "min_money": null, "effects": []}, {"title": "Turn it into a mentorship", "body": "This one's different. They're curious. They listen. You offer monthly meetings. The mentoring heals something in you.", "delta": {"money": 0, "sanity": 9, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "became_mentor"}]}], "allow_freeform": true}
|
|
125
|
+
{"id": "product_guy_125_product_review_roulette", "phase": "Any", "title": "Product Review Roulette", "body": "Monthly product review. You present a checkout flow improvement. First question: 'What about AI?' You show a search upgrade. 'Could AI do search better?' The word 'AI' is a tic the company has developed. It inserts itself into every conversation like a polyfill for strategy.", "choices": [{"title": "Add an AI angle to every slide", "body": "Beat them to it. Slide 3 is always 'AI integration potential.' They nod. The ritual is complete.", "delta": {"money": 500, "sanity": -8, "audience": 8, "ai_skill": 2, "friends": -1}, "min_money": null, "effects": []}, {"title": "Push back on AI for AI's sake", "body": "'AI doesn't improve this feature.' Silence. Then: 'Can you explore it anyway?' The answer was always yes.", "delta": {"money": 0, "sanity": 7, "audience": -2, "ai_skill": 0, "friends": -8}, "min_money": null, "effects": []}, {"title": "Let the question reveal their priorities", "body": "They don't care about AI. They care about looking like they care. Give them the slide. Move on to real work.", "delta": {"money": 0, "sanity": -6, "audience": 5, "ai_skill": 9, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
126
|
+
{"id": "product_guy_126_weekend_anxiety", "phase": "Any", "title": "Sunday Scaries (PM Edition)", "body": "Sunday 8pm. The anxiety arrives. Not about a specific meeting. About everything. The backlog. The stakeholder. The career. The PM Sunday Scaries aren't about Monday. They're about the fundamental uncertainty of a role that was never quite defined and is now being undefined further.", "choices": [{"title": "Journal about it and process", "body": "Write it down. Name the fears. The act of writing makes them smaller. Not gone. Just smaller.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Call a friend who gets it", "body": "'Are you also spiraling?' 'Obviously.' 'Okay cool.' The shared spiral is the support group.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Channel the anxiety into action", "body": "Convert the dread into a to-do list. Dread becomes tasks. Tasks are manageable. Dread is not.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 6, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
127
|
+
{"id": "product_guy_127_competitive_analysis_self", "phase": "Any", "title": "Competitive Analysis of Yourself", "body": "You do a competitive analysis. Not of your product — of yourself. Skills: communication, prioritization, stakeholder management. Competitors: Claude, ChatGPT, Gemini, and every AI that can communicate, prioritize, and manage stakeholders. Your SWOT analysis has a lot of T. The opportunities column is suspiciously empty.", "choices": [{"title": "Find your unfair advantage", "body": "Relationships. Institutional knowledge. Reading a room. Build on what the machine can't do. Yet.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 6, "friends": 4}, "min_money": null, "effects": []}, {"title": "Panic productively", "body": "The analysis is scary. Use the fear. Upskill aggressively. The threat is real. So is your capacity to adapt.", "delta": {"money": -1500, "sanity": -10, "audience": 0, "ai_skill": 10, "friends": 0}, "min_money": 1500, "effects": []}, {"title": "Reject the framework — you're not a product", "body": "You are not a feature set. You are not a competitor. You are a person. The SWOT goes in the trash.", "delta": {"money": 0, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
128
|
+
{"id": "product_guy_128_feedback_loop", "phase": "Any", "title": "The Feedback Nobody Asked For", "body": "A designer DMs you: 'Your last spec was kind of unclear. The team had to guess.' You give feedback all day. You're not used to receiving it. The spec was unclear because you wrote it at 11pm after six meetings. The feedback is fair. You don't like it.", "choices": [{"title": "Thank them and fix it immediately", "body": "Humility is a superpower. Fix it. Ship it. Don't let ego slow the team.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": []}, {"title": "Get defensive, then realize they're right", "body": "First reaction: 'it was clear enough.' Second reaction: rereading it. It wasn't. Fix it quietly.", "delta": {"money": 0, "sanity": -5, "audience": 0, "ai_skill": 8, "friends": 2}, "min_money": null, "effects": []}, {"title": "Use AI to review specs before sharing", "body": "Add a review step. 'Is this clear enough for an engineer?' The machine becomes your editor.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}], "allow_freeform": true}
|
|
129
|
+
{"id": "product_guy_129_pm_meme_account", "phase": "Any", "title": "The PM Meme Account", "body": "You discover @ProductManagerPain. Every meme is your life. 'PM presenting a roadmap they know is fiction.' 'The face when the CEO says founder mode.' 200K followers making fun of your profession. The audience for PM's demise is larger than the audience for PM's work.", "choices": [{"title": "Share the memes with PM friends", "body": "Group chat gets the memes. Everyone laughs. Laughter is a survival mechanism. It works.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 9}, "min_money": null, "effects": []}, {"title": "Start your own PM content account", "body": "If the audience exists, serve it. Memes plus insights. The engagement is real.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 0, "friends": 1}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}, {"title": "Mute it — the jokes hit too close", "body": "The memes are funny. They're also a mirror. Some mirrors you avoid while working.", "delta": {"money": 0, "sanity": -7, "audience": 0, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
130
|
+
{"id": "product_guy_130_alignment_meeting", "phase": "Any", "title": "Alignment Meeting About Alignment", "body": "Your VP schedules an 'alignment meeting.' Purpose: align on the alignment process. 12 attendees. The meeting produces three action items, one of which is to schedule another alignment meeting. The meeting is eternal. The alignment is theoretical. You've been in this meeting before. You will be in this meeting again. Until the AI replaces the meeting. Then you'll miss it.", "choices": [{"title": "Propose a decision framework", "body": "RACI, DACI, or just 'one person decides.' Any framework is better than infinite alignment.", "delta": {"money": 0, "sanity": -7, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}, {"title": "Let the ritual play out", "body": "The meeting isn't about alignment. It's about presence. People need to be in a room together. That's the product.", "delta": {"money": 0, "sanity": -5, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Send an AI summary, skip the next one", "body": "Generate alignment notes from the transcript. Distribute. Skip the follow-up. Nobody notices your absence.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 10, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "automated_own_job"}]}], "allow_freeform": true}
|
|
131
|
+
{"id": "product_guy_131_cross_functional_hell", "phase": "Any", "title": "Cross-Functional Hell", "body": "A project touching six teams. Six priorities. Six definitions of 'done.' You're the only person who talks to all six. Your calendar is a crime scene. You eat lunch at 3pm. The project ships two months late. Everyone blames everyone. Nobody blames the process because the process is you.", "choices": [{"title": "Document the chaos, propose structure", "body": "Write the postmortem. Propose clear ownership. The document is good. It's ignored until the next cross-functional disaster.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 0, "friends": 7}, "min_money": null, "effects": []}, {"title": "Accept coordination as your core value", "body": "This is the job. The mess is the job. If the mess were clean, they wouldn't need you.", "delta": {"money": 0, "sanity": -8, "audience": 7, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": []}, {"title": "Delegate coordination to an AI agent", "body": "Deploy a tool that tracks cross-functional dependencies. The mess becomes a dashboard. You become optional.", "delta": {"money": 0, "sanity": 7, "audience": 0, "ai_skill": 10, "friends": -8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "automated_own_job"}]}], "allow_freeform": true}
|
|
132
|
+
{"id": "product_guy_132_user_empathy_test", "phase": "Any", "title": "The Empathy Test", "body": "You visit a customer's office. Watch them use your product. They struggle with a flow you spec'd. They apologize to you. 'Sorry, I'm probably doing it wrong.' They're not doing it wrong. You are. This is the part of PM that AI can't do — sitting across from a human and feeling the weight of your own mistakes.", "choices": [{"title": "Fix the flow based on what you saw", "body": "Go back. Rewrite the spec. The fix ships in two weeks. The user doesn't know you visited. They just know it got better.", "delta": {"money": 0, "sanity": 8, "audience": 8, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}, {"title": "Bring the whole team to observe users", "body": "If everyone watches users struggle, everyone owns the fix. Empathy scales through exposure.", "delta": {"money": -1500, "sanity": 6, "audience": 3, "ai_skill": 0, "friends": 10}, "min_money": 1500, "effects": []}, {"title": "Record and share the session company-wide", "body": "Nothing changes minds like watching a real human struggle with your product. The video is two minutes. It changes the roadmap.", "delta": {"money": 0, "sanity": -5, "audience": 10, "ai_skill": 0, "friends": 5}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
133
|
+
{"id": "product_guy_133_annual_planning", "phase": "Any", "title": "Annual Planning Season", "body": "Three weeks of spreadsheets, decks, and negotiations. Every team inflates estimates. Every leader deflates timelines. You sit in the middle trying to make the math work. The math doesn't work. Annual planning is collective fiction that makes the next year possible. You are the author of the fiction.", "choices": [{"title": "Build the most honest plan you can", "body": "Real estimates. Real risks. Leadership adjusts it to be 'more ambitious.' Ambitious means fictional.", "delta": {"money": 0, "sanity": -8, "audience": 0, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": []}, {"title": "Use AI to generate scenario plans", "body": "Three scenarios. Conservative, moderate, aggressive. Leadership picks aggressive. AI says probability: 12%. Nobody reads that part.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 9, "friends": 0}, "min_money": null, "effects": [{"op": "set_flag", "flag": "collab_with_ai"}]}, {"title": "Disengage and treat it as theater", "body": "It's theater. Play your part. Smile in meetings. Save real planning for when the quarter actually starts.", "delta": {"money": 600, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": -3}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
134
|
+
{"id": "product_guy_134_pm_therapy", "phase": "Any", "title": "The PM Goes to Therapy", "body": "Your therapist asks about your job. You describe it. They say: 'So you manage other people's priorities while ignoring your own?' You stare. They stare. The copay is $40. The insight is free. You schedule a follow-up.", "choices": [{"title": "Set personal priorities for real", "body": "Write your personal OKRs. Sleep 7 hours. See friends weekly. Exercise. The personal backlog gets a sprint.", "delta": {"money": -1500, "sanity": 10, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": 1500, "effects": []}, {"title": "Keep going to therapy weekly", "body": "Weekly sessions. Therapy doesn't fix the job. It fixes your relationship with the job. That's enough.", "delta": {"money": -160, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 3}, "min_money": 160, "effects": []}, {"title": "Cancel therapy — can't afford both", "body": "The copay adds up. The job causes the need. The need costs money. The cycle is a product with no PM.", "delta": {"money": 160, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": -1}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
135
|
+
{"id": "product_guy_135_pm_drinking_game", "phase": "Any", "title": "The PM Drinking Game", "body": "Drinking game for product meetings. Drink when someone says 'align,' 'leverage,' 'circle back,' 'double-click,' or 'unpack.' You play mentally during a real meeting. You'd be drunk by minute 7. The language of product management is a dialect designed to sound important while saying nothing. You speak it fluently. It's your mother tongue. The mother tongue is going extinct.", "choices": [{"title": "Speak plainly for one full week", "body": "No jargon. No frameworks. Just clear sentences. People are confused. Then appreciative. Then they go back to jargon.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Lean into the jargon armor", "body": "The jargon protects you. When you sound like a PM, people treat you like a PM. Remove the language, remove the role.", "delta": {"money": 0, "sanity": -6, "audience": 8, "ai_skill": 0, "friends": -4}, "min_money": null, "effects": []}, {"title": "Write a satirical PM glossary", "body": "'Circle back: never discuss again.' 'Align: agree with me.' 'Leverage: use.' The post gets 5K likes.", "delta": {"money": 0, "sanity": -5, "audience": 10, "ai_skill": 0, "friends": 6}, "min_money": null, "effects": [{"op": "set_flag", "flag": "built_following"}]}], "allow_freeform": true}
|
|
136
|
+
{"id": "product_guy_136_the_pivot_email", "phase": "Any", "title": "The Pivot Email", "body": "All-company email. Subject: 'Exciting Strategic Shift.' The company is pivoting. Your product is being sunsetted. The new direction is 'AI-first.' Your roadmap is void. Your specs are artifacts. 18 months of your life is now a PowerPoint slide that says 'sunsetting Q2.' You are Q2.", "choices": [{"title": "Rally the team through the pivot", "body": "If it's happening, be the person who makes it smooth. Leadership remembers who shows up during chaos.", "delta": {"money": 0, "sanity": -8, "audience": 6, "ai_skill": 8, "friends": 1}, "min_money": null, "effects": []}, {"title": "Mourn privately, adapt publicly", "body": "The grief is real. The product was yours. Let yourself feel it. Then close the Notion tab and open the new one.", "delta": {"money": 0, "sanity": -6, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}, {"title": "Use the pivot as your exit", "body": "If they're starting over, so are you. The pivot is permission to leave.", "delta": {"money": 0, "sanity": 8, "audience": 5, "ai_skill": 0, "friends": 0}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
137
|
+
{"id": "product_guy_137_ai_writes_your_emails", "phase": "Any", "title": "AI Writes Your Emails", "body": "You've been using AI for work emails for three months. Nobody noticed. Responses are faster, clearer, more diplomatic. A colleague says 'your communication has really leveled up.' The machine leveled up. You just press send. The PM role was always partly performance. The performance now has a ghostwriter.", "choices": [{"title": "Save time for the real work", "body": "Email is overhead. AI handles overhead. You handle product. The division makes sense.", "delta": {"money": 600, "sanity": 6, "audience": 0, "ai_skill": 2, "friends": 0}, "min_money": null, "effects": []}, {"title": "Worry about when everyone has this", "body": "If AI makes everyone's communication great, communication stops being a differentiator. Then what?", "delta": {"money": 0, "sanity": -7, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": []}, {"title": "Make it a shared team practice", "body": "Everyone uses AI for emails. Communication improves across the board. Your individual advantage disappears. The team's improves.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 7}, "min_money": null, "effects": [{"op": "set_flag", "flag": "embraced_ai"}]}], "allow_freeform": true}
|
|
138
|
+
{"id": "product_guy_138_pm_identity_support", "phase": "Any", "title": "The PM Who Found Peace", "body": "You meet a former PM at a dinner party. They're calm. Genuinely calm. They left tech. They run a small bakery. 'I used to write PRDs. Now I make croissants. Both require precision. Only one makes people happy in a way I can see.' You eat the croissant. It's perfect. You think about Notion.", "choices": [{"title": "Consider your own non-tech path", "body": "What would you do if PM didn't exist? The question opens a door you've been afraid to walk through.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 2}, "min_money": null, "effects": []}, {"title": "Admire them but recommit to tech", "body": "Not everyone needs to leave. Some people adapt. Some find meaning in the new version of the work.", "delta": {"money": 0, "sanity": 6, "audience": 0, "ai_skill": 8, "friends": 0}, "min_money": null, "effects": []}, {"title": "Ask how they made the leap", "body": "'Wasn't it scary?' 'Yes. And then it wasn't.' The simplicity breaks something open in you.", "delta": {"money": 0, "sanity": 9, "audience": 0, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
139
|
+
{"id": "product_guy_139_product_council", "phase": "Any", "title": "The Product Council", "body": "Leadership creates a 'Product Council' — a cross-functional group that reviews all major product decisions. Weekly. 14 members. Decisions that took you a day now take three weeks and a slide deck. You've been promoted to 'presenter at the council' which sounds medieval because it is.", "choices": [{"title": "Master the council politics", "body": "Learn who influences whom. Pre-sell decisions before the meeting. Politics is product management for adults.", "delta": {"money": 1500, "sanity": -6, "audience": 6, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": [{"op": "set_flag", "flag": "made_industry_contact"}]}, {"title": "Propose a faster decision framework", "body": "Suggest anything with fewer than 14 people. The council votes on whether to adopt it. Takes three weeks.", "delta": {"money": 0, "sanity": -10, "audience": 0, "ai_skill": 0, "friends": -8}, "min_money": null, "effects": []}, {"title": "Ship fast and ask forgiveness", "body": "Build it before the council meets. Present a launched feature instead of a proposal. Your VP is furious. The metrics are good.", "delta": {"money": 0, "sanity": 6, "audience": 10, "ai_skill": 0, "friends": -8}, "min_money": null, "effects": []}], "allow_freeform": true}
|
|
140
|
+
{"id": "product_guy_140_one_more_standup", "phase": "Any", "title": "One More Standup", "body": "Monday morning. The standup begins. You ask the question you've asked 1,200 times: 'Any blockers?' The team shares updates. You listen. You connect the dots between what engineering is building and what the customer needs. For a few minutes, in this room, the role makes sense. You are the translator. The connector. The glue. It might not last. But right now, it holds.", "choices": [{"title": "Be present and do it well", "body": "This standup matters. This translation matters. This moment is the job. Do it well.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 7}, "min_money": null, "effects": []}, {"title": "Appreciate it while it lasts", "body": "The standup won't exist forever. But it exists now. And you're good at it. That counts.", "delta": {"money": 0, "sanity": 8, "audience": 0, "ai_skill": 0, "friends": 3}, "min_money": null, "effects": [{"op": "set_flag", "flag": "found_balance"}]}, {"title": "Run your best standup ever", "body": "Tight. Focused. Helpful. Everyone leaves knowing what to do. 12 minutes. It's your masterpiece.", "delta": {"money": 0, "sanity": 7, "audience": 6, "ai_skill": 0, "friends": 8}, "min_money": null, "effects": []}], "allow_freeform": true}
|