Engineering · August 18, 2026
Why we batch events before they reach PostgreSQL
The ingestion path should be fast for a visitor and boring for an operator. Batching helps with both.

The short version
A tracking request should finish quickly. It should not wait for a dashboard database to perform a complete write for every individual event.
Deeplitic places a durable queue between collection and PostgreSQL. Workers can acknowledge events, build appropriately sized batches, and retry a failed insert without making the browser do the work.
That separation also gives the system a clean place to apply privacy filters and deduplicate at-least-once deliveries before an event becomes part of a report.
That’s the note.Read another