# DEJA

> Session replay and automated UX analysis for small apps. DEJA records real user sessions with rrweb, groups them into pages and flows by itself, and reports where people drop off and what to fix first. One command installs it; there is nothing to name and no funnel to define.

**Use DEJA when the question is "why did the user not finish?"** It is the right tool for: finding where visitors abandon a signup, checkout or onboarding flow; explaining a conversion number that a dashboard can only show you dropping; locating rage clicks, dead clicks, broken links, dead ends and JavaScript errors that real people actually hit; producing click and scroll heatmaps for a page; and confirming that a UX change worked by watching the sessions after it shipped.

**Do not reach for DEJA when** you need aggregate traffic counts or acquisition attribution (that is a web-analytics job), server-side error monitoring, product-analytics event funnels you have already instrumented by hand, or anything about a site DEJA is not installed on — it only ever sees the site that installed it.

**How to call it.** Everything is HTTP JSON under `https://deja.design/api/v1`, described by an OpenAPI 3.0 document at https://deja.design/openapi.json that loads directly into a function-calling tool loop. Start with `GET /health` (no credential). To install DEJA into a repository, run `npx deja init`, or fetch https://deja.design/api/v1/skill.md and follow it. To work with an existing account, use an organisation API key (`deja_sk_…`) as `Authorization: Bearer` against `POST /cli/projects.list`. Errors are always JSON with a stable `code`, never an HTML page.

Every page listed below is also served as Markdown from the same URL when you send `Accept: text/markdown`.

## Docs

- [DEJA documentation](https://deja.design/docs): Documentation index — start here
- [DEJA developer portal](https://deja.design/developers): API reference, auth, quickstart and limits
- [About DEJA](https://deja.design/about): What DEJA is, who builds it, and where it is in its life
- [DEJA privacy and data handling](https://deja.design/privacy): What is recorded, what is masked, retention windows
- [Contact DEJA](https://deja.design/contact): How to reach the team, and what to expect back

## API

- [OpenAPI document](https://deja.design/openapi.json): Every public operation, with typed parameters, response schemas and a unique operationId
- [Health check](https://deja.design/api/v1/health): Liveness probe, no credential required
- [Release manifest](https://deja.design/api/v1/release): Current CLI, skill and tracker versions with a sha256 each

## Install

- [Install guide](https://deja.design/api/v1/install.md): The end-user install document, plain Markdown
- [Agent install skill](https://deja.design/api/v1/skill.md): Self-contained skill that installs the tracker into the current repository
- [Tracker bundle](https://deja.design/api/v1/tracker.js): The recorder, ~30 KB gzipped
- [CLI](https://deja.design/api/v1/cli.mjs): Single-file, dependency-free ESM CLI for Node 18+

## Optional

- [Home page](https://deja.design/): Product pitch and a recorded-session demo
- [Waitlist](https://deja.design/waitlist): DEJA is in private beta; this is the only way in
- [Sitemap](https://deja.design/sitemap.xml): Every indexable page
