Wrong Stack Smells
Use this when implementation feels harder than the product idea deserves.
| Smell | Likely problem | Try instead |
|---|---|---|
| You added auth before knowing if data must be shared | Backend by habit | Local-first plus export |
| A PWA needs restricted mobile permissions | Browser boundary mismatch | Native mobile |
| A native app is just forms and static content | Platform overkill | Web/PWA |
| Cross-platform code is mostly platform exceptions | Abstraction is not paying off | Native for the first platform |
| Electron app only wraps one small static page | Desktop shell overkill | PWA or Tauri/CLI depending on need |
| Tauri app has many WebView-specific UI bugs | Renderer consistency matters | Electron |
| AI feature needs filesystem/tools but has no sandbox | Security boundary missing | AI-native stack with sandbox/audit |
| CLI has onboarding screens in terminal art | Wrong audience or missing GUI | Small web/desktop UI |
| Release build has never run | Stack not validated | Package early |
| Three repos appear before v1 | Solo-dev maintenance risk | Collapse runtime boundaries |
Debug Questions
- Which requirement forced this stack?
- Can the current v1 ship without that requirement?
- Which release gate is blocked?
- Is the blocker product complexity or stack complexity?
- What is the smaller stack that preserves the user promise?