PersonalPublic2026

Pulze

Pulze (branded PULSE) is a self-hosted uptime and keep-alive workspace for people who don't want their infrastructure status sitting on someone else's cloud dashboard. It runs entirely on your own hardware via Docker Compose, monitors APIs, web apps, databases, payment endpoints, and cron jobs, and reports uptime percentage, average response time, and recent failed checks per workspace and project, with a browser-memory-only demo mode for trying it out risk-free.

Pulze

About This Project

Hosted uptime monitors mean handing a third party visibility into your infrastructure, plus a recurring bill, just to know when your own services go down.

Built a self-hosted monitoring workspace that ships as a Docker Compose stack — Angular frontend, Spring Boot backend, PostgreSQL, Nginx — so all checks, data, and history stay on infrastructure the user already controls.

A two-command self-hosted deployment (`node scripts/setup.mjs` + `docker compose up`) that gives full uptime, latency, and incident visibility across multiple projects without any external account or paid API.

Role

Full-stack Developer

Year

2026

Status

Public

Type

Personal

Technology Stack

AngularSpring BootJavaPostgreSQLDockerNginx

Project Story

The Challenge

Hosted uptime monitors mean handing a third party visibility into your infrastructure, plus a recurring bill, just to know when your own services go down.

The Approach

Built a self-hosted monitoring workspace that ships as a Docker Compose stack — Angular frontend, Spring Boot backend, PostgreSQL, Nginx — so all checks, data, and history stay on infrastructure the user already controls.

The Outcome

A two-command self-hosted deployment (`node scripts/setup.mjs` + `docker compose up`) that gives full uptime, latency, and incident visibility across multiple projects without any external account or paid API.

Insights & Takeaways

Highlights

  • Fully self-hosted: no hosted account, paid API, or external font service required to run it.
  • Per-workspace dashboards track uptime percentage, average response time, and recent failed checks across grouped monitors.
  • Demo mode runs entirely on browser-memory fixtures — never persisted or checked over the network — so it can be tried without touching the real workspace.

Challenges

  • Designing a setup script that's genuinely idempotent — it never overwrites an existing `.env`, so re-running it is always safe.
  • Keeping the monitoring engine accurate and low-overhead across a mix of check types (APIs, databases, payment endpoints, cron jobs) from one scheduler.

Lessons Learned

  • A setup script that refuses to clobber existing configuration removes almost all of the fear around re-running install steps, which matters far more for adoption than any dashboard feature.

Related Work