Project sheet
SignalEngine
A multi-tenant metric monitoring and alerting engine, built in .NET and Angular.
- Category
- SaaS
- Year
- 2026
- Status
- active
- .NET 10
- C#
- ASP.NET Core
- Clean Architecture
- Angular
- IdentityServer / OIDC
- EF Core
- SQL Server
SignalEngine ingests metric data, checks it against rules, and raises a Signal the moment a rule fires. A separate worker service sends the notifications, so alerting never blocks ingestion and a slow email or webhook can’t back up the pipeline.
The solution is split into six projects along clean-architecture lines: Domain, Application, Infrastructure, the system API, the web app, and the worker. It runs its own IdentityServer for authentication, and multi-tenancy is enforced at the query level, so one tenant can never read another’s data even if a query forgets to filter.
Highlights
- Signals are append-only, so the record of what fired and when can’t be quietly rewritten
- Workers are idempotent and retry-safe, so a redelivery never sends a duplicate alert
- Tenant-scoped query filters applied globally rather than per endpoint
- Rule evaluation is deterministic and kept separate from notification dispatch