Minimalistic API Monitoring SaaS built in Rust
Simple. Fast. Yours.
StatusPulse is a lightweight uptime monitoring service for developers, freelancers, and indie makers.
It keeps an eye on your APIs, notifies you when something breaks, and stays out of your way.
No bloated dashboards. No overkill enterprise nonsense. Just clean, efficient monitoring — Rust style.
Live Application: Status Pulse
- ✅ API Uptime Monitoring — periodic health checks with configurable intervals
- ✅ Email Alerts via SendGrid — instant notifications when a monitor goes down
- ✅ Status Logs & History — response times & uptime percentage tracking
- ✅ JWT Authentication — secure access for users
- ✅ Tera-based Frontend Dashboard — simple & fast UI (SSR)
- ✅ MySQL with SQLx — reliable data persistence
- ✅ Background Workers — efficient ping cycles using Tokio
- Rust (Axum, Tokio, SQLx)
- Tera Templates (SSR frontend)
- SendGrid API (email notifications)
- MySQL (SQLx & Migrations)
- Fully async & production-ready.
/src
├── db/ # SQLx repositories & queries
├── handlers/ # API endpoints & logic
├── services/ # SendGrid, workers, email templates
├── models/ # Data models (User, Monitor, StatusLog, etc.)
├── templates/ # Tera HTML templates
├── routes.rs # API routes setup
├── worker.rs # Background ping & alert service
└── main.rs # App entry & router
git clone https://github.com/yourusername/statuspulse.git
cd statuspulseCreate a .env file:
DATABASE_URL=mysql://username:password@localhost/statuspulse
SENDGRID_API_KEY=your-sendgrid-api-key
SENDGRID_FROM_EMAIL=alerts@statuspulse.appsqlx migrate runcargo runOpen: http://localhost:3000
GET /monitors→ List all monitorsGET /monitors/active→ List active monitorsGET /monitors/inactive→ List inactive monitorsPOST /monitors→ Add a new monitorPUT /monitors/:id→ Update an existing monitorDELETE /monitors/:id→ Delete a monitor
GET /monitors/:id/status→ Get monitor status summary (uptime %, last log, avg response time)GET /monitors/:id/logs→ Get monitor's log history
POST /auth/register→ Register a new userPOST /auth/login→ User login (returns JWT token)GET /auth/me→ Get current authenticated user info
GET /health→ Application health check
- Webhooks (Slack, Discord, etc.)
- Public Status Pages
- API Token Management
- Usage Analytics & Reports
Private for now.
Open-source coming soon.
Because you want your monitoring tool to be faster than your failing API.
StatusPulse is built to be efficient, reliable, and developer-friendly.
Made with 🦀 by Emir Totić