Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions documentation/product_strategy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Product Strategy: Ideal Customer Profile & Use Cases

## 1. Ideal Customer Profile (ICP)

**Target Audience:** Software Engineering Teams & Open Source Maintainers
**Industry:** SaaS, Developer Tools, Open Source Software
**Company Stage:** Early-stage startups to mid-sized engineering organizations (where resources are tight and triage load is high).

### Roles
* **The Overwhelmed Maintainer:** Maintains popular open-source projects or internal libraries. Drowning in GitHub Issues and duplicates. Needs help separating signal from noise and clearing the backlog.
* **The Tech Lead / Senior Engineer:** Responsible for product quality but stuck doing low-value maintenance work. Wants to focus on architecture and features, not minor bug fixes.
* **The "DevOps" Minded Developer:** Cares about automation and efficiency (CI/CD, self-healing systems).

### Pains
* **Triage Fatigue:** Spending hours manually reviewing, labeling, and deduplicating bug reports across multiple channels (GitHub, Sentry, Reddit).
* **Context Switching:** Constant interruptions from minor bugs prevent deep work on core features.
* **Slow Feedback Loops:** User reports a bug, it sits in a backlog for weeks because it's "low priority," leading to user churn.
* **Fragmentation:** Feedback is scattered across Reddit threads, Sentry logs, and GitHub issues, making it hard to see the "big picture" of what's broken.

## 2. Primary Use Cases

### A. Automated Bug Triage & Resolution (The "Self-Healing" Loop)
* **Scenario:** A runtime error occurs in production (captured by Sentry) or a user files a bug report on GitHub.
* **Action:** Soulcaster ingests the report, checks if it matches existing clusters (deduplication), and if it's actionable, the AI agent attempts to reproduce and fix it in a sandboxed environment.
* **Benefit:** The engineer wakes up to a PR fixing the bug instead of an alert notification.

### B. Community Feedback Aggregation
* **Scenario:** Users are complaining about a specific UI glitch or workflow friction on a subreddit or community forum.
* **Action:** Soulcaster polls the subreddit, identifies the cluster of negative sentiment/bug reports, summarizes the core issue, and prepares a fix or a detailed spec for the developer.
* **Benefit:** Proactive community management; users feel heard without the team manually scouring forums.

### C. Backlog Grooming & Janitorial Work
* **Scenario:** A project has hundreds of stale issues.
* **Action:** Soulcaster analyzes the backlog, clusters duplicates, identifies "wontfix" items, and proposes fixes for low-hanging fruit.
* **Benefit:** Reduces technical debt and cleans up the project hygiene.

## 3. MVP Scope (Current State)

* **Ingestion:**
* Reddit (Polling specific subreddits)
* Sentry (Webhooks)
* GitHub Issues
* Manual Entry
* **Intelligence:**
* Vector-based Clustering (Gemini Embeddings + Upstash) to group similar feedback.
* LLM Summarization for cluster titles and descriptions.
* **Execution:**
* AI Coding Agent (running in E2B sandboxes) that can read code, write patches, and run tests.
* GitHub Integration to open PRs directly from the user's account.
* **Interface:**
* Next.js Dashboard for human-in-the-loop review (approve fixes, view clusters).
Comment on lines +39 to +51
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major

Fix markdown list indentation.

Nested list items use 4-space indentation instead of 2 spaces. Per markdownlint (MD007), this should be corrected for consistency and markdown compliance.

🔎 Proposed indentation fix
 ## 3. MVP Scope (Current State)
 
 *   **Ingestion:**
-    *   Reddit (Polling specific subreddits)
-    *   Sentry (Webhooks)
-    *   GitHub Issues
-    *   Manual Entry
+  *   Reddit (Polling specific subreddits)
+  *   Sentry (Webhooks)
+  *   GitHub Issues
+  *   Manual Entry
 *   **Intelligence:**
-    *   Vector-based Clustering (Gemini Embeddings + Upstash) to group similar feedback.
-    *   LLM Summarization for cluster titles and descriptions.
+  *   Vector-based Clustering (Gemini Embeddings + Upstash) to group similar feedback.
+  *   LLM Summarization for cluster titles and descriptions.
 *   **Execution:**
-    *   AI Coding Agent (running in E2B sandboxes) that can read code, write patches, and run tests.
-    *   GitHub Integration to open PRs directly from the user's account.
+  *   AI Coding Agent (running in E2B sandboxes) that can read code, write patches, and run tests.
+  *   GitHub Integration to open PRs directly from the user's account.
 *   **Interface:**
-    *   Next.js Dashboard for human-in-the-loop review (approve fixes, view clusters).
+  *   Next.js Dashboard for human-in-the-loop review (approve fixes, view clusters).
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* **Ingestion:**
* Reddit (Polling specific subreddits)
* Sentry (Webhooks)
* GitHub Issues
* Manual Entry
* **Intelligence:**
* Vector-based Clustering (Gemini Embeddings + Upstash) to group similar feedback.
* LLM Summarization for cluster titles and descriptions.
* **Execution:**
* AI Coding Agent (running in E2B sandboxes) that can read code, write patches, and run tests.
* GitHub Integration to open PRs directly from the user's account.
* **Interface:**
* Next.js Dashboard for human-in-the-loop review (approve fixes, view clusters).
* **Ingestion:**
* Reddit (Polling specific subreddits)
* Sentry (Webhooks)
* GitHub Issues
* Manual Entry
* **Intelligence:**
* Vector-based Clustering (Gemini Embeddings + Upstash) to group similar feedback.
* LLM Summarization for cluster titles and descriptions.
* **Execution:**
* AI Coding Agent (running in E2B sandboxes) that can read code, write patches, and run tests.
* GitHub Integration to open PRs directly from the user's account.
* **Interface:**
* Next.js Dashboard for human-in-the-loop review (approve fixes, view clusters).
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

40-40: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


41-41: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


42-42: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


43-43: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


45-45: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


46-46: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


48-48: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


49-49: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)


51-51: Unordered list indentation
Expected: 2; Actual: 4

(MD007, ul-indent)

🤖 Prompt for AI Agents
In documentation/product_strategy.md around lines 39 to 51, the nested Markdown
list items are indented with 4 spaces instead of the expected 2 spaces; update
the nested items under each top-level bullet (Ingestion, Intelligence,
Execution, Interface) to use 2-space indentation for consistency and to satisfy
markdownlint MD007, and then re-run the linter to confirm no remaining
indentation errors.


## 4. Key Messaging Bullets

* **"Turn Noise into Code":** Don't just log bugs—fix them.
* **"Your AI Junior Engineer":** Handles the triage and minor fixes so you can focus on the hard stuff.
* **"Unified Feedback Stream":** See what users are saying on Reddit, GitHub, and Sentry in one prioritized view.
* **"One-Click Fixes":** Move from problem identification to Pull Request in a single click.