One call to log. One query to learn.

Give your product
a memory.

UNILOGR turns one-line events into a durable, SQL-queryable history of everything your product does - without slowing down your application or trapping your questions inside somebody else's dashboard.

UNILOGR / events

Live
01

Emit

One line. No waiting.

checkout.py Python
1 import unilogr
2
3 unilogr.log(
4     "checkout_completed",
5     user_id="u_8814",
6     info={"total": 49.99},
7 )
Queued locally evt_01J8Y4M7T2KQ
02

Query

Ask anything in SQL.

SELECT
  event_name,
  count(*) AS events
FROM events
WHERE event_time > now() - interval '7 days'
GROUP BY 1
ORDER BY 2 DESC;
Example query results
event_name events
page_viewed 12,847
signup_started 3,291
checkout_completed 892

01 The entire product: emit with a write key, query with a read key. Everything between them is our problem.

The philosophy

Logging should disappear.
The truth should remain.

Event logging is the cornerstone of product iteration. It should be the least dramatic part of your stack.

UNILOGR stays invisible while your application is running, then becomes indispensable when you need an answer. No schemas to register. No pipeline to babysit. No vendor deciding which questions fit inside a dashboard. We give you the power to implement real-time analytics on your terms.

Never waits on the network
Never throws on infrastructure failure
Never limits you to predefined questions

The contract

Three promises.
None negotiable.

01

Fire and forget

Call log() and move on. Your event is queued locally and the call returns in microseconds. Logging never blocks your application and never waits on the network.

02

Durable by default

Events are buffered, retried, and deduplicated automatically. If our infrastructure has trouble, your application keeps running - we handle recovery behind the scenes.

03

SQL in < 1 minute

Less than a minute after you log, your events are queryable as Postgres rows. Run real SQL - counts, funnels, joins, time series - without a proprietary query language or dashboard limits.

Build from what happened

Start with one event.
Ask anything in SQL.

Request early access