PainPoint.er Scraper is an open-source tool that helps entrepreneurs, product managers, and developers identify software pain points and product opportunities by analyzing user feedback from Reddit communities.
- Platform Analysis: Scrape and analyze user feedback from Reddit communities, and more platforms being added soon
- Pain Point Identification: Automatically detect user complaints and frustrations with existing software
- AI-Powered Insights: Leverage OpenAI or Azure/GitHub Models API for analysis
- Modular Design: Easily extendable architecture for adding more data sources in the future
- Simple Reporting: Generate analysis results with actionable insights
- Installation
- Quick Start
- Usage Examples
- Input Format
- Output Format
- Advanced Configuration
- AI Integration
- Contributing
- License
- Python 3.7 or higher
- pip (Python package installer)
- Clone the repository:
git clone https://github.com/sdotdev/painpointer-search.git
cd painpointer-search- Install dependencies:
pip install -r requirements.txt-
Copy
.env.exampleto.envand add your API keys:- Reddit API credentials (required)
- OpenAI API key or Azure/GitHub API key (at least one required)
-
Run the application:
python main.pyThis will:
- Load your configuration from
.env - Prompt you to choose an AI provider (OpenAI or Azure)
- Process URLs from
urls.csv - Scrape comments from Reddit subreddits
- Analyze the comments for pain points and opportunities
- Save results to the
./outputdirectory
python main.pyEdit the .env file to customize your configuration:
# Reddit API Credentials (Required)
REDDIT_CLIENT_ID="your_reddit_client_id"
REDDIT_CLIENT_SECRET="your_reddit_client_secret"
REDDIT_USER_AGENT="your_reddit_user_agent"
# AI API Keys (At least one required)
OPENAI_API_KEY="your_openai_api_key"
AZURE_GITHUB_API_KEY="your_azure_github_api_key"
Edit the urls.csv file to specify which subreddits to analyze:
url,category,notes
https://reddit.com/r/productivity,productivity,Popular productivity subreddit
https://reddit.com/r/software,software,Discussions about various software
The input CSV file must contain a column named url with the Reddit URLs to analyze. Additional columns are preserved for reference.
Example urls.csv:
url,category,notes
https://reddit.com/r/productivity,productivity,Popular productivity subreddit
https://reddit.com/r/software,software,Discussions about various software
https://reddit.com/r/SaaS,saas,Software as a Service discussions
Note: Currently, only Reddit URLs are supported. Non-Reddit URLs in the CSV will be skipped.
PainPoint.er Scraper generates a single output file in the output directory:
[ai_provider]_analysis_[timestamp].txt
For example: openai_analysis_20230615_123045.txt
This file contains the analysis results from the AI provider, including identified:
- Product opportunities
- Feature requests
- Pain points
- New tool suggestions
The application uses a configuration loaded from the .env file and the config.py module. You can modify these settings:
| Setting | Description | Location |
|---|---|---|
reddit_client_id |
Reddit API client ID | .env file |
reddit_client_secret |
Reddit API client secret | .env file |
reddit_user_agent |
Reddit API user agent | .env file |
openai_api_key |
OpenAI API key | .env file |
azure_github_api_key |
Azure/GitHub Models API key | .env file |
urls_file |
CSV file with URLs to analyze | config.py |
output_dir |
Output directory for results | config.py |
PainPoint.er Scraper supports two AI providers for analysis:
To use OpenAI's models (default: gpt-3.5-turbo):
- Add your OpenAI API key to the
.envfile:
# OpenAI API Key
OPENAI_API_KEY=your_openai_api_key_here
- When prompted, select option 1 for OpenAI.
To use Azure's AI models via the GitHub Models API:
- Add your Azure/GitHub API key to the
.envfile:
# Azure/GitHub Models API Key
AZURE_GITHUB_API_KEY=your_azure_github_api_key_here
- When prompted, select option 2 for Azure.
The application will:
- Prompt you to choose between available AI providers
- Verify that the required API key is present in the
.envfile - Initialize the selected AI client for analysis
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
PainPoint.er Scraper has a modular architecture for maintainability and extensibility:
├── main.py # Main entry point script
├── config.py # Configuration loading and validation
├── utils.py # Utility functions (file I/O, URL parsing)
├── scraper.py # Reddit scraping functionality
├── ai_clients.py # AI provider client implementations
├── analysis.py # Text analysis and processing
├── requirements.txt # Python dependencies
├── .env.example # Example environment variables
└── urls.csv # Input file with URLs to analyze
This project is licensed under the MIT License - see the LICENSE file for details.
In today's competitive software landscape, understanding user pain points is crucial for building successful products. PainPoint.er Scraper automates the process of discovering what users are struggling with and where opportunities exist for new or improved software solutions.
By analyzing real user feedback across multiple platforms, you can:
- Validate your product ideas with real-world data
- Discover underserved markets and niches
- Prioritize features based on user demand
- Understand competitor weaknesses to exploit
- Generate new product ideas backed by evidence
Whether you're a solo entrepreneur, product manager, or part of a development team, PainPoint.er Scraper helps you make data-driven decisions about what to build next.