Skip to content

Comparison · updated September 2026

The Heroku experience, without the Heroku bill.

Push to deploy, Procfile-style start commands, config vars, one-click Postgres and Redis. Skiffly adds a prepaid balance, PayPal and crypto top-ups, a free tier that needs no card, and EU-only hosting on hardware we own.

For developers who liked Heroku's simplicity and want it back with predictable costs and data in the EU.

Side by side

What we know about ourselves is exact; what we say about others is deliberately general. Check their pricing page for current numbers.

FeatureSkifflyHeroku
How you payCard, PayPal or crypto (USDT, USDC, BTC, ETH), all into a prepaid balanceCard
Billing modelPrepaid balance drawn per minute; 3 day grace, then pause. Never an invoice.Dyno hours and add-ons billed monthly
Free tier without a cardYes: one 512 MB / 1 vCPU service that sleeps after 10 min idleNo free tier since 2022
EU hostingEU only: our own nodes in Helsinki, Finland; volumes, logs and backups stay in the EUUS and EU regions on AWS
Workload isolationOne microVM per service (gVisor or Kata), private network per projectDynos (containers)
API / CLI / MCPRailway-compatible GraphQL fields, same CLI command names, MCP server with matching tool namesHeroku Platform API and CLI
BackupsIncluded: daily volume snapshots, 7 daily / 4 weekly / 3 monthly, plus Postgres and MySQL dumpsPostgres backups depend on the add-on plan
App SleepingOptional per service; ~10 min idle, wakes on the next request, not billed while asleepEco dynos sleep after inactivity
Memory$8 / GB-month, per minute, from the balanceFixed dyno sizes; see their pricing page
CPU$15 / vCPU-month, any fractionBundled with the dyno size
DatabasesPostgres, MySQL, Redis, MongoDB, ClickHouse and 130+ more templates; you pay for the resources, not per add-onAdd-ons with their own plans
RegionsOne EU region today; more EU regions planned, no multi-region promisesUS and EU

Statements about Heroku describe the product in general terms as of September 2026 and may be out of date; see their pricing and documentation for specifics. Skiffly figures come from our pricing page.

Why people switch

A bill you can see coming

Top up $20 and watch the runway. We warn at 20 % and at zero, hold for 3 days, then pause. Nothing is deleted and no invoice arrives.

Pay how you can

Not everyone has a card that works with US billing. PayPal and stablecoins top up the same balance at the exchange rate at confirmation, with no fee from us.

Data stays in the EU

Our own nodes in Finland. No hyperscaler in the path, no transfer outside the EU, backups in EU object storage.

Nothing new to learn

The GraphQL fields, CLI commands and MCP tools mirror Railway where the feature exists. ${{Postgres.DATABASE_URL}} references, PR environments, templates: same shapes.

Migrate in 10 minutes

Three commands for the app, one dump and restore for the database. The guide walks through variables, domains and the things to check before cutting over.

Full migration guide
terminal
$ heroku config -s -a my-app > vars.env   # export config vars
$ skiffly init && skiffly up              # build the repo on Skiffly
$ skiffly variables set --skip-deploys $(cat vars.env | xargs)

Where Heroku is ahead: A mature add-on marketplace, release phase hooks, pipelines with promotion and years of production history. Skiffly is smaller and simpler: one EU region, no SLA yet, a prepaid balance instead of a sales process.

Questions before switching

What happens to my Procfile?
Each process type becomes a service: web gets a domain, worker runs without one. The command line becomes the service's start command. Scheduler jobs become services with a cron schedule.
How do I replace Heroku Postgres and Redis?
Deploy the Postgres or Redis template; it lands with a volume and a DATABASE_URL / REDIS_URL you reference from your app. Move the data with pg_restore through skiffly connect. You pay for the resources the instance uses, not a per-add-on plan.
Is there a release phase?
Not as a hook. Run migrations from the start command (sh -c "npm run migrate && npm start") or as a one-off with skiffly ssh -- npm run migrate.
Do apps sleep like Eco dynos?
Only if you turn on App Sleeping for that service; Hobby and Pro services are never stopped on a timer. The free tier's single service sleeps after 10 minutes idle and wakes on the next request.

Try the switch on the free tier

No card. One service, a domain with TLS, and the same commands you would use in production.