Fragmented Industry Rollup Platform (FIRP) powered by Claude AI agents.
Rollizr is an AI-native platform that orchestrates intelligent agents to streamline M&A deal sourcing, evaluation, and execution across fragmented service industries. Built on Claude, the platform reduces weeks of manual research to minutes through automated workflows for target identification, valuation, compliant outreach, due diligence, and post-acquisition integration.
- 🔍 Target Discovery - Scout agent finds and scores companies against investment thesis
- 🔗 Entity Resolution - Resolver agent deduplicates and merges company records
- 📊 Company Profiling - Profiler agent enriches data with operational intelligence
- 💰 Valuation - Valuation agent estimates value using multiple methodologies
- ⚖️ Compliance - Compliance agent enforces regulatory requirements
- 📧 Outreach - Outreach agent generates personalized, compliant communications
- 📋 Due Diligence - Diligence agent manages document requests and IC memos
- 🔄 Integration - Integrator agent creates 100-day plans and tracks KPIs
- Node.js 18+
- Anthropic API key (get one here)
# Clone the repository
git clone <repository-url>
cd Rollizr
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env and add your ANTHROPIC_API_KEYCreate a .env file with:
ANTHROPIC_API_KEY=your_api_key_here
CLAUDE_MODEL=claude-sonnet-4-5-20250929
MAX_TOKENS=4096
TEMPERATURE=0.7# Run sourcing workflow demo
node examples/demo-sourcing.js
# Run outreach workflow demo
node examples/demo-outreach.jsRollizr uses a multi-agent architecture where specialized AI agents handle different aspects of the M&A workflow:
┌─────────────────────────────────────────────────────────┐
│ Agent Orchestrator │
│ (Coordinates workflows and agent communication) │
└─────────────────────────────────────────────────────────┘
│
┌────────────────┼────────────────┐
│ │ │
┌────▼────┐ ┌───▼────┐ ┌───▼────┐
│ Scout │ │Profiler│ │Valuation│
│ Agent │ │ Agent │ │ Agent │
└─────────┘ └────────┘ └─────────┘
│ │ │
└────────────────┼────────────────┘
│
┌────▼────┐
│Compliance│
│ Agent │
└─────────┘
Rollizr/
├── src/
│ ├── agents/ # Agent implementations
│ │ ├── base-agent.js # Base agent class
│ │ └── index.js # Agent factory
│ ├── config/
│ │ └── agents.js # Agent configurations & prompts
│ ├── utils/
│ │ └── claude-client.js # Anthropic SDK wrapper
│ ├── workflows/
│ │ └── orchestrator.js # Multi-agent orchestration
│ └── index.js # Main entry point
├── examples/ # Example workflows
│ ├── demo-sourcing.js
│ └── demo-outreach.js
├── tests/ # Tests (coming soon)
├── .env.example # Environment template
├── package.json
├── CLAUDE.md # AI assistant guidance
└── README.md
const { AgentOrchestrator } = require('./src');
const orchestrator = new AgentOrchestrator();
// Execute a single agent
const result = await orchestrator.executeAgent('scout', {
thesis: { /* investment criteria */ },
companyData: { /* company info */ }
});
console.log(result.output);Complete end-to-end target evaluation:
const result = await orchestrator.executeSourcingWorkflow(
thesis, // Investment criteria
companyData // Company to evaluate
);
if (result.qualified) {
console.log(`Score: ${result.summary.score}/100`);
console.log(`Est. Value: $${result.summary.estimatedValue.midpoint}`);
console.log('Top Signals:', result.summary.topSignals);
}Generate compliant, personalized outreach:
const result = await orchestrator.executeOutreachWorkflow(
companyData, // Company and contact info
context // Previous analysis results
);
if (result.success) {
console.log('Subject:', result.outreachDraft.output.subject);
console.log('Message:', result.outreachDraft.output.message_body);
}Build your own agent pipelines:
// Sequential execution
const result = await orchestrator.executePipeline(
['scout', 'profiler', 'valuation'],
initialInput
);
// Parallel execution
const result = await orchestrator.executeParallel(
['profiler', 'compliance'],
companyData
);Each agent is configured with:
- System Prompt - Defines role, responsibilities, and output format
- Temperature - Controls creativity (0.1-0.7 depending on agent)
- Max Tokens - Output length limit
- Role - Functional category for workflow organization
See src/config/agents.js for detailed agent prompts and parameters.
- Scout - Score company against thesis
- Profiler - Build detailed profile
- Valuation - Estimate value (parallel with Compliance)
- Compliance - Check licensure and regulatory status
- Compliance - Validate outreach permissions
- Outreach - Generate personalized message
- (Integration with email platform - coming soon)
- Diligence - Generate request list
- Diligence - Analyze uploaded documents
- Diligence - Produce IC memo
- Integrator - Create 100-day plan
- Integrator - Set up KPI tracking
- Integrator - Monitor progress
- Add agent config to
src/config/agents.js - Agent will be automatically instantiated in
src/agents/index.js - Create custom workflow in
src/workflows/orchestrator.js
npm test # Coming soonSet NODE_ENV=development in .env to see detailed agent execution logs.
- ✅ Core agent system
- ✅ Basic orchestration
- ✅ Sourcing workflow
- ✅ Outreach workflow
- 🚧 Data ingestion connectors
- 🚧 Web interface
- Entity resolution at scale
- Database integration (PostgreSQL)
- CRM sync (HubSpot)
- Email sending (SendGrid)
- HVAC vertical pack
- Additional verticals (plumbing, landscaping, dental, MSP)
- Advanced valuation models
- Document Q&A with RAG
- Full integration playbooks
- CLAUDE.md - Architecture and development guidelines
- Rollizer PRD.txt - Complete product requirements
- hvac-consolidation-analysis.md - Market analysis
- AI/LLM: Anthropic Claude (via SDK)
- Runtime: Node.js
- Future: PostgreSQL, Redis, Elasticsearch, Next.js
This is an early-stage project. Contributions welcome!
ISC
For questions or issues, see documentation or create an issue in the repository.
Built with ❤️ and Claude AI