# minilytics: Revenue-First Website Analytics on Cloudflare

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/surendrapandar-minilytics
Generated for open source discovery and AI-assisted research.

Minilytics is self-hosted, revenue-first analytics for indie hackers and solo founders, built on Cloudflare Workers and D1. It connects visitor sources and behavior to payments, and runs on Cloudflare’s free plan.

GitHub: https://github.com/surendrapandar/minilytics
OSRepos URL: https://osrepos.com/repo/surendrapandar-minilytics

## Summary

Minilytics is self-hosted, revenue-first analytics for indie hackers and solo founders, built on Cloudflare Workers and D1. It connects visitor sources and behavior to payments, and runs on Cloudflare’s free plan.

## Topics

- typescript
- analytics
- self-hosted
- dashboard
- revenue-attribution
- web-analytics
- payment-analytics

## Repository Information

Last analyzed by OSRepos: Sun Oct 25 2026 21:01:46 GMT+0000 (Western European Standard Time)
Detail views: 0
GitHub clicks: 0

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Overview

Minilytics is revenue-first web analytics for indie hackers and solo founders, built on Cloudflare Workers and D1. It helps website owners see which sources bring visitors, what those visitors do, and which sources lead to payments, rather than focusing only on pageview counts. Each user deploys their own copy to a Cloudflare account, keeping analytics data there.

The project combines a small tracking script with a dashboard and payment attribution. It supports Dodo Payments webhooks and a generic payments API, making it useful when connecting marketing activity to sales matters more than adopting a hosted analytics service.

## Key Features

- Tracks visitors, revenue, conversion rate, revenue per visitor, bounce rate, session time, and current online visitors.
- Attributes traffic to channels, referrers, campaign tags, keywords, and custom `?ref=` tags.
- Reports visitor locations, devices, browsers, operating systems, pages, outbound clicks, goals, and funnels.
- Shows customer journeys with traffic source, payment amount, conversion time, and visitor activity.
- Connects payments through Dodo webhooks or a generic payments API, and subtracts refunds from revenue.
- Supports multiple websites in one dashboard and automatically handles single-page apps.
- Runs on Cloudflare’s free plan, with documented limits and an option to use a paid Workers plan if needed.

## Use Cases

- An indie founder wants to know whether a launch post, article, or search landing page brought paying customers.
- A solo developer needs basic revenue attribution without sending analytics data to a hosted analytics vendor.
- A small subscription or digital-product business uses Dodo Payments and wants to relate payments to visitor journeys.
- A developer wants to compare campaigns and conversion behavior across several personal websites in one dashboard.

## Our Take

Minilytics is a focused self-hosted analytics option with unusually direct payment attribution, but it is a very new project maintained by one contributor.

**Good fit if:**
- You want to connect traffic sources and visitor journeys to revenue on your own sites.
- You are comfortable deploying and maintaining a Cloudflare Worker and D1 database.
- You use Dodo Payments or can send payments through the generic API, and the MIT license suits your use.

**Look elsewhere if:**
- You need a mature project with a release history or evidence of maintenance by a broader contributor group.
- You need analytics that do not depend on Cloudflare Workers and D1.
- Your payment provider or attribution workflow cannot use the documented webhook, API, or visitor-identification methods.

## Project Health

| Signal | Value |
|---|---|
| Status | **New**: less than six months old |
| Last commit | 2026-10-25 (today) |
| Commits, last 90 days | 10 |
| Releases, last 12 months | 0 |
| Contributors | 1 |
| Issues closed, last 90 days | 0 |
| Pull requests merged, last 90 days | 0 |
| Project age | 2 days |

Checked on 2026-10-25 with the GitHub API.

## Project Facts

- Language: TypeScript
- License: MIT
- Stars: 262
- Forks: 69
- Archived: no

## What You Need

Detected in the repository:

- Node.js (from package.json)
- A test suite

## Getting Started

Requires Node.js 20+ and a Cloudflare account. Clone the repository, install dependencies, configure a D1 database and required secrets, then deploy:

```bash
git clone https://github.com/surendrapandar/minilytics.git
cd minilytics
npm install
```

See the [README](https://github.com/surendrapandar/minilytics#readme) for the full deployment steps, tracking setup, and payment configuration.

## License in Plain Words

**MIT** (permissive).

- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the copyright and license notice
- Share your changes: no

A summary, not legal advice: the LICENSE file is what applies.

## Alternatives

- [bklit](https://osrepos.com/repo/bklit-bklit): Bklit tracks website events, sessions, and funnels, but is discontinued; Minilytics focuses on connecting visitor behavior and sources to payment revenue.
- [tianji](https://osrepos.com/repo/msgbyte-tianji): Tianji combines website analytics with uptime and server monitoring, while Minilytics specializes in revenue attribution from visitor activity to payments.

| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| **minilytics** | TypeScript | MIT | 262 | New |
| [bklit](https://osrepos.com/repo/bklit-bklit) | TypeScript | Other | 268 | Archived |
| [tianji](https://osrepos.com/repo/msgbyte-tianji) | TypeScript | Apache-2.0 | 3.1k | Active |

## Considerations

The project is marked New and is only a few days old in the supplied health data. It has recent commit activity, but no releases in the past year, and all measured contributor activity is concentrated in one person. No issues or pull requests were closed or merged in the measured 90-day period, so there is little history to judge response or review practices from.

Deployment requires Node.js and a Cloudflare account, and the application relies on Cloudflare Workers and D1. The README also notes that browser tracking can be blocked by ad blockers, Safari limits JavaScript-set cookie lifetime, and currency conversion is limited when Dodo does not provide a settlement amount in the site's currency. The project is MIT-licensed.