Maple
maple.dev- Category
- Developer Tools
- Rank
- No. 609Tools index
- Pricing
- Open Source
- Platform
- web
- Type
- APP
- Builder
- @Makisuo
- GitHub
- 1.8k stars
- Latest release
- v0.0.22
- Date
About
An open-source observability platform built on OpenTelemetry that collects, visualizes, and analyzes distributed traces, logs, and metrics from your services. Features AI-powered diagnostics and can query billions of rows in milliseconds to help monitor service health and performance.
What it does
Maple accepts telemetry through an authenticated OTLP gateway, adds organization context, and forwards it to the collection layer. A browser SDK can connect tracing, product events, identity, consent, and session replay under one session identifier. Users investigate through a web dashboard and backend API, with alert evaluation, chat-based triage, mobile, CLI, and MCP surfaces included in the monorepo.
Why it's ranked here
Maple is compelling because it covers collection, investigation, browser replay, alerting, and local operation as one system. The single-binary path lowers the trial cost substantially. Its production architecture is far more demanding, however, combining several hosted services, deployment bindings, secrets, authentication choices, and database workflows. Pick it for breadth and ownership, not operational simplicity.
What's good
The local binary bundles OTLP ingest, ClickHouse, and the dashboard, giving teams a direct evaluation path. Ingest keys are organization-scoped, independently rerollable, encrypted at rest, and matched through non-reversible hashes. The browser SDK shares one session identifier across tracing and replay, while queuing early product events and supporting explicit consent.
Tradeoffs
Development requires Bun and a sizable multi-application workspace. The documented cloud setup depends on Cloudflare Workers, Hyperdrive, PlanetScale Postgres, Tinybird, Infisical, and optionally Clerk. Pull-request previews deliberately omit the database, so database-backed routes fail there. Self-hosted authentication uses one required root password and no longer provides the removed multi-tenant token and API-key paths.
How to use it well
Use Maple when a team wants to own an OpenTelemetry pipeline and correlate backend behavior with browser sessions and product events. Start with the local binary, validate ingest and investigation, then adopt the multi-service deployment only when needed. For bring-your-own ClickHouse, treat the schema CLI as one setup step: it does not record organization readiness in Maple’s application database.
Technical notes+
README.md describes a Bun and Turbo monorepo with apps/web, apps/api, apps/ingest, apps/alerting, apps/cli, and apps/mobile. package.json marks the root package private, declares workspaces across apps, packages, lib, and examples, and exposes build, typecheck, test, Docker, database, ClickHouse, and Alchemy tasks. packages/browser/src/index.ts exposes MapleBrowser with init, identify, track, and setConsent, connecting OpenTelemetry tracing and rrweb replay. packages/auth/src/index.ts implements Clerk and self-hosted tenant resolution, HS256 session signing and verification, constant-time password comparison, and guarded schema decoding. packages/clickhouse-cli/src/cli.ts provides apply, status, dry-run, and version commands, with URL, user, password, and database configuration through flags or environment variables. lib/otel-helpers/src/index.ts closes spans on success and records exceptions plus error status on failure.
Observed
- Primary language
- TypeScript
- Packaging
- Private Bun workspace monorepo managed with Turbo
- Local install surface
- Homebrew single binary with bundled OTLP ingest, embedded ClickHouse, and dashboard; Docker Compose is also documented
- Interfaces
- Web dashboard, Effect HTTP API, OTLP ingest gateway, CLI utilities, MCP server code, browser SDK, and Expo mobile app
- Deployment targets
- Local binary, Docker Compose, and Cloudflare Workers through Alchemy
- Authentication modes
- Exactly two documented modes: Clerk organizations and self-hosted root-password sessions
- Persistence
- PostgreSQL application state, with PlanetScale through Hyperdrive for production and staging, Docker Postgres for Wrangler development, and embedded PGlite for other local entrypoints
Read from README.md, package.json, lib/llm/src/index.ts, lib/cache/src/index.ts, packages/db/src/index.ts, packages/auth/src/index.ts, packages/infra/src/index.ts, packages/domain/src/index.ts, lib/otel-helpers/src/index.ts, packages/browser/src/index.ts, lib/effect-router/src/index.ts, lib/thinking-orbs/src/index.ts, lib/effect-cloudflare/src/index.ts, packages/clickhouse-cli/src/cli.ts, packages/query-engine/src/index.ts.
What it can do
Collect distributed traces from services
OpenTelemetry trace data from distributed services → Structured trace data stored in the platform
Visualize distributed traces
Collected trace data → Interactive trace visualizations and service maps
Collect and store logs
Log data from services and applications → Centralized log repository
Collect and store metrics
Performance metrics from services → Time-series metrics data
Query large datasets
Query parameters and filters → Query results from billions of rows in milliseconds
Analyze service health
Traces, logs, and metrics data → Service health status and performance insights
Provide AI-powered diagnostics
Service performance data and issues → AI-generated diagnostic insights and recommendations
Monitor service performance
Real-time service data → Performance dashboards and alerts
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.