Usman Baig 3f81cb0e48 feat: adopt ShadCN chart primitives
Add ChartContainer, ChartConfig, ChartTooltip, ChartTooltipContent
primitives ported from ShadCN's chart pattern. Refactor all 3 chart
locations (dashboard, funnels, uptime) to use CSS variable-driven
theming instead of duplicated CHART_COLORS_LIGHT/DARK objects.

- Add --chart-1 through --chart-5, --chart-grid, --chart-axis CSS vars
- Remove duplicated color objects from 3 files (-223 lines)
- Add accessibilityLayer to all charts
- Rounded bar corners on funnel chart
- Tooltips use Tailwind dark classes instead of imperative style props

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:24:29 +01:00
2026-03-09 13:24:29 +01:00
2026-03-09 04:17:58 +01:00
2026-03-09 03:44:05 +01:00

Pulse

License: AGPL v3 Built with Next.js Hosted in Switzerland

Pulse is a privacy-first analytics platform by Ciphera. Use it as a hosted service—no self-hosting required.

Get Pulse

Pulse is available as a commercial product. Hosted in Switzerland, it gives you real-time analytics and insights without compromising your visitors' privacy.

Try Pulse Free →

Features

  • Privacy-First Dashboard: Simple, clean interface for viewing analytics
  • Site Management: Create, edit, and delete sites
  • Real-time Stats: Live visitor counts and real-time updates
  • Analytics Views: Pageviews, visitors, top pages, referrers, countries
  • Dark Mode: Full dark mode support
  • Responsive Design: Works on desktop and mobile

Technology Stack

  • Framework: Next.js 16+ (App Router)
  • Styling: Tailwind CSS with Ciphera design tokens
  • Charts: Recharts for data visualization
  • Authentication: OAuth flow with ciphera-auth
  • UI Components: @ciphera-net/ui for shared components
  • Hosting: Swiss infrastructure

Contributing

This repository is open source. If you want to contribute (bug fixes, features, docs), see CONTRIBUTING.md for setup and workflow.

Releasing

Changelog and release process (who updates it, when, how to tag, deploy) are documented in docs/releasing.md. Versions use 0.x.y while in initial development; the single product changelog is CHANGELOG.md.

Design System

The frontend follows the Ciphera design language:

  • Brand Color: Orange (#FD5E0F) - used as accent only
  • Neutral Colors: Full scale (50-900) for UI elements
  • Dark Mode: Full support with class-based switching
  • Font: Plus Jakarta Sans
  • Design Patterns:
    • Rounded corners (rounded-xl, rounded-3xl)
    • Smooth transitions (duration-200, duration-300)
    • Shadow effects with brand-orange accents

License

AGPL-3.0

Description
Pulse is a privacy-first web analytics dashboard. A simple, lightweight Google Analytics alternative with no cookies, GDPR compliant, and open source.
https://pulse.ciphera.net Readme AGPL-3.0 25 MiB
Languages
TypeScript 96.5%
MDX 1.7%
JavaScript 1.6%
CSS 0.2%