Help PMs make technical architecture decisions without deep engineering background — database selection, hosting, auth patterns, monolith vs microservice, API design. Written in PM-friendly language with decision trees.
From pm-vibe-codingnpx claudepluginhub tarunccet/pm-skills --plugin pm-vibe-codingThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
Guide PMs through key technical architecture decisions when building with AI coding assistants. Translates technical trade-offs into product-management terms: speed vs control, cost vs scale, simplicity vs flexibility. Helps you make good enough decisions quickly without needing a deep engineering background.
For PM-builders, "good enough architecture" beats "perfect architecture." The goal is an architecture that: (1) gets to working prototype fast, (2) doesn't create painful technical debt for the first 12 months, (3) can be handed off to engineers without a full rewrite.
This guide uses decision trees — answer simple questions to get a recommendation. Each decision includes a PM-friendly explanation of the trade-offs, what you'll regret if you choose wrong, and what to say to an AI coding assistant to implement the recommendation.
The PM Architecture Principle: Optimize for developer experience at prototype stage, not theoretical scale. The bottleneck for PM-builder projects is almost never the database or hosting choice — it's the speed of iteration. Choose the stack that lets you move fastest while staying on a path engineers can take over.
You are helping a PM-builder make a technical decision for $ARGUMENTS.
Ask which decision they need help with, then provide a structured guide:
Decision tree:
Detailed options:
| Database | Best For | Free Tier | PM-Friendliness | Managed By |
|---|---|---|---|---|
| Supabase (Postgres) | Most PM-builder projects | Yes (generous) | ⭐⭐⭐⭐⭐ | Supabase |
| Firebase Firestore | Real-time apps, mobile-first | Yes | ⭐⭐⭐⭐ | |
| MongoDB Atlas | Document data, flexible schema | Yes | ⭐⭐⭐⭐ | MongoDB Inc |
| Neon (Postgres) | Serverless Postgres, branching | Yes | ⭐⭐⭐⭐ | Neon |
| PlanetScale (MySQL) | High-scale MySQL | Limited (changed 2024) | ⭐⭐⭐ | PlanetScale |
| SQLite (Turso) | Simple apps, low traffic | Yes | ⭐⭐⭐ | Turso |
PM recommendation: For 90% of PM-builder projects, PostgreSQL via Supabase is the right choice. It handles structured data, has a free tier, includes auth and storage, has a visual table editor, and engineers will thank you for it when they inherit the code. Avoid Firebase unless you specifically need real-time push or are building a mobile app.
What to tell your AI: "Use Supabase with PostgreSQL. Connection string and anon key will be in environment variables SUPABASE_URL and SUPABASE_ANON_KEY. Use the Supabase JS client library, not raw SQL."
Decision tree:
Detailed options:
| Platform | Best For | Free Tier | Scaling | Complexity |
|---|---|---|---|---|
| Vercel | Next.js, React, static sites | Yes | Auto | Low |
| Railway | Full-stack, Node, Python, Docker | $5 credit/mo | Manual/auto | Low |
| Render | Full-stack, background jobs | Yes (cold starts) | Manual | Low |
| Fly.io | Docker containers, global edge | Yes | Manual | Medium |
| Netlify | Static sites, serverless functions | Yes | Auto | Low |
| Replit | Quick demos, learning projects | Yes | None | Very Low |
| AWS/GCP/Azure | Production enterprise | No | Full control | Very High |
PM recommendation: Vercel (frontend) + Supabase (backend/DB) is the fastest zero-cost stack for most PM prototypes. If you need a persistent server or background jobs, add Railway. Avoid AWS/GCP/Azure until you have an engineer — the operational overhead is too high for solo PM-builders.
Cold start warning: Render's free tier spins down after 15 minutes of inactivity and takes 30+ seconds to wake up. This is fine for a portfolio project; it's unacceptable for sharing with real users. Upgrade to a paid tier ($7/month) for any beta with real users.
Decision tree:
Detailed options:
| Auth Solution | Setup Time | Social Login | Cost | PM Rating |
|---|---|---|---|---|
| Supabase Auth | 15 min | Yes (OAuth) | Free | ⭐⭐⭐⭐⭐ |
| Clerk | 20 min | Yes (many) | Free tier | ⭐⭐⭐⭐⭐ |
| NextAuth.js | 45 min | Yes | Free | ⭐⭐⭐⭐ |
| Firebase Auth | 20 min | Yes | Free | ⭐⭐⭐⭐ |
| Auth0 | 30 min | Yes (many) | Free tier | ⭐⭐⭐ |
| Magic Links | 30 min | No | Free (via Resend/SendGrid) | ⭐⭐⭐ |
PM recommendation: Never build auth yourself for a prototype. Use Clerk if you want the best out-of-the-box UI (pre-built sign-in/sign-up components, user profile management). Use Supabase Auth if you're already on Supabase (lowest friction). Both have free tiers that cover prototype scale.
For PM-builders: Always start monolith. No exceptions.
Microservices are an organizational scaling solution designed for teams of 20+ engineers working on the same codebase. For a solo PM-builder or small team, microservices add:
What to build instead: A modular monolith — a single deployment unit with clean internal modules/folders separating concerns (e.g., /lib/auth, /lib/payments, /lib/notifications). This gives you the organizational benefits of microservices without the operational overhead. Engineers can extract services later if actually needed.
Rule of thumb: If you don't have at least 3 full-time engineers dedicated to a single service, that service shouldn't exist as a separate microservice.
For PM-builders: Use REST. Almost universally.
REST advantages for PM-builders:
GraphQL advantages (only relevant when you have these problems):
REST best practices for PM-builder projects:
/api/users, /api/projects (not /api/getUsers){ data: {...}, error: null } or { data: null, error: "message" }/api/v1/... (makes future changes non-breaking)/api/users not /api/userDecision tree:
PM recommendation: Next.js 14+ with TypeScript and Tailwind CSS is the default choice for PM-builders. It has the most AI training data (meaning better code generation), the best developer experience, built-in API routes (no separate backend needed for simple apps), and deploys in one click to Vercel.
Add to your AI session header: "Use Next.js 14 App Router with TypeScript strict mode, Tailwind CSS for styling, and shadcn/ui for components."
For PM-builders: Use Stripe. It's the default for a reason.
What to tell your AI: "Use Stripe for payments. Use Stripe Checkout for the payment UI (don't build a custom card form). Store stripe_customer_id and subscription_status on the user record."
Decision recommendations with rationale, trade-offs, and specific tool recommendations. Written for a PM audience. Each decision includes what to say to your AI coding assistant to implement it.