Cut the noise. Pick your AI stack.
An open-source, interactive map of the AI tooling ecosystem — with a cost/latency simulator, a stack-genome scanner, and a live activity feed of what's changing across vendors.
aichitect.dev · Explore · Stacks · Builder · Simulate · Compare · Genome · Pulse · Activity
AI tools are all over the place. Every week there's a new framework, a new model, a new "essential" addition to your stack. AIchitect gives you a structured, visual map of the ecosystem — 235 tools across 21 categories, with 33 curated stacks and a live signal feed — so you can pick the right stack based on data, not hype.
Browse all 235 tools as a force-directed graph. Filter by category or relationship type, search by name, and switch between three view modes:
- 2D Grid — clean, scannable card layout
- 2D Layers — swimlane view organized by stack layer (Development → AI Logic → Models & Infra → Tooling)
- 3D — rotatable Three.js force graph with orbit controls
Stacks lead with the specific situation they solve, list what was explicitly rejected and why, and tell you exactly when to move on. Organized across 5 decision clusters:
| Cluster | Tagline | Stacks |
|---|---|---|
| Build | Ship this week | 9 |
| Automate | AI does the work | 8 |
| Ship & Harden | Make it trustworthy | 6 |
| Understand | Data is the product | 5 |
| Comply & Restrict | Nothing leaves the building | 5 |
Each stack includes the situation, why each tool was picked, what was rejected (and why), kill conditions, and the next stack to graduate to.
Pick one tool per slot and watch your stack wire together with live integration edges. Share your exact stack via a single URL (?s=cursor,langgraph,openai-api,…).
Drag a few sliders and watch the chart move: per-token cost with prompt-caching and batch-API discounts, token-aware latency, a shadow-stack A/B comparison, and a provider ranking at your specific workload. Built on a public per-tool cost-model catalog.
Compare any two tools head-to-head: category, pricing, OSS vs. SaaS, GitHub stars, integrations, and a plain-language summary of the tradeoffs. Shareable via URL (/compare/cursor/claude-code).
Paste your dependency files (package.json, requirements.txt, .env, etc.) and Genome detects which AI tools you're already using, scores your stack's fitness, surfaces gaps, and offers an adversarial challenge or AI roast of every tool choice.
A category-level heatmap of which parts of the AI tools landscape are heating up vs. cooling down — built from the nightly health-sync, benchmark, and incident pipelines.
Live, filterable feed of tool events: health-score shifts, star milestones, stale transitions, archive detections, pricing changes, benchmark drift, and incidents — fed by the cron jobs that watch every tracked vendor.
Four questions (role, use case, budget, priorities) → a curated stack recommendation that maps into Builder and Compare.
Generates a structured argument for a given stack you can share with a teammate or stakeholder, including rejected alternatives and exit conditions.
An experimental MCP server endpoint (
/api/mcp) is also exposed athttps://aichitect.dev/api/mcp— see the setup guide. Not actively developed.
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack) |
| Language | TypeScript · React 19 |
| 2D graph | React Flow v11 + dagre + ELK |
| 3D graph | react-force-graph-3d + Three.js |
| Styling | Tailwind CSS v4 |
| Data layer | Supabase Postgres (auth + tool events) · static JSON |
| AI features | Google AI (@google/generative-ai) for Roast and Genome Challenge |
| Activity | Vercel Cron → health sync (nightly), benchmarks (weekly), incidents (hourly) |
| Dev runtime | Docker + Docker Compose |
All dev runs through Docker — no local Node.js required.
# Clone
git clone https://github.com/letsgogeeky/aichitect.git
cd aichitect
# Start dev server (applies local migrations, seeds DB, tails logs)
make run
# Stop
make downRequires Docker and Docker Compose. The dev server is exposed on
http://localhost:3002(mapped from container3000).
make run # Start dev server (foreground, hot reload)
make down # Stop and remove containers
make rebuild # Full rebuild after adding new packages
make logs # Tail container logs
make shell # Open shell inside the running container
make typecheck # Run tsc --noEmit
make lint # Run ESLint
make test # Run Vitest suite
make check # lint + typecheck + test in one shot
make sync-counts # Sync tool/category/stack counts in README + CLAUDE.md
make seed-validate # Validate JSON data integrity without a DB
make db-push-local # Apply pending migrations to local Postgres
make db-push # Promote verified migrations to remote Supabase
make db-migrate name=X # Scaffold a new migration fileapp/
page.tsx landing page (hero, view cards, live signals, footer)
explore/ graph view (2D grid / swimlanes / 3D)
stacks/ 33 mission-driven stacks across 5 clusters
builder/ pick-per-slot stack builder
simulate/ cost / latency / breaking-points simulator
compare/[a]/[b]/ side-by-side tool comparison
genome/ paste-your-deps stack-fitness scorer
pulse/ 30-day category momentum heatmap
feed/ live tool-event activity feed
case/ "make a case for your stack" generator
match/ 4-question stack quiz
mcp/ MCP setup guide
tool/[toolId]/ per-tool detail pages
category/[id]/ per-category landing pages
profile/[user]/ public user profiles (GitHub auth)
api/ cron, MCP, roast/challenge endpoints
badge/ shields.io-style SVG badge endpoint
data/
tools.json 235 tools
relationships.json 543 edges (integrates-with / commonly-paired-with / competes-with)
stacks.json 33 curated stacks with flow edges
slots.json 22 builder slot types
lib/
types.ts single source of truth for all interfaces + category colors
simulate.ts cost / latency simulation core
genomeAnalysis.ts dependency-file → stack genome detection
health.ts GitHub-signal → health score
pulse.ts category-momentum aggregation
data-loaders.ts typed JSON loaders
components/
graph/ ExploreGraph (2D/3D), ToolNode, LaneLabel, EnrichedEdge
panels/ FilterPanel, DetailPanel, ComparisonPanel, StackHealthPanel
ui/ Navbar, Logo, MyStackTray, modals, walkthrough
hooks/
useBuilderState · useComparisonMode · useUser · useIsMobile
scripts/
sync-counts.mjs patches hardcoded counts in README + CLAUDE.md
seed-db.ts seed remote Supabase (idempotent upsert)
seed-db-local.ts seed local Docker Postgres
supabase/migrations/ DB schema history
See CLAUDE.md for the architectural deep-dive (edge-runtime rules, data integrity constraints, type-system contracts).
Contributions are welcome — tools, stacks, bug fixes, and new features.
- Add an entry to
data/tools.json:
{
"id": "my-tool",
"name": "My Tool",
"category": "agent-frameworks",
"tagline": "One sentence description",
"description": "Longer description shown in the detail panel.",
"type": "oss",
"pricing": { "free_tier": true, "plans": [] },
"github_stars": 12000,
"slot": "orchestration",
"prominent": false,
"website_url": "https://mytool.dev",
"github_url": "https://github.com/org/repo"
}- Optionally add edges in
data/relationships.json:
{ "source": "my-tool", "target": "langchain", "type": "integrates-with" }- Run
make seed-validateto catch broken references;make sync-countsto refresh the badges.
Add an entry to data/stacks.json. The full schema is in lib/types.ts (Stack). cluster must be one of: build · automate · ship · comply · understand. All tool IDs in tools, not_in_stack, flow.from, and flow.to must exist in data/tools.json.
Found a missing tool, broken edge, or UI bug? Open an issue — all feedback is welcome.
- Fork the repo
- Create a branch:
git checkout -b feat/my-change - Make your changes and verify with
make check(lint + typecheck + tests) - Open a PR with a clear description of what changed and why
MIT — free to use, modify, and distribute.