Claude-code-plugins-plus-skills replit-cost-tuning

install
source · Clone the upstream repo
git clone https://github.com/jeremylongshore/claude-code-plugins-plus-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/jeremylongshore/claude-code-plugins-plus-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/saas-packs/replit-pack/skills/replit-cost-tuning" ~/.claude/skills/jeremylongshore-claude-code-plugins-plus-skills-replit-cost-tuning && rm -rf "$T"
manifest: plugins/saas-packs/replit-pack/skills/replit-cost-tuning/SKILL.md
source content

Replit Cost Tuning

Overview

Optimize Replit spending across deployment compute, seat licenses, egress, and storage. Covers right-sizing deployment resources, choosing between Autoscale and Reserved VM, eliminating idle Repls, and managing team seat costs.

Prerequisites

  • Replit account with billing access
  • Understanding of current deployment architecture
  • Access to usage metrics in Replit dashboard

Replit Pricing Model

ComponentPricing
Replit Core$25/month (includes $8 flexible credits)
Replit Pro$40/month (team features + credits)
AutoscalePay per compute unit consumed
Reserved VMFrom $0.20/day (~$6.20/month)
Static DeployFree (CDN-backed)
Egress$0.10/GiB over monthly allowance
PostgreSQLIncluded in plan allowance
Object StorageIncluded in plan allowance

Instructions

Step 1: Audit Deployment Costs

Review what you're spending and where:

In Replit Dashboard > Billing:
1. View "Usage" tab for compute breakdown
2. Sort by cost to find expensive Repls
3. Check "Always On" Repls (legacy) — convert to Deployments

Key metrics to check:
- CPU hours consumed per Repl
- Memory-hours consumed per Repl
- Egress data transfer per Repl
- Number of cold starts (Autoscale)

Step 2: Right-Size Deployment Resources

# Match resources to actual workload

micro:  # Simple bot, webhook receiver
  type: autoscale
  cost: "Pay per request (free when idle)"
  best_for: "< 1000 requests/day, tolerates cold starts"

small:  # Basic API or web app
  type: reserved_vm
  cpu: 0.25 vCPU
  memory: 512 MB
  cost: "~$6/month"
  best_for: "Low traffic, always-on required"

medium:  # Production web app
  type: reserved_vm
  cpu: 0.5 vCPU
  memory: 1 GB
  cost: "~$12/month"
  best_for: "Standard traffic, good response times"

large:  # Compute-heavy or high-traffic
  type: reserved_vm
  cpu: 2 vCPU
  memory: 4 GB
  cost: "~$40/month"
  best_for: "High traffic, background processing"

# Rule of thumb: if peak CPU < 30% and peak memory < 50%, downsize

Step 3: Choose Autoscale vs Reserved VM

Use AUTOSCALE when:
- Traffic is unpredictable or bursty
- App can tolerate 5-15s cold starts
- Many hours of zero traffic per day
- Low daily request count (< 5000)
- Cost: $0 when idle, proportional to traffic

Use RESERVED VM when:
- Traffic is consistent throughout the day
- App needs instant response times
- Running cron jobs, webhooks, or WebSocket
- Cost: fixed monthly, predictable
- Cheaper than Autoscale when utilization > 60%

Use STATIC when:
- Frontend-only app (HTML/CSS/JS)
- No server-side processing needed
- Cost: FREE (CDN-backed, auto-cached)

Step 4: Reduce Egress Costs

Egress (outbound data) costs $0.10/GiB over your plan allowance:

// Compress API responses
import compression from 'compression';
app.use(compression());  // gzip responses — reduces egress 60-80%

// Paginate large responses
app.get('/api/items', async (req, res) => {
  const limit = Math.min(parseInt(req.query.limit as string) || 50, 100);
  const { rows } = await pool.query('SELECT * FROM items LIMIT $1', [limit]);
  res.json(rows);
});

// Serve static assets from CDN, not Replit
// Use Cloudflare, Vercel, or other CDN for images/videos/large files
// Only serve API responses from Replit deployment

Step 5: Team Seat Optimization

Seat audit checklist:
1. Export member list: Team Settings > Members
2. Identify inactive members (no activity in 30+ days)
3. Remove or downgrade inactive members
4. Consider "Viewer" role for stakeholders who only need read access

Cost calculation:
- 15 seats at $25/month = $375/month
- Remove 4 inactive = $100/month savings = $1,200/year

Quarterly seat review:
- [ ] Export activity report
- [ ] Remove members with 0 activity in 30 days
- [ ] Downgrade read-only members to viewer
- [ ] Document seat allocation decisions

Step 6: Eliminate Idle Repls

In Replit Dashboard:
1. View all Repls by last edited date
2. Archive Repls not edited in 90+ days
3. Delete old test/experiment Repls
4. Convert "Always On" Repls to Deployments
   (Always On is legacy and more expensive)

Deployments to review:
- Is this deployed and unused? → Undeploy
- Is this Autoscale with zero traffic? → No cost (good)
- Is this Reserved VM with zero traffic? → Undeploy or switch to Autoscale

Step 7: Optimize PostgreSQL Usage

PostgreSQL costs:
- Included in plan credits
- Separate dev and prod databases (charged separately)
- Storage grows with data

Optimization:
- Delete old development databases
- Vacuum and clean up unused tables
- Archive old data to Object Storage
- Use KV Database for simple key-value (included, no extra cost)

Cost Monitoring Dashboard

// Track resource usage in your app
app.get('/admin/costs', requireAuth, (req, res) => {
  const mem = process.memoryUsage();
  res.json({
    deployment: {
      type: process.env.REPLIT_DEPLOYMENT_TYPE || 'unknown',
      uptime: process.uptime(),
      memoryMB: Math.round(mem.rss / 1024 / 1024),
    },
    database: {
      poolSize: pool.totalCount,
      activeConnections: pool.idleCount,
    },
    repl: {
      slug: process.env.REPL_SLUG,
      owner: process.env.REPL_OWNER,
    },
  });
});

Error Handling

IssueCauseSolution
Unexpected high billReserved VM running unusedUndeploy or switch to Autoscale
Egress overageServing large files from ReplMove to CDN
Seat costs growingNo quarterly auditSchedule regular seat reviews
Cold start complaintsUsing AutoscaleSwitch to Reserved VM for latency-sensitive apps

Resources

Next Steps

For architecture planning, see

replit-reference-architecture
.