---
url: https://simpledatalogs.com/docs/guide/introduction.md
description: >-
  What simpledatalogs is, what it is for, and how data flows from your app to
  the dashboard.
---

# Introduction

simpledatalogs is the simplest dashboard for your app's **events** and **log lines**. It is built for small apps, games and websites, and for the indie developers and small teams who make them.

You send data over HTTPS with one key. The dashboard turns it into counters ("screenshots today", "active devices", "installs all time"), charts, per-device views and a searchable log table, without a schema or a query language.

## What you can do with it

* **Count what matters.** Track `signup`, `level_completed` or `screenshot_taken`, and see today and the last 7, 30 or 90 days. On Scale, dashboards also offer Year and Lifetime.
* **Read your logs.** Send log lines in almost any common format, then filter them by level, deployment and text.
* **See devices, not just totals.** Send an anonymous `device_id`, and you get active devices and one page per device.
* **Answer feature questions.** [Boards](/guide/boards) show reach, rates, conversions and retention from the events you already send.
* **Know your website.** The [Sessions tab](/guide/web-analytics) shows visitors, visits, sources, journeys and funnels, without cookies.
* **Watch your app run.** Requests, jobs, slow queries, traces and grouped exceptions land on the [App and Issues](/guide/observability) tabs.
* **Switch without rewriting code.** If you already use OpenTelemetry, Segment, Sentry, Datadog logs, Loki or Splunk HEC, change an endpoint and a key.
* **Ask your AI assistant.** Connect Claude, ChatGPT, Grok or Cursor to the read-only [MCP server](/mcp/) and ask "how many signups this week?".

## What it isn't

simpledatalogs deliberately stays small. It has no session replay, no profiling, no cohorts builder and no query language. Errors from Sentry SDKs arrive as countable log lines and group into issues, but there is no performance view for them.

AI is never used to parse your data or to produce a number. Every count comes from a deterministic query.

## How data flows

```
your app ──HTTPS──▶ edge.simpledatalogs.com ──queue──▶ parser ──▶ event store ──▶ simpledatalogs.com
            key                202 = stored                                       dashboards, MCP
```

1. Your app, server or log shipper sends a request to `https://edge.simpledatalogs.com` with an **ingest key**.
2. Ingest checks the key and stores the body unchanged. It answers `202` only once the body is safely stored.
3. Behind the queue, the parser reads each event or log line, masks personal data in text lines, and writes rows.
4. The dashboard at `https://simpledatalogs.com` reads those rows.

Ingest never parses your payload, so a body it can't read is never lost: it lands in the **Unparsed** bin, where you can fix the format and read it again.

::: tip The one promise
Nothing we acknowledge with a `202` is ever lost, and our SDKs never delete anything we haven't acknowledged. If you write your own sender, keep that promise too: see [Writing a sender](/api/sender-rules).
:::

## Next steps

* [Quick start](/guide/quick-start): send your first event with curl.
* [Core concepts](/guide/concepts): organizations, projects, environments, deployments and keys.
* [Pick an SDK](/sdks/javascript), or [connect a tool you already use](/integrations/).
