I launched Events Logger
By Flavio Copes
I launched Events Logger, a self-hosted event tracking dashboard with a REST API, CLI, charts, and KPI insight cards on SQLite.
Today I launched Events Logger on Prototyped.
It is a self-hosted dashboard that shows what is happening across your apps.
Signups, orders, payments, deploys, errors. You push events from any app, and they appear in one feed.
I built it because I wanted to know what was going on in my projects without sending data to a third-party analytics service.
Every tool I tried was either too complex, too expensive, or required shipping my data to someone else’s servers.
Events Logger runs on your machine. Events go into a local SQLite database and stay there.
It is built with the AHA Stack — Astro, HTMX, and Alpine.js — with Drizzle and SQLite for storage.
The HTTP API
Events Logger has a JSON HTTP API you can call from any app.
The base URL is http://localhost:4321 when you run it locally, or the URL where you deploy it.
The app generates one global API key when it starts for the first time. Requests that create projects, push events, or update insights send it as a Bearer token. Read-only endpoints don’t need a key.
The API lets you:
- create and list projects
- push events
- query events by project or category
- search events and paginate through the results
- create or update KPI insight cards
- read event counts grouped by category and day
Push an event
You push an event with a single HTTP call:
curl -X POST http://localhost:4321/api/events \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ev_your-key-here" \
-d '{
"project": "q4q8nb18qc2i",
"category": "orders",
"title": "Order Placed",
"description": "Order **#1234** placed by **Maria**"
}'
The API returns the stored event as JSON with a 201 status code. New categories are created automatically.
The description supports bold text and links. You can also attach an emoji icon, a URL, a user ID, searchable key-value tags, and a notify flag for browser notifications.
You can read the events back over HTTP too:
curl "http://localhost:4321/api/events?project=q4q8nb18qc2i&category=orders&limit=20"
The response includes the events and a cursor for the next page. You can also search titles, descriptions, and tags.
The built-in playground lets you prepare and test a request. It shows the exact HTTP call and gives you a code snippet to copy.

Or use the included CLI:
node cli/index.js push \
--api-key ev_your-key-here \
--project q4q8nb18qc2i \
--category signups \
--title "User Registered"
Any language works. The package includes code examples for JavaScript, Python, PHP, Ruby, and Go.
The feed
Events appear in a chronological stream.
HTMX polls for new events, so the feed updates without page reloads.
You can search, filter by category, mark favorites, and turn on browser notifications for the events that matter.
Each app gets its own project, with its own feed, charts, insights, and settings.
Charts and insight cards
The charts page shows event frequency per category over time, so you can see how activity evolves.
Insight cards track KPIs. You upsert a card by title, so the same call updates the value:
node cli/index.js insight \
--api-key ev_your-key-here \
--project q4q8nb18qc2i \
--title "Online Users" \
--value 28
Users online, revenue, active sessions. Any number you want on the dashboard.
Demos and exports
Four demo scenarios ship in the box, with 1800+ sample events for an e-commerce store, a SaaS, a DevOps pipeline, and a content platform:
node cli/index.js load --file demos/all-scenarios.json
You can export everything to JSON anytime:
node cli/index.js export --file backup.json
No lock-in, no hosted vendor.
Everything stays local
Events Logger runs with Node.js 18 or newer.
SQLite stores data in a local file with zero configuration. No account, cloud service, or external API key is required.
What you get
Events Logger is available on Prototyped for a one-time $20 purchase.
The download includes:
- the complete Astro + HTMX + Alpine.js source
- the REST API with CRUD for events, insights, and projects
- the CLI tool for pushing events, managing insights, and loading demos
- the Drizzle ORM schema with auto-migration on startup
- four demo scenarios with 1800+ sample events
- architecture, decisions, customization, deployment, configuration, security, and build guides
- instructions for coding agents
- an MIT license
You can use it as it is, add Slack or email alerts, layer multi-user auth for a small team, or point an AI agent at the architecture docs and rebuild the same idea on your preferred stack.