Railway review: running a paid app on it as a solo developer
This review contains an affiliate link. If you sign up through it, you get $20 in Railway credits and I may earn a commission. It costs you nothing extra. How I review.
Short version
Good pick if you're one person running a small always-on backend with a database, and you'd rather push code than manage a server.
Pick something else if you only have a static site (a static host is cheaper and simpler), or you need a bill that never moves (Railway charges for what you use).
What I run on it
Uplift Coach, an AI life coach on Telegram that people pay a monthly subscription for. On Railway it's one project with two services:
- web: a Python FastAPI app that receives Telegram messages, calls the Claude API, and handles Stripe billing.
- Postgres: Railway's managed database, holding users, conversations and check-in schedules.
It's a real product with paying subscribers, not a demo. I'm one person, so the whole point is not having to think about servers.
What it actually costs me
$5 a month. I'm on the Hobby plan, and the bot plus its Postgres database fit inside the $5 of usage the plan includes, so the plan fee is the whole bill. For a small always-on app with a database, that's hard to beat.
Current pricing (from railway.com/pricing, checked 2026-10-19)
| Plan | Monthly fee | Usage included | Max per service |
|---|---|---|---|
| Free Trial | $0 | $5 one-time credit, 30 days, no card | 2 vCPU / 1 GB |
| Free | $0 | $1/month | 1 vCPU / 0.5 GB |
| Hobby | $5 | $5/month | 48 vCPU / 48 GB |
| Pro | $20 per workspace | $20/month | 1,000 vCPU / 1 TB |
Past the included amount you pay for what runs: about $10 per GB of memory per month, $20 per vCPU per month, $0.15 per GB of volume storage, and $0.05 per GB of outbound traffic. Builds are free. The fee works as a minimum: on Hobby, the first $5 of usage is covered by the $5 you already pay.
What I like
- App and database in one place. The Postgres connection string is a variable the app reads. No separate database vendor, no networking setup.
- Push to deploy. My service is connected to GitHub, so
git pushbuilds and ships it. - A real CLI.
railway runruns a command with the production variables loaded, which is how I run one-off admin scripts.
The gotchas I actually hit
1. railway up can be silently undone
This one cost me a security fix. railway up uploads your local folder and deploys it, and it really does go live. But if the service is also connected to GitHub, the next rebuild (which a variable change can trigger) builds from GitHub again. Anything you shipped with railway up but never pushed disappears, with no warning.
Rule I follow now: if a service is connected to GitHub, the push is the deploy. Use railway up only for services that aren't.
2. railway variables prints your secrets
It lists every environment variable in plain text, API keys included, so they end up in your terminal scrollback or a shared log. When a script needs a secret, run it through railway run --service web bash -c '...' so the value is used without being printed.
3. Logging in from a script or over SSH
railway login refuses to run without an interactive terminal. Use railway login --browserless: it prints a short code you approve at railway.com/activate. After that, railway link needs explicit --project, --environment and --service flags to stay non-interactive.
4. Watch the bill, not just the uptime
Usage pricing is fair, but a service that leaks memory or never sleeps keeps costing money. Check the usage page monthly, at least while you're new.
Who should pick something else
- Static sites only (HTML, a blog, a landing page): a static host does this cheaper. I host my static sites elsewhere.
- You need a fixed, predictable bill: usage-based pricing moves with traffic.
- You want free hosting forever: the Free plan includes $1 of usage a month, which doesn't cover an always-on app with a database.
Signing up
New accounts start on the Free Trial: $5 of credit for 30 days, no card needed. Signing up through my link adds $20 in credits, which Railway says equals a free month on Pro.