LANDSCAPE
Rolling grassland hills at dusk

Analytics you own.

Install it in your app. Events go to your API and your database. No hosted platform. No extra login.

READ THE DOCS

Install it like any other library. Not a product you log into.

No PII. No fingerprinting. No cross-site tracking.

You keep the data and the dashboard.

Six stages. One boundary.

Every call stays inside your app until you send the batch. You pick the endpoint.

FIG. 1 emit to transport

YOUR APPLICATION
EMITtrack / identify / page
VALIDATEschema, runtime
ENRICHplugins, enrichers
BUFFERmemory queue
BATCHsize, interval, unload
TRANSPORTfetch + sendBeacon
YOUR OWN ENDPOINT

Not a destination.

The tools below run ingestion, storage, and a dashboard for you. Landscape is just the library. You own the rest.

ToolModel
Google AnalyticsHosted dashboard. Their data.
SegmentHosted CDP. Routes events to other tools.
MixpanelHosted analytics with its own UI.
PostHogSelf-hostable stack. Ingestion, storage, and a dashboard.
Plausible / UmamiLight and private. Still a hosted product.
LandscapeYour database. Your API. Your dashboard.

FIG. 2 where Landscape sits