killer

Deployment

killer generates a standard Vite + React project. Run npm install && npm run build to produce a dist/ folder with static files. Deploy that folder anywhere.

  1. 1.Download your project (Git panel > Download ZIP or push to GitHub)
  2. 2.Go to vercel.com/new
  3. 3.Import your GitHub repo (or drag-and-drop the folder)
  4. 4.Vercel auto-detects Vite + React and configures the build
  5. 5.Click Deploy — your site is live in ~30 seconds

Best for: React/Vite apps, automatic HTTPS, preview deploys on every push

  1. 1.Download your project or push to GitHub
  2. 2.Go to app.netlify.com/start
  3. 3.Connect your repo or drag-and-drop the dist/ folder
  4. 4.Set build command: npm run build
  5. 5.Set publish directory: dist
  6. 6.Click Deploy

Best for: Static sites, form handling, serverless functions

Cloudflare Pages

dash.cloudflare.com
  1. 1.Push your project to GitHub or GitLab
  2. 2.Go to dash.cloudflare.com > Pages > Create a project
  3. 3.Connect your repository
  4. 4.Set build command: npm run build
  5. 5.Set build output directory: dist
  6. 6.Click Save and Deploy

Best for: Global edge delivery, free unlimited bandwidth

GitHub Pages

pages.github.com
  1. 1.Push your project to a GitHub repo
  2. 2.Install gh-pages: npm install --save-dev gh-pages
  3. 3.Add to package.json scripts: "deploy": "npm run build && gh-pages -d dist"
  4. 4.Run: npm run deploy
  5. 5.Enable Pages in repo Settings > Pages > Source: gh-pages branch

Best for: Free hosting, open-source projects, documentation sites

  1. 1.Push your project to GitHub
  2. 2.Go to railway.app > New Project > Deploy from GitHub
  3. 3.Select your repo and configure the service
  4. 4.Railway auto-detects the stack and deploys
  5. 5.Get a public URL or add a custom domain

Best for: Full-stack apps, databases, background workers

Self-Hosted

  1. 1.Download the ZIP from killer
  2. 2.Run: npm install && npm run build
  3. 3.The dist/ folder contains your production-ready static files
  4. 4.Upload dist/ to any web server (Apache, Nginx, S3, etc.)
  5. 5.Point your domain to the server

Best for: Full control, existing infrastructure, air-gapped environments

After deployment

Free APIs work as-is after deploy. They're called directly from the browser and don't depend on killer's infrastructure.

Premium APIs use killer's server-side proxy, which won't be available after you deploy externally. You need to replace the proxy calls with your own backend. The downloaded code includes TODO [DEPLOY] comments at every proxy call showing what to change.

Before (using killer proxy)

const res = await fetch("/api/preview/proxy", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    service: "tmdb",
    endpoint: "/3/trending/movie/week",
    params: {}
  })
});

After (your own proxy or direct call)

// Option 1: Direct call with restricted key
const res = await fetch(
  "https://api.themoviedb.org/3/trending/movie/week",
  { headers: { Authorization: `Bearer ${import.meta.env.VITE_TMDB_KEY}` } }
);

// Option 2: Your own serverless function
const res = await fetch("/api/tmdb/trending");

Options for replacing the proxy:

  • Vercel or Netlify serverless functions — add a /api route that injects your key from environment variables
  • A simple Express or Fastify proxy server — 20 lines of code
  • The service's client SDK with a restricted API key (where the provider supports it)