Developer pack
Claude Skill

Hosting Stack Selector

Picks a host, database, and region from your project's actual shape — and names what you'd have to migrate later.

What it does

Turns "what is this project" (static site / full-stack + DB / background workers / AI inference) into a concrete hosting recommendation — Vercel, Railway, Cloudflare, Supabase, Neon — matched to the runtime, data, and traffic you actually have. Names the lock-in and the migration cost of each choice up front, so the cheap default now doesn't become an expensive move later.

When to use

  • You built something and need to decide where it actually runs
  • Choosing a database + host for a new project and want the trade-offs, not a trend
  • Weighing a no-code builder's hosting vs moving to your own

When not to use

  • You already chose a host and just need to deploy — that's a deploy walkthrough
  • Enterprise/regulated infra with procurement constraints this doesn't model

Install

Download the .zip, then unzip into your Claude skills folder.

mkdir -p ~/.claude/skills
unzip ~/Downloads/hosting-stack-selector.zip -d ~/.claude/skills/

# Restart Claude Code session.
# Skill is now available — Claude will use it when relevant.

SKILL.md

SKILL.md
---
name: hosting-stack-selector
description: Use when choosing where to host an app and which database to use. Triggers on "where should I host", "which host", "Vercel vs Railway", "what database", "hosting stack", "deploy options", "self-host vs managed".
---

# Hosting Stack Selector

Pick the host from the project's shape, not from what's trending. The wrong host shows up later as a painful migration, so name the lock-in now.

## First, classify the project

1. **What runs it?** Static files / a JS framework (Next, Vite) / a long-running server (Express, FastAPI) / background workers / GPU inference.
2. **What's the data?** None / a SQL database / files & blobs / a vector store.
3. **What's the traffic shape?** Spiky and low (hobby) / steady / bursty with cold-start sensitivity.

## Match to a host

- **Static or Next.js, DB managed elsewhere** → Vercel or Cloudflare Pages. Cheap, fast, zero servers. DB lives on Supabase / Neon.
- **Full-stack with a long-running server or workers** → Railway (any language, simple Postgres + cron in one place) or a container host. Vercel functions are stateless and time-boxed — not for long jobs.
- **SQL database** → Supabase (Postgres + auth + storage) or Neon (serverless Postgres, branchable). Avoid putting a DB on the app host's ephemeral disk.
- **GPU / heavy inference** → a dedicated inference host, not your web host.

## Name the lock-in (do this before recommending)

For each option, state what you'd have to migrate later and how hard it is:
- Managed-platform features you'd become dependent on (their auth, their edge functions, their proprietary KV)
- Data egress cost and export path
- Whether the runtime is portable (a standard container moves; a platform-specific function doesn't)

A good recommendation comes with "if you outgrow this, here's the exit, and it costs roughly X."

## Region & cost

- Put the database near the compute (cross-region DB calls dominate latency).
- Start on the free/hobby tier; note the specific metric that will push you to paid (bandwidth, compute-hours, DB rows), so the bill isn't a surprise.

## Anti-patterns

- Choosing the trendy host, then discovering it can't run your background jobs
- A database on the app host's ephemeral disk (data vanishes on redeploy)
- Cross-region compute↔DB by accident
- Ignoring lock-in until the migration is forced and expensive

Example prompts

Once installed, try these prompts in Claude:

  • I have a Next.js app with a Postgres database and one background job. Where should it run, and what would I regret in a year?
  • Static marketing site + a contact form. Cheapest reliable host, and what locks me in?

Related prompts

Don't want to install a skill? These prompts in /prompts cover similar ground for one-shot use: