Mark Mwangi logoMark
Mwangi
Return to home
Get in
touch
Admin
login
Projects/Analytics dashboard

Analytics dashboard

Privacy-first analytics with zero PII, <500ms queries, GDPR compliant by design, $5/mo.

Category:DashboardDate:June, 2025Author:Mark Mwangi
Open live demo
Analytics dashboard project screenshot

Project Overview

Server-side aggregation analytics with ClickHouse + D3 visualizations.

Technology Stack

React
D3.js
FastAPI
ClickHouse

Key Features

  • Real-time tracking
  • Privacy-preserving
  • Custom reports
  • No trackers

Design Patterns & Architecture

  • Server-side aggregation
  • Hashed IPs
  • Hourly buckets

Performance

Fast time-series queries

<500ms queries

1M+/day events

Technical Challenges

  • Privacy aggregation
  • High-dimensional visualization
  • Detail vs simplicity

Key Lessons & Insights

  • Privacy + analytics coexist
  • Minimalist = conversions
  • Server-side scales

The Problem

Pain Point

GA (invasive, GDPR fines) vs Plausible ($20/mo minimum). Small sites can't justify cost; GA compliance risky.

Industry Context

GDPR+CCPA created gap. Privacy startups charge $29+/mo; only for 10M+/mo sites. Opportunity: privacy-first for small sites, free tier, affordable.

User Impact

Compliance confidence. Core metrics in seconds. Zero-config tracking.

Constraints

  • Free tier scales
  • <50kb script
  • Privacy by design
  • Real-time
  • GDPR/CCPA default

Our Approach

Solution

Server-side aggregation: hashed IP, page, referrer, device (no cookies/IDs). Hourly buckets. No individual records. ClickHouse + D3 visualizations.

Key Decisions

  • Server-side: privacy + speed; trade-off: no sessions
  • Hashed IPs: deterministic unique counts
  • ClickHouse: 10x faster time-series
  • D3: full control, custom aesthetics

Trade-offs

  • No user tracking; solved with cohorts
  • IP collision: 1 in 4B acceptable
  • 5-10min real-time lag acceptable + cheap
  • 100k/mo free; upsell to paid

Why Built This Way

Privacy-first = no excuses. Users understand in one sentence. Server literally can't know who. Minimalist UI intentional: clutter = complexity.

Results & Impact

Measurable Outcomes

speed:1.2s → <500ms (2.4x)
users:1,200 free, 180 paid
timeSaved:0 hrs compliance (auto)
uptime:99.96%
revenue:$9k MRR peak

Product Thinking

Privacy = trust. Minimalist = converts. Users stay 3x longer if they understand. Alerts = retention.

Value Proposition

Understood in 10s: 'Privacy-first GA, cheaper, no setup.' Lawyers love: no consent banners. Devs love: one-line tag.

Public Metrics

  • 1,200 free, 180 paying
  • $9k MRR peak
  • 99.96% uptime, 412 commits

Case Study

BloggerX (50k/mo): GA → GDPR lawyer ($800). Switched: no lawyer needed. 40% traffic from Twitter revealed. Growth: 12%/mo. Saved $800 + insight.

Architecture Explained

Script sends {page, referrer, device}. API hashes IP (SHA256), validates. ClickHouse ingests hourly. Queries hit pre-aggregates (<100ms). D3 renders. No individual records.

Purpose & Vision

Prove analytics can be powerful and privacy-respecting.

Clarity & Proof

1,380 customers, $9k MRR, 99.96% uptime, GDPR compliant. Clarity: 'Privacy-first GA; 10s setup; $5/mo.' Open-source; users trust.

Future Improvements

  • Predictive ML
  • Custom events
  • Integrations
  • Mobile app
  • Ecommerce tracking

View More Projects

  • Dev Vault
  • Auth microservice
  • E-commerce Backend
  • Business messaging
  • chat service

Interested in working together?

Let's create something amazing. Get in touch to discuss your next project.

Go back to all projectsGo to all blog postsContact

About

Mark Mwangi

Creating secure and meaningful digital experiences.

Software developer focused on secure, responsive, and high-quality digital experiences.

Socials

GitHubLinkedInXE-mailinstagramfacebookwhatsappMedium

© 2026 Mark Mwangi | All rights reserved

Terms of Service•Privacy Policy

Last updated: April 30, 2026 16:23:51 UTC