nowo-tech/beacon-bundle
Nowo Tech Beacon Bundle gives your Laravel/PHP app a simple, configurable beacon endpoint for collecting lightweight telemetry, page views, and custom events without bulky third-party scripts. Quick to install, framework-friendly, and privacy-conscious by design.
Observability backend strategy (build vs. buy vs. self-host). This bundle is the last mile of a "self-hosted error tracking" decision: the Beacon server is the product, and this client is the integration that makes it usable from Symfony. Adopting it is a signal that you have chosen data sovereignty over vendor maturity — errors, stack traces, and project metadata stay inside your own infrastructure instead of a third-party SaaS. That is a road-map-level commitment (ops headcount, storage/retention, on-call), not a library choice.
Vendor concentration and lock-in. DSN-based configuration (host, optional port, public key, secret, project id) means environment-per-service wiring is config-only, so migrating between Beacon instances (dev/staging/prod, or a re-hosted server) is a deploy-time change rather than a code change. That lowers the cost of exiting a SaaS error tracker and the cost of exiting Beacon itself — worth stating explicitly when the alternative is an SDK with deep framework coupling.
Feature-parity decisions for internal platform teams. If you run a shared Symfony platform (many services, one telemetry standard), this bundle defines the "supported client" contract: PHP >=8.2 (<8.6), Symfony ^7.0 || ^8.0. That constrains your framework upgrade calendar — a service on Symfony 6.x cannot standardise on this client without an upgrade. It also becomes the answer to "which error-reporting library do new services get in the skeleton?" — a one-line composer + DSN vs. a bespoke wrapper.
Use cases that justify it:
Scope decision to make deliberately: adopt as error/exception reporting only. This package speaks the Beacon Envelope protocol; it does not advertise distributed tracing, profiling, session replay, or product analytics. If the roadmap needs those, this is one lane of the observability stack, not the whole stack — plan an OpenTelemetry-shaped complement rather than expecting this bundle to grow into it.
Portfolio caveat for a Laravel-heavy estate: despite the framing, this is a Symfony bundle, not a Laravel package. If the majority of services are Laravel, adopting it means either maintaining a parallel Laravel client against the same Envelope protocol or standardising on Symfony for telemetry-enabled services. That is a real architectural cost and belongs in the decision record.
Adopt when all of these hold:
Treat it as a pilot, not a standard, until these signals improve:
Look elsewhere when:
One-liner for executives: A small, MIT-licensed Symfony client that lets our applications report errors to an error-tracking server we operate, so diagnostic data — including stack traces that can contain customer data — never leaves our infrastructure. Integration cost is a composer dependency plus one DSN per environment; the ongoing cost is operating the collector, not licensing the client.
For engineering leadership:
Recommendation to put in front of the decision-maker: Approve a time-boxed pilot on one low-risk Symfony service, scoped to exception reporting only, with explicit exit criteria — (a) events arrive reliably and are actionable, (b) the server's operational load is acceptable for one team, (c) the client survives one framework patch upgrade without a fork. Do not standardise it across the estate, and do not position it as an APM replacement, until those gates pass and someone is named as owner of both the client and the Beacon server. If the organisation cannot name that owner, this is a buy decision, not a build one.
How can I help you explore Laravel packages today?