App insights
What happened across your app's recent rooms, rolled up for you and for your coding agent. Only you, the app's owner, can read it.
What it counts
Every time someone opens /a/<id>, Inverse remembers that room. Insights reads the last 50 and adds up the same intent package each room already gives your agent.
| Field | What it is |
|---|---|
rooms | Rooms read. unread counts the ones Inverse couldn't read in time. |
participants | People across those rooms. Someone who came back in a different room counts again. |
signals | Counts by kind: friction, request, question, praise, feedback, command. |
topFriction | Up to 10 friction lines, grouped when the wording (ignoring case and punctuation) and the page match. |
streams | Entries per stream your app pushed with the interface kit. |
recent | The latest 20 signals, each with who (as an alias), when and on which page. |
text | All of it as a prompt, inside a block marked as untrusted participant data. |
Aliases, not names
People show up as Room 3 · Speaker A: the room's number in the list (newest first), then their alias inside that room. Names and emails never leave Inverse through insights. Words people typed or said pass through as they were, so a name someone spoke out loud can still appear in a line.
Read it
In /dev, open an app: the Insights section has the totals, the top friction and a Copy for your agent button. From the terminal, signed in:
npx inverse-embed insights # this folder's app
npx inverse-embed insights imported-… --jsonOver MCP, npx inverse-embed mcp <room link> also serves get_app_insights, which reads with your saved login. Or call the API with your CLI token:
curl -H "authorization: Bearer $INVERSE_TOKEN" https://www.inverse.at/api/hosted/<id>/insights