A curated collection of product management problems to help you practice skills, trial frameworks and prepare for interviews. It's ok to fail here.
- Product management problems that are abstracted from various real world companies and domains
- Detailed problem descriptions with context and data
- Suggested frameworks and approaches
- Community solutions and discussions
- Difficulty levels and categories for easy navigation
We welcome contributions from the community! You can contribute in two ways:
To share a new product problem, create a new entry in src/data/problemsData.ts. Here's a template you can use:
// Add this to the problemsData array
{
id: "your-problem-id", // e.g., "spotify-discovery"
title: "Your Problem Title",
description: "A brief description of the problem",
difficulty: "easy" | "medium" | "hard",
company: "Company Name",
categories: ["category-1", "category-2"], // e.g., ["feature-prioritization", "user-growth"]
frameworks: ["Framework 1", "Framework 2"], // e.g., ["RICE", "MoSCoW"]
background: `Detailed background information about the problem.
You can include multiple paragraphs.
Use template literals for formatting.`,
keyQuestions: [
"Key question 1?",
"Key question 2?",
"Key question 3?"
],
data: [
{
title: "Data Point 1",
content: "Description of the data point"
},
{
title: "Data Point 2",
content: "Description of the data point"
}
],
resources: [
{
title: "Resource Title",
url: "https://resource-url.com",
type: "article" | "video" | "case-study"
}
],
approach: `Suggested approach to solving the problem.
You can include multiple paragraphs.
Use template literals for formatting.`
}
// Add this to the problemsDetails object
"your-problem-id": {
// Same content as above, plus:
solutions: [
{
id: "solution-1",
title: "Solution Title",
description: "Brief description of the solution",
author: "Author Name",
author_url: "https://example.com/author-profile",
date: "2024-03-20",
url: "https://solution-url.com"
}
]
}To share a solution to an existing problem, add it to the solutions array in the corresponding problem's details in src/data/problemsData.ts:
// Add this to the solutions array of the problem
{
id: "your-solution-id",
title: "Your Solution Title",
description: "A brief description of your solution approach",
author: "Your Name",
author_url: "https://your-profile-url.com", // Optional: Link to your profile
date: "2024-03-20", // Use YYYY-MM-DD format
url: "https://your-solution-url.com", // Link to your detailed solution
votes: 0 // Initial vote count
}- Fork the repository
- Create a new branch for your contribution
- Add your problem or solution following the templates above
- Submit a pull request with a clear description of your contribution
This project is licensed under the MIT License - see the LICENSE file for details.
Created by Suraj Rai - Website