<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/i-built-cyclopes-sentry-compatible-error-tracking-with-built-in-sms-whatsapp-paging-ri4ewfwec" -->

---
title: I built Cyclopes: Sentry-compatible error tracking with...
description: Cyclopes is a newly launched error tracking and on-call tool built as a Sentry-compatible alternative, requiring only a one-line DSN change for existing...
canonical: https://daily.dev/posts/i-built-cyclopes-sentry-compatible-error-tracking-with-built-in-sms-whatsapp-paging-ri4ewfwec
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: I built Cyclopes: Sentry-compatible error tracking with built-in SMS/WhatsApp paging | daily.dev
og:description: Cyclopes is a newly launched error tracking and on-call tool built as a Sentry-compatible alternative, requiring only a one-line DSN change for existing...
og:url: https://daily.dev/posts/i-built-cyclopes-sentry-compatible-error-tracking-with-built-in-sms-whatsapp-paging-ri4ewfwec
og:image: https://api.daily.dev/og/posts/RI4ewfWec.png
og:image:alt: I built Cyclopes: Sentry-compatible error tracking with built-in SMS/WhatsApp paging
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# I built Cyclopes: Sentry-compatible error tracking with built-in SMS/WhatsApp paging

**[🕴️SuperCode](https://daily.dev/sources/6okgkvp0pw4wx7wwbb7re)** · [@supercode](https://daily.dev/supercode) · 2 min read · 0 upvotes · 0 comments

## Summary

Cyclopes is a newly launched error tracking and on-call tool built as a Sentry-compatible alternative, requiring only a one-line DSN change for existing sentry-sdk users. It bundles errors, logs, uptime/cron monitoring, and TLS expiry checks into one dashboard with a mobile app, plus session replay 'journeys' built from analytics-style events. Its standout feature is an escalation ladder that pages via push, then SMS/WhatsApp, then the whole team via signed webhook until someone acknowledges, with deduplication so a crash loop pages once instead of endlessly. SMS paging currently only works for +263 (Zimbabwe) numbers, though WhatsApp works globally.

## Content

Here's the night Cyclopes is built for:

- 03:12:47 — `NullPointerException` at `checkout.charge():88`
- 03:12:47 — you're asleep
- 03:12–08:30 — everyone mid-checkout hits it, closes the tab, and never says a word
- 08:30 — you find out from the revenue graph

Nobody files a ticket. They just leave. Cyclopes is an error tracking and on-call tool I built in Zimbabwe so that gap doesn't exist: it pages a real phone at 03:12 and keeps climbing until someone answers.

What it does:

- **Sentry-compatible ingest.** Accepts `/store/` and `/envelope/`, so an unmodified `sentry-sdk` reports to it. Migration is a one-line DSN change. Transactions and attachments are accepted but dropped.
- **Errors, logs, uptime and cron monitors, TLS expiry** in one dashboard, plus a live feed in the iOS/Android app.
- **Journeys:** a funnel map and per-session replay built from `identify` / `screen` / `track` calls, so you see who abandoned checkout and at which step.
- **On-call rotations and an escalation ladder:** push → SMS/WhatsApp → everyone + signed webhook, until someone acks. Ack is a button in WhatsApp or a reply code over plain SMS. Rotations are computed from the clock, so a missed handover can't page last week's person.
- **One incident per issue,** with ceilings per incident and per project. A crash loop pages you once, not a thousand times.
- **Zero-dependency SDKs** for Python, JavaScript and Dart.
- **Read-only.** It never runs your code or sits in your request path.

```
import sentry_sdk
sentry_sdk.init(dsn="<your Cyclopes DSN>")  # the whole migration
```

[https://cyclopes.localhost.co.zw](https://cyclopes.localhost.co.zw)

It's early. Tell me what's missing. 

**NOTE: SMS only works with +263 numbers but Whatsapp is global**

## Similar posts on daily.dev

- [Best Sentry Alternatives for Error Tracking \(2026\)](https://daily.dev/posts/best-sentry-alternatives-for-error-tracking-2026--mwsxbahk0) · Coralogix · 0 upvotes · 0 comments
- [Console.text\(\): SMS alerts for your code just like console.log\(\)](https://daily.dev/posts/console-text-sms-alerts-for-your-code-just-like-console-log--zgvov4fro) · Product Hunt · 73 upvotes · 12 comments
- [Laravel SMS Catcher: A Local Dashboard for SMS Notifications](https://daily.dev/posts/laravel-sms-catcher-a-local-dashboard-for-sms-notifications-ht7mjitnf) · Laravel News · 0 upvotes · 0 comments

---

Tags: [#observability](https://daily.dev/tags/observability)

[View this post on daily.dev](https://daily.dev/posts/i-built-cyclopes-sentry-compatible-error-tracking-with-built-in-sms-whatsapp-paging-ri4ewfwec)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/i-built-cyclopes-sentry-compatible-error-tracking-with-built-in-sms-whatsapp-paging-ri4ewfwec","headline":"I built Cyclopes: Sentry-compatible error tracking with built-in SMS/WhatsApp paging","text":"Cyclopes is a newly launched error tracking and on-call tool built as a Sentry-compatible alternative, requiring only a one-line DSN change for existing sentry-sdk users. It bundles errors, logs, uptime/cron monitoring, and TLS expiry checks into one dashboard with a mobile app, plus session replay 'journeys' built from analytics-style events. Its standout feature is an escalation ladder that pages via push, then SMS/WhatsApp, then the whole team via signed webhook until someone acknowledges, with deduplication so a crash loop pages once instead of endlessly. SMS paging currently only works for +263 (Zimbabwe) numbers, though WhatsApp works globally.","url":"https://daily.dev/posts/i-built-cyclopes-sentry-compatible-error-tracking-with-built-in-sms-whatsapp-paging-ri4ewfwec","datePublished":"2026-08-24T17:18:05.824Z","dateModified":"2026-08-24T17:18:20.946Z","author":{"@type":"Person","name":"🕴️SuperCode","url":"https://daily.dev/supercode","image":"https://avatars.githubusercontent.com/u/106082665?v=4","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":150}},"interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"isPartOf":{"@type":"WebPage","url":"https://daily.dev/sources/6okgkvp0pw4wx7wwbb7re","name":"🕴️SuperCode"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"🕴️SuperCode","item":"https://daily.dev/sources/6okgkvp0pw4wx7wwbb7re"},{"@type":"ListItem","position":3,"name":"I built Cyclopes: Sentry-compatible error tracking with built-in SMS/WhatsApp paging"}]}
```

