Keep your free-tier hosted sites (Render, Railway, Glitch...) from sleeping.
Users sign up, add their site URLs with a custom ping interval, and StayAwake pings them forever β even when the browser is closed.
- Frontend β HTML, CSS, Vanilla JS
- Backend β Node.js + Express
- Database β NeonDB (PostgreSQL)
- Scheduler β node-cron
- β Email & password authentication (JWT)
- β Add multiple sites per account
- β Custom ping interval per site (in minutes)
- β Pause / resume / delete sites
- β Last pinged timestamp shown on dashboard
- β Pings run on server β browser can be closed
StayAwake/
βββ backend/
β βββ config/db.js
β βββ controllers/authController.js
β βββ controllers/siteController.js
β βββ middleware/auth.js
β βββ routes/authRoutes.js
β βββ routes/siteRoutes.js
β βββ scheduler/pinger.js
β βββ index.js
βββ frontend/
β βββ css/style.css
β βββ js/auth.js
β βββ js/dashboard.js
β βββ index.html
β βββ login.html
β βββ register.html
β βββ dashboard.html
βββ README.md
- Clone the repo
cd backend && npm install- Create
.envfrom.env.example - Run
node index.js