TideMeter
Skip to Content
Introduction

Introduction

TideMeter is a self-hosted, privacy-first web analytics platform for developers and small teams. It gives you traffic insights, conversion funnels, retention cohorts, user journeys, and team sharing — without cookies, vendor lock-in, or GA4 complexity.

Why TideMeter?

Most analytics tools are either too complex (Google Analytics) or too basic (page-view-only dashboards). TideMeter sits in the middle — practical analytics with real depth that you can deploy on your own server:

  • No cookies — TideMeter doesn’t use cookies, local storage, or any form of persistent client-side storage
  • No personal data — Visitor identifiers are generated using SHA-256 hashes with daily rotating salts, making individual tracking impossible
  • Self-hosted — Your analytics data stays on your servers. No third party ever sees it
  • Open source — MIT licensed. Every line of code is open for inspection
  • Real depth — Funnels, journeys, retention, UTM tracking, public dashboards, and team sharing out of the box

Key Features

FeatureDescription
Privacy-firstNo cookies, no fingerprinting, no personal data collection
Lightweight trackerUnder 1.5KB gzipped — won’t affect your site’s performance
Real-time dashboardLive visitor counts, page views, referrers, and more
GDPR compliantNo consent banners needed — compliance by architecture
Dual database supportPostgreSQL for simplicity, ClickHouse for scale, SQLite planned
Multi-siteTrack multiple websites from one dashboard
Team collaborationUser management with built-in authentication
API accessRESTful API for programmatic access to your data

Tech Stack

TideMeter is a modern TypeScript monorepo built with:

  • Next.js 16 — React framework with App Router and Turbopack
  • PayloadCMS 3 — Headless CMS for app data management
  • Tailwind CSS 4 — Utility-first CSS with CSS-first configuration
  • Drizzle ORM — Type-safe database toolkit
  • PostgreSQL — Primary application database
  • ClickHouse — Optional high-performance analytics database
  • Turborepo — Monorepo build system with pnpm 9
  • TypeScript 5 — Strict mode across all packages

Project Structure

tidemeter/ ├── apps/ │ └── web/ # Next.js + PayloadCMS application ├── packages/ │ ├── analytics/ # Analytics data layer (Drizzle ORM) │ ├── tracker/ # Lightweight tracking script │ ├── ui/ # Shared React UI components │ └── tsconfig/ # Shared TypeScript configs ├── docker/ # Docker Compose files ├── scripts/ # Utility scripts ├── turbo.json # Turborepo configuration └── package.json # Root package.json

Quick Start

Get up and running in under 5 minutes:

git clone https://github.com/tidemeter/tidemeter.git cd tidemeter pnpm install cp .env.example .env pnpm dev

Then open http://localhost:3700  in your browser.

For detailed setup instructions, see the Getting Started guide.