Why every framework is the same thirty lines — and what that means for buy-vs-build — step 8 of 9
Write recommend_framework(project) that takes a project profile
(dict) and returns a string — one of:
"framework-free""vercel-ai-sdk""langgraph""crewai"
Each project has:
team_size: intlanguage:"python","typescript", or"both"needs_streaming: boolneeds_durable_state: booltime_to_first_demo_days: int
Apply the rules in this exact order (first match wins):
- framework-free when the team is small AND the deadline is
short:
team_size <= 2ANDtime_to_first_demo_days <= 14. Prototypes don't earn the framework tax. - vercel-ai-sdk when streaming is required AND the stack is
TypeScript-compatible:
needs_streamingANDlanguagein ("typescript","both"). - langgraph when state must persist across restarts AND the
stack is Python-compatible:
needs_durable_stateANDlanguagein ("python","both"). - Otherwise → crewai (multi-agent default when no other rule fires).
Two projects run. Expected output:
Solo MVP: framework-free
Research agent: langgraph
⌘↵ runs the editor.read, then continue.
Write recommend_framework(project) that takes a project profile
(dict) and returns a string — one of:
"framework-free""vercel-ai-sdk""langgraph""crewai"
Each project has:
team_size: intlanguage:"python","typescript", or"both"needs_streaming: boolneeds_durable_state: booltime_to_first_demo_days: int
Apply the rules in this exact order (first match wins):
- framework-free when the team is small AND the deadline is
short:
team_size <= 2ANDtime_to_first_demo_days <= 14. Prototypes don't earn the framework tax. - vercel-ai-sdk when streaming is required AND the stack is
TypeScript-compatible:
needs_streamingANDlanguagein ("typescript","both"). - langgraph when state must persist across restarts AND the
stack is Python-compatible:
needs_durable_stateANDlanguagein ("python","both"). - Otherwise → crewai (multi-agent default when no other rule fires).
Two projects run. Expected output:
Solo MVP: framework-free
Research agent: langgraph
this step needs the editor
on desktop today; in the app (coming soon). save your spot and we'll bring you back here when you're ready.