Pick by Goal
Skip the agonizing. Match your goal to a row and move on — you can always change course later, and for a first project, momentum beats optimization.
Here is the whole decision as one tree. Start at the top, answer each question, and follow the to your stack:
┌─────────────────────────┐
│ What are you building? │
└────────────┬────────────┘
┌──────────────┬───────┼────────┬──────────────┐
▼ ▼ ▼ ▼ ▼
┌─────────┐ ┌───────────┐ ┌─────┐ ┌────────┐ ┌────────────┐
│ Website │ │ AI / data │ │ API │ │ Mobile │ │ Max speed │
│ web app │ │ automation│ │backend│ │ app │ │ / systems │
└────┬────┘ └─────┬─────┘ └──┬──┘ └───┬────┘ └─────┬──────┘
▼ ▼ ▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌──────┐ ┌──────────┐ ┌──────┐
│TypeScript│ │ Python │ │ Go │ │iOS: Swift│ │ Rust │
│+ React / │ │ │ │ or TS│ │Android: │ │(only │
│ Next.js │ │ │ │ │ │ Kotlin │ │ if │
└─────────┘ └──────────┘ └──────┘ │or RN (TS)│ │needed)│
└──────────┘ └──────┘
When unsure ─────────────▶ TypeScript or Python
Need to store data? ─────▶ add SQL alongside any choice
- I want to build a website or web app. → TypeScript (with React/Next.js). The obvious, well-supported choice.
- I want to do AI, data, or automation. → Python. It's where the tools live.
- I want a fast or service. → Go (simple and fast) or TypeScript (if it's part of a web stack). Python's FastAPI also works fine.
- I'm building a mobile app. → Swift for iOS, Kotlin for Android — or consider a cross-platform web-based approach (React Native) to stay in TypeScript.
- I need raw speed or systems-level control. → Rust, but only if you've confirmed you actually need it. Most people don't.
- I'm adding to a site that already exists. → Whatever it's already written in. A WordPress plugin means PHP; an old Rails app means Ruby. Match the codebase, don't fight it.
- I just want to learn and ship something fast. → Python or TypeScript. Both are forgiving, both are the languages AI knows best, and both have endless tutorials and examples.
- My app needs to store data. → Whatever you pick above, plus for the . You don't choose between them.
The meta-lesson: when in doubt, pick the popular option. TypeScript and Python cover the vast majority of what a solo vibe coder will ever build, and they're the languages your AI assistant handles most reliably. The "best" language for vibe coding is usually the one the AI knows best — and that means the popular one. Save the exotic choices for when you have a concrete reason, and let the AI handle the syntax either way.