From idea to AI stack in minutes.
AI Tool Roadmapper is an open-source tool that helps founders and developers discover the best AI tools for their startup. Describe your idea in plain English, chat with Claude to refine your requirements, and receive a complete AI tool stack recommendation with a visual interactive roadmap — showing what to build when, estimated costs, and alternatives.
- Conversational requirements gathering — Claude asks the right questions to understand your use case, team size, and budget before making any recommendations.
- Manually curated tool database — A vetted, categorized database of 150+ AI tools with pricing and capability metadata.
- Visual interactive roadmap — A React Flow graph showing your recommended stack organized by phase, with dependency arrows and timeline guidance.
- Cost estimation — Per-tool and total stack cost estimates based on your expected usage.
- Alternatives — Every recommendation includes alternatives so you can make informed trade-offs.
- Export — Copy or download your roadmap as structured data.
- Background enrichment — Inngest-powered jobs handle tool classification, scoring, and embedding generation.
- Describe — Type a brief description of your startup idea or the problem you are solving.
- Chat — Claude asks targeted clarifying questions: your technical constraints, team size, budget, timeline, and must-have integrations.
- Generate — The planner service queries the vector database, scores tools against your requirements, and produces a phased roadmap.
- Export — Share or save your personalized AI stack recommendation.
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, React 18, TypeScript, Tailwind CSS |
| Graph Visualization | React Flow (@xyflow/react) |
| AI / LLM | Anthropic Claude via AI SDK |
| Database | Supabase (PostgreSQL + pgvector) |
| ORM | Drizzle ORM |
| Background Jobs | Inngest |
| Monorepo | Turborepo + pnpm workspaces |
| Deployment | Supabase (DB) |
| Package / Service | Purpose |
|---|---|
apps/web |
Next.js application and API routes |
packages/db |
Drizzle schema, migrations, Supabase client |
packages/prompts |
Shared Claude prompt templates |
packages/schemas |
Shared Zod schemas |
packages/scoring |
Tool scoring and ranking logic |
services/enrich |
Tool metadata enrichment (classifier, deduplicator) |
services/planner |
Roadmap generation and tool retrieval |
- Node.js 20 or later
- pnpm 10 or later (
npm install -g pnpm) - A Supabase account (free tier works)
- An Anthropic API key
- An Inngest account (free tier works for local dev)
git clone https://github.com/nolanselby/stackmap.git
cd ai-tool-roadmapperThis project is built on a manually curated database of AI tools.
- Structured Schema: The Postgres schema for all tools, pricing, and capabilities is located in
packages/db/src/schema.ts. - Seeding: You can populate your own instance using
node scripts/apply-seed.mjs. - Enrichment Logic: The logic for how tools are classified and scored is open-source in
services/enrichandpackages/scoring.
If you'd like to add a tool to the database, please submit a PR with the tool data added to the seed file.
pnpm installcp apps/web/.env.local.example apps/web/.env.localOpen apps/web/.env.local and fill in your keys. See Environment Variables below.
Follow the step-by-step guide in docs/setup-supabase.md to:
- Create a Supabase project
- Enable the
pgvectorextension - Run the database migrations
- Copy your connection strings into
.env.local
pnpm devThe app will be available at http://localhost:3000.
To run all services in parallel with Turborepo:
pnpm dev:allai-tool-roadmapper/
├── apps/
│ └── web/ # Next.js 14 application
│ ├── app/ # App Router pages and API routes
│ ├── components/ # React components (chat, roadmap)
│ └── inngest/ # Inngest function definitions
├── packages/
│ ├── db/ # Drizzle ORM schema and Supabase client
│ │ └── supabase/migrations/ # SQL migration files
│ ├── prompts/ # Shared Claude prompt templates
│ ├── schemas/ # Shared Zod validation schemas
│ └── scoring/ # Tool scoring and ranking algorithms
├── services/
│ ├── enrich/ # Tool enrichment (classify, deduplicate)
│ └── planner/ # Roadmap generation and retrieval
├── scripts/ # Utility scripts (seeding, etc.)
├── docs/ # Additional documentation
├── package.json # Root workspace manifest
├── pnpm-workspace.yaml # pnpm workspace configuration
└── turbo.json # Turborepo pipeline configuration
All required environment variables are documented in apps/web/.env.local.example.
| Variable | Required | Description |
|---|---|---|
ANTHROPIC_API_KEY |
Yes | Your Anthropic API key |
NEXT_PUBLIC_SUPABASE_URL |
Yes | Your Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Yes | Supabase anonymous (public) key |
SUPABASE_SERVICE_ROLE_KEY |
Yes | Supabase service role key (server-only) |
DATABASE_URL |
Yes | PostgreSQL connection string |
INNGEST_EVENT_KEY |
Yes | Inngest event key |
INNGEST_SIGNING_KEY |
Yes | Inngest signing key |
NEXT_PUBLIC_APP_URL |
No | Public app URL (defaults to localhost:3000) |
Contributions are very welcome! Whether you want to fix a bug, improve the docs, add a new AI tool to the database, or propose a new feature — please read CONTRIBUTING.md first.
This project is licensed under the MIT License. See LICENSE for details.
- Anthropic for Claude and the AI SDK
- Supabase for the database and pgvector support
- Inngest for background job orchestration
- React Flow for the interactive graph visualization
