OpenStatus is an open-source synthetic monitoring platform designed to help teams monitor website and API uptime globally while automatically generating beautiful status pages. It was created as a self-hostable alternative to proprietary SaaS monitoring tools like Betterstack, offering full control over data and infrastructure. Built with Next.js, shadcn/ui, and Turso for lightweight database operations, OpenStatus enables developers and DevOps teams to implement monitoring-as-code practices without vendor lock-in. The platform supports both synthetic checks and real-time status page publishing, making it ideal for teams that need transparency with customers or internal stakeholders about service health.
What You Get
- Synthetic Monitoring - Perform global HTTP/HTTPS and API checks from multiple locations to detect downtime or latency issues with customizable intervals and thresholds.
- Self-Hosted Status Pages - Automatically generate and host beautiful, customizable status pages that display real-time service health with no external dependencies.
- Monitoring as Code - Define monitoring checks via configuration files (YAML/JSON) that can be version-controlled in Git, enabling CI/CD integration and infrastructure-as-code workflows.
- Built-in Alerting - Receive notifications via email (using Resend) when endpoints go down or exceed response time thresholds, with configurable alert rules.
- Integrated Observability Stack - Uses Turso for lightweight SQL storage, Tinybird for analytics, and Drizzle ORM to provide a scalable, low-overhead monitoring backend without requiring heavy databases.
Common Use Cases
- Building a public status page for SaaS products - Companies use OpenStatus to host a real-time uptime dashboard (e.g., status.openstatus.dev) for customers, reducing support tickets during outages.
- Monitoring API endpoints in microservices architectures - DevOps teams define monitoring checks for internal APIs using YAML files, triggering alerts when latency spikes or endpoints return 5xx errors.
- Replacing Betterstack with a self-hosted alternative - Teams frustrated by SaaS pricing or data privacy concerns migrate to OpenStatus to retain full control over monitoring data and alerting logic.
- DevOps teams managing multi-region services - Organizations deploy OpenStatus in multiple regions to simulate user-facing traffic and detect regional outages before customers are affected.
Under The Hood
OpenStatus is a modern, multi-service monitoring platform designed to provide comprehensive uptime tracking and status page management. It leverages a modular monorepo structure to support diverse functionalities such as dashboarding, API services, and probe-based monitoring. The system integrates backend services built with Go and a frontend powered by Next.js, enabling scalable and extensible monitoring capabilities.
Architecture
OpenStatus adopts a layered and modular architecture that emphasizes clear separation of concerns across its various services.
- The system is structured around distinct applications and shared packages, enabling reuse and maintainability
- It implements a layered approach with well-defined data access, business logic, and presentation layers
- Key design patterns include tRPC for API routing and custom error handling with structured responses
- Component communication is managed through React Query and tRPC, ensuring consistency between frontend and backend
Tech Stack
OpenStatus utilizes a diverse tech stack that balances modern frontend frameworks with robust backend services.
- The codebase is primarily TypeScript for the frontend and Go for backend services, with Next.js powering the dashboard
- It integrates a wide range of tools including TanStack Query, tRPC, Sentry, and Drizzle ORM for enhanced functionality
- Development workflows are supported by Bun, pnpm, Turbo, and Docker, facilitating efficient builds and deployments
- Testing is comprehensive with Bun’s test runner, extensive unit tests, and integration checks across services
Code Quality
Code quality in OpenStatus shows a balanced mix of strengths and areas for improvement, particularly in testing and error handling.
- A robust test suite is in place with extensive use of mocking and integration checks across services
- Error handling is consistently applied, especially in server-side code with structured try/catch patterns and custom error classes
- Code style varies across components, particularly in the frontend where naming conventions are not fully standardized
- Technical debt is present in duplicated logic and over-reliance on mocking for test validation
What Makes It Unique
OpenStatus distinguishes itself through its modular architecture and multi-language backend approach.
- The platform supports a wide range of probe types and assertion mechanisms, offering flexibility in monitoring configurations
- Its monorepo structure enables seamless integration of frontend and backend components with shared UI libraries
- The system is built to be extensible, allowing for easy addition of new monitoring capabilities and integrations
- It combines modern frontend practices with a scalable backend, making it suitable for distributed system monitoring