Ship with confidence.
Debug with context.

PulseOps Lite is an open-source operations platform for logs, incidents, and deployments. Multi-tenant by design. Built like a real production systemβ€”because it is one.

Open App β†’View PRD Showcase ↓
πŸ“‚Open SourceπŸ‘₯Multi-TenantπŸ”RBAC Enforced⚑Rate Limitedβ–²Vercel Deployed🐘Neon Postgres
$ curl -X POST /api/v1/logs/ingest \
  -H "x-api-key: pol_****" \
  -d '{"logs":[{"level":"error",...}]}'

{"data":{"accepted":1}}

βœ“ Log ingested
βœ“ Alert rule evaluated
βœ“ Incident created
βœ“ Slack notified
Built like a real system:βœ“13 SQL Migrationsβ€’βœ“37 API Routesβ€’βœ“16 DB Tablesβ€’βœ“25+ Testsβ€’βœ“4 Cron Jobs

What's inside

8 core features. Each one backed by real code you can explore.

πŸ‘₯

Organizations & Teams

Create orgs, invite members, switch contexts. Every row scoped by org_id.

See migration β†’ 0001_identity.sql
πŸ”

RBAC Built In

Admin, Developer, Viewer. Checked server-side on every request.

Inspect β†’ lib/auth/rbac.ts
πŸ“₯

Log Ingestion

POST logs with x-api-key. Rate limited to 1,200/min. Keys stored hashed.

Try the cURL below
πŸ”

Search & Filter Logs

Filter by service, environment, level. Full-text search. Paginated.

View β†’ API_SPEC.md#logs
πŸš€

Deployment Tracking

GitHub webhook integration. HMAC verified. Idempotent delivery.

Check β†’ github.webhook.test.ts
⚠️

Automated Alerts

Set error thresholds. Cron evaluates every 5 min. Incidents auto-created.

See β†’ app/api/v1/rules/evaluate
πŸ””

Incident Management

Open β†’ Investigating β†’ Resolved. Full event timeline with actors.

Browse β†’ DB_SCHEMA.md#incidents
πŸ’¬

Slack & Discord

Configure webhook channels. Jobs queued with retries and backoff.

Read β†’ notifications/process

Try It Yourself

Follow the checklist. No fake dataβ€”this hits the real API.

E2E Checklist

  • 1Sign up at /signup
  • 2Create a service at /services
  • 3Copy the API key (shown once!)
  • 4POST logs using the cURL below
  • 5View logs at /logs
  • 6Create an incident at /incidents
  • 7Resolve the incident
  • 8Check the event timeline

Example cURL

curl -X POST https://pulseops-lite.vercel.app/api/v1/logs/ingest \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "logs": [
      {
        "timestamp": "2026-01-11T22:00:00Z",
        "level": "error",
        "message": "Database connection failed",
        "meta": { "host": "db-prod-01" }
      }
    ]
  }'

Replace YOUR_API_KEY with the key from step 3.

Under the Hood

The PRD showroom. Real architecture, real decisions, real code.

PulseOps Lite is a lightweight operations platform. A real codebase you can explore, fork, and learn from.

  • β†’Multi-tenant architecture with org-scoped data isolation
  • β†’Session-based auth with hashed tokens + RBAC
  • β†’GitHub Actions cron jobs calling internal API endpoints
View on GitHub β†—

Tech Stack

Modern tools. No magic. Just good engineering.

Next.js 15App Router
React 19Server Components
TypeScriptStrict mode
VercelDeployment
Neon PostgresDatabase
GitHub ActionsCI + Cron

Engineering Highlights

β€’App Router only β€” no pages/ directory
β€’Raw SQL β€” no ORM, full control
β€’13 migrations, all idempotent
β€’Session tokens SHA-256 hashed
β€’API keys salted + hashed
β€’Rate limiting via atomic upsert
β€’Webhook idempotency built-in
β€’Cron via GitHub Actions YAML
β€’Correlation IDs on every request
β€’No mock data β€” all real DB operations