Skip to content
Open
Show file tree
Hide file tree
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
10 changes: 10 additions & 0 deletions startup-validator-langgraph/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# OpenAI API Key for language model
OPENAI_API_KEY=your-openai-api-key-here

# Firecrawl API Key for web scraping
FIRECRAWL_API_KEY=your-firecrawl-api-key-here

# GitHub Personal Access Token for repository search
# Create at: https://github.com/settings/tokens
# Only needs 'public_repo' scope for reading public repositories
GITHUB_TOKEN=your-github-token-here
1 change: 1 addition & 0 deletions startup-validator-langgraph/.python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.12
161 changes: 161 additions & 0 deletions startup-validator-langgraph/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
# Startup Idea Validator with LangGraph

A streamlined startup idea validation system built with LangGraph that combines web scraping, developer community insights, and technical research to provide comprehensive startup idea assessment.

## 🎯 Overview

This system demonstrates how to integrate multiple data sources with LangGraph agents to validate startup ideas through:

- **🌐 Web Research**: Uses Firecrawl to scrape market data, competitor analysis, and industry reports
- **💬 Community Insights**: Leverages Hacker News API to gather tech community sentiment and discussions
- **⚙️ Technical Validation**: Uses GitHub API to assess existing solutions and technical feasibility

## 🚀 Key Features

- **Single Agent Architecture**: One intelligent agent that coordinates multiple research tools
- **Diverse Data Sources**: Web content, developer discussions, and code repositories
- **Real-Time Research**: Live data gathering from multiple APIs and web sources
- **Structured Validation**: Clear VALIDATE/NEEDS_WORK/REJECT recommendations with reasoning
- **Interactive Interface**: Clean command-line experience with real-time feedback

## 🛠️ Tech Stack

- **LangGraph**: Agent orchestration and workflow management
- **Firecrawl**: Web scraping and content extraction
- **Hacker News API**: Developer community sentiment analysis
- **GitHub API**: Technical landscape and existing solutions research
- **OpenAI**: Language model for analysis and decision-making
- **Python**: Core application development

## 🔧 Agent Architecture

### Single Validation Agent

The system uses one intelligent agent that coordinates three specialized research tools:

```
Startup Validator Agent
├── research_market_landscape() # Firecrawl web scraping
├── analyze_community_sentiment() # Hacker News API
└── assess_technical_feasibility() # GitHub API
```

### Tool Coordination Flow

1. **Market Research Phase**
- Agent calls `research_market_landscape()`
- Firecrawl scrapes competitor websites, market reports, and industry analysis
- Returns comprehensive market data and competitive landscape

2. **Community Validation Phase**
- Agent calls `analyze_community_sentiment()`
- Hacker News API searches for discussions about the problem space
- Returns developer opinions, similar product discussions, and market reception

3. **Technical Assessment Phase**
- Agent calls `assess_technical_feasibility()`
- GitHub API searches for existing implementations and technical approaches
- Returns complexity assessment, available tools, and development insights

4. **Final Decision**
- Agent synthesizes data from all three sources
- Provides VALIDATE/NEEDS_WORK/REJECT recommendation with detailed reasoning
- Highlights key opportunities, risks, and next steps

## 📁 Project Structure

```plaintext
startup-idea-validator/
├── src/
│ ├── __init__.py # Package marker
│ ├── config.py # Agent prompts and API configuration
│ ├── tools.py # Research tools (Firecrawl, HN, GitHub)
│ ├── utils.py # Message formatting utilities
│ └── agents.py # Agent creation and orchestration
├── main.py # Command-line interface
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
└── README.md # This documentation
```

## 🛠️ Installation

1. **Clone and navigate to the project**

```bash
git clone <repository-url>
cd startup-idea-validator
```

2. **Install dependencies**

```bash
pip install -r requirements.txt
```

3. **Set up environment variables**

```bash
cp .env.example .env
# Edit .env and add your API keys:
# OPENAI_API_KEY=your-openai-api-key
# FIRECRAWL_API_KEY=your-firecrawl-api-key
# GITHUB_TOKEN=your-github-personal-access-token
```

4. **Run the application**

```bash
python main.py
```

## 💡 Usage

1. Start the application: `python main.py`
2. Enter your startup idea (e.g., "AI-powered code review assistant")
3. Watch the agent gather data from multiple sources:
- Web research for market data
- Hacker News for community sentiment
- GitHub for technical landscape
4. Review the comprehensive validation report
5. Get actionable recommendations for next steps

### Example Validation Flow

```
Input: "AI-powered meal planning app"

🌐 Researching market landscape...
→ Found 15 competitors, $2.3B market size

💬 Analyzing community sentiment...
→ 23 HN discussions, positive reception for personalization

⚙️ Assessing technical feasibility...
→ 156 related repositories, moderate complexity

✅ VALIDATION RESULT: VALIDATE
Strong market with clear differentiation opportunities
```

## 🎓 Educational Value

This project demonstrates:

- **Multi-API Integration**: Combining Firecrawl, Hacker News, and GitHub APIs
- **LangGraph Agent Design**: Single agent coordinating multiple tools effectively
- **Real-World Data Sources**: Live market research using diverse platforms
- **Practical Business Application**: Actual startup validation methodology
- **Clean Architecture**: Modular, maintainable code structure

## 🔄 Future Enhancements

- **Visual Dashboard**: Streamlit UI for better user experience
- **Persistent Storage**: Save validation reports and track idea evolution
- **Additional Data Sources**: Product Hunt, Twitter, patent databases
- **Export Capabilities**: PDF reports and presentation formats
- **Batch Processing**: Validate multiple ideas simultaneously

---

**Perfect for**: Entrepreneurs validating ideas, developers learning LangGraph, technical content creators, and anyone interested in AI-powered market research.
11 changes: 11 additions & 0 deletions startup-validator-langgraph/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env python3
"""
Startup Idea Validator Chatbot - Main Entry Point

This script serves as the main entry point to run the Startup Idea Validator Chatbot.
"""

from src.app import run_streamlit_app

if __name__ == "__main__":
run_streamlit_app()
15 changes: 15 additions & 0 deletions startup-validator-langgraph/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[project]
name = "startup-idea-validator"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"firecrawl-py>=2.8.0",
"ipykernel>=6.29.5",
"langchain>=0.3.25",
"langchain-openai>=0.3.22",
"langgraph>=0.4.8",
"langgraph-supervisor>=0.0.27",
"streamlit>=1.45.1",
]
6 changes: 6 additions & 0 deletions startup-validator-langgraph/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
langchain==0.3.16
langgraph==0.2.54
langchain-openai==0.2.12
firecrawl-py==1.7.4
python-dotenv==1.0.1
requests==2.32.3
3 changes: 3 additions & 0 deletions startup-validator-langgraph/src/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
"""
Startup Idea Validator package
"""
Loading