Replit alternative: bots and apps that stay awake
Replit was where a first bot lived: a browser editor, a Run button, and for a while a free way to keep it awake. The free always-on option is gone and deployments are paid. The part worth replacing is the running: a free bot or app, from GitHub, that does not need a pinger.
Moving a Repl
- Push the Repl to GitHub (Replit's Git pane, or download the zip and push it).
- Delete the
keep_alive.pyor Express keep-alive server that only existed to fool a pinger. Nothing here sleeps a bot. - Move the secrets from Replit's Secrets pane to the app's environment variables; the names stay the same.
- Create the bot or app from the repository and deploy.
What is different
There is no browser editor: you edit in your own editor or on GitHub, and a push deploys. There is a live console, logs, environment variables, a crash doctor that explains a failed start, and a public https address for web apps. What ran on Replit runs here: Node.js, Python, Go, Java, PHP, Ruby, Rust, C#, static sites.
What it costs
The first bot or app is free, with 256 MB and no sleeping, once the email is verified. A second app or more memory starts at $2 a month, and a paid tier keeps the address awake at no extra cost. There are no cycles to buy and no daily renewals.
Frequently asked questions
Do I need a keep-alive server or UptimeRobot?
No. A bot runs as a long-lived process and restarts if it exits. Remove the keep-alive code; it only costs memory.
Can I keep editing in the browser?
GitHub's own editor (press the period key on a repository) works, and a push from it deploys. There is no editor in the panel.
What about a Repl that is a website?
A static site is served as files; an Express, Flask or FastAPI app gets an https address at name.fadehost.app. On the free tier that address sleeps when idle and wakes on the next request.
What happens on a deploy?
The repository is cloned at your branch, dependencies install, the build runs when there is one, the app starts. With auto-deploy on, every push does the same. The live console shows each step; a failed one is explained in plain words.