# I launched Events Logger

> I launched Events Logger, a self-hosted event tracking dashboard with a REST API, CLI, charts, and KPI insight cards on SQLite.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2026-08-04 | Topics: [News](https://flaviocopes.com/tags/news/) | Canonical: https://flaviocopes.com/i-launched-events-logger/

Today I launched [Events Logger](https://prototyped.dev/apps/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.

## Push an event

Everything goes through a small REST API.

You push an event with a single HTTP call:

```bash
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 description supports bold text and links. You can also attach an emoji icon, a URL, a user ID, and key-value tags.

Or use the included CLI:

```bash
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:

```bash
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.

## Playground and demos

A built-in playground page lets you test event publishing with a form. It shows the raw API call and gives you a code snippet to copy in your language.

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:

```bash
node cli/index.js load --file demos/all-scenarios.json
```

You can export everything to JSON anytime:

```bash
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.

[Get Events Logger on Prototyped](https://prototyped.dev/apps/events-logger).
