Skip to content

RakshakIT/myuserjourney

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

57 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

MyUserJourney

MyUserJourney

AI-Powered Analytics, CMS & Marketing Platform
The privacy-first alternative to Google Analytics with built-in AI insights, CMS, SEO tools, and GDPR compliance.

Website Β· Features Β· Getting Started Β· Whitepaper Β· Contributing Β· Changelog

CI Status License GitHub Stars Latest Release Last Commit Open Issues

React TypeScript Node.js PostgreSQL Tailwind CSS OpenAI Stripe Drizzle ORM


Screenshots

Dashboard Overview
Dashboard Overview - Key analytics at a glance with comparison stats

View more screenshots

Real-time Analytics
Real-time Analytics - Active users, per-minute activity, top content

AI Insights Chat
AI Insights - Ask questions about your analytics in plain English

Funnel Builder
No-Code Funnel Builder - Visual drag-and-drop with AI generation

Predictive Analytics
Predictive Analytics - Churn risk, revenue forecasting, conversion predictions

SEO Site Audit
SEO Site Audit - HTML crawling with issue detection and scoring

Admin Panel
Admin Panel - CMS pages, file manager, user management, SMTP config

Privacy Settings
Privacy Settings - GDPR consent management with 55+ jurisdiction support


The Problem

Businesses face an impossible choice: use powerful analytics platforms that compromise user privacy and send data to third-party servers, or use privacy-focused alternatives that lack advanced features.

Google Analytics 4 raises GDPR adequacy concerns with cross-border data transfers. Microsoft Clarity records sessions without granular consent. Amplitude and Mixpanel charge premium prices that exclude SMEs. None of them offer integrated AI insights, CMS, SEO auditing, and PPC management in a single self-hosted solution.

The Solution

MyUserJourney eliminates this trade-off by combining in a single self-hosted platform:

  • Real-time behavioural analytics with predictive AI
  • Natural language analytics queries ("What drove conversions last week?")
  • Automated UX auditing and SEO site analysis
  • A complete CMS with contact forms and file management
  • Full GDPR/PECR compliance by design, not as an afterthought

All self-hosted. Your analytics data stays in your database. Optional integrations (geolocation, AI, payments) involve limited, configurable data exchange with third-party services under your control.


Features

Analytics Engine

Feature Description
Real-time Dashboard Active users, per-minute activity charts, top content
Acquisition Analytics Traffic source breakdown, referrer analysis, campaign tracking
Engagement Metrics Event types, pages, landing pages, session duration
Live Event Stream Real-time event feed with multi-dimensional filtering
User Journey Replay Session reconstruction and timeline views
Visitor Profiles Aggregated visitor data with export capabilities
Traffic Classification Organic, social, paid, referral, email, display, affiliate, direct
Geography Analytics Country, city, and language distribution
Browser & Device Browser, OS, and device type breakdowns
Pages Analysis Top pages, entry/exit pages, 404 detection
Funnel Builder No-code visual builder with drag-and-drop and AI generation
Custom Events Rule-based event matching with AI-generated templates
Custom Reports Flexible report builder with AI-powered generation

AI-Powered Intelligence

Feature Description
AI Insights Chat Ask questions about your analytics in plain English
Predictive Analytics Churn risk scoring, revenue forecasting, conversion predictions
AI UX Auditor Detect slow pages, poor UX flows, and confusing navigation
AI Marketing Copilot SEO fix suggestions, PPC budget optimisation, UX recommendations
AI Funnel Generation Describe a funnel in words, get it built automatically
AI Report Generation Generate custom reports from natural language prompts
AI Event Templates Auto-generate conversion tracking for leads, purchases, and more
Site Research Real website crawling with AI-powered competitive analysis

CMS & Content Management

Feature Description
Dynamic Pages Create and manage pages via admin panel
File Manager Upload and manage files with drag-and-drop
Contact Form Built-in contact form with SMTP email notifications
SEO Metadata Per-page title, description, and meta tag management
Site Branding Customisable name, tagline, colours, and social links
Tracking Codes 15+ analytics platform integrations (GA, GTM, Pixel, etc.)

Privacy & Compliance

Feature Description
GDPR/PECR Full UK and EU privacy regulation support
Consent Banner Customisable with 6 categories, 3 layouts, 5 positions
IP Anonymisation Automatic last-octet anonymisation
Do Not Track Honours browser DNT headers
Cookieless Mode Tracking without cookies or persistent identifiers
Right to Erasure One-click visitor data deletion
Data Portability Export visitor data as JSON/CSV
55+ Jurisdictions Global privacy law support (EU, US states, APAC, etc.)

Marketing & SEO

Feature Description
Site Audit HTML crawling with SEO issue detection and scoring
PPC Campaigns Campaign tracking and performance analytics
Site Research Competitive research with real website crawling

Feature Comparison

Based on publicly available feature documentation as of February 2026. See the Whitepaper for detailed analysis.

Feature MyUserJourney GA4 Plausible PostHog Matomo
Real-time analytics Yes Yes Yes Yes Yes
AI insights chat Yes No No No No
Predictive analytics Yes Limited No No No
AI UX auditor Yes No No No No
Built-in CMS Yes No No No No
SEO site audit Yes No No No No
PPC management Yes Via Ads No No No
Consent management Yes Partial N/A Partial Yes
Self-hosted Yes No Yes Yes Yes
GDPR by design Yes No Yes Partial Yes
55+ jurisdiction support Yes No No No No
Free core analytics Yes Yes No Yes Yes
Open source MIT No AGPL MIT GPL

Tech Stack

Layer Technology
Frontend React 18, TypeScript, Vite, Tailwind CSS, Shadcn UI
State Management TanStack React Query v5
Charts Recharts
Routing Wouter
Backend Node.js, Express.js, TypeScript
Database PostgreSQL (27 tables)
ORM Drizzle ORM
Authentication Passport.js (Local + Google OAuth 2.0)
AI OpenAI API (GPT-4o-mini)
Payments Stripe (pay-as-you-go invoicing)
Email Nodemailer

Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL 14+
  • npm 9+

Quick Start

# Clone the repository
git clone https://github.com/RakshakIT/myuserjourney.git
cd myuserjourney

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env with your DATABASE_URL and SESSION_SECRET

# Push database schema (creates all 27 tables)
npm run db:push

# Start the development server
npm run dev

The application will be available at http://localhost:5000.

Environment Variables

Variable Required Description
DATABASE_URL Yes PostgreSQL connection string
SESSION_SECRET Yes Secret key for session encryption
GOOGLE_CLIENT_ID No Google OAuth 2.0 Client ID
GOOGLE_CLIENT_SECRET No Google OAuth 2.0 Client Secret
OPENAI_API_KEY No OpenAI API key for AI features
STRIPE_SECRET_KEY No Stripe secret key for billing
ADMIN_EMAIL No Auto-promote this email to admin on startup

Generate a secure session secret:

node -e "console.log(require('crypto').randomBytes(64).toString('hex'))"

See .env.example for the complete list.


Creating Your Admin Account

Option A: Auto-promote (recommended)

Set ADMIN_EMAIL=your@email.com in .env, then register with that email. The account is automatically promoted to admin on each startup.

Option B: Seed account

Set ADMIN_DEFAULT_PASSWORD=your-strong-password in .env. A default admin is created at admin@analytics.io on first startup.

Option C: SQL

UPDATE users SET role = 'admin' WHERE email = 'your@email.com';

Project Structure

myuserjourney/
β”œβ”€β”€ client/                    # React frontend (Vite + TypeScript)
β”‚   └── src/
β”‚       β”œβ”€β”€ components/        # Reusable UI components (Shadcn)
β”‚       β”œβ”€β”€ hooks/             # Custom React hooks
β”‚       β”œβ”€β”€ lib/               # Utilities and API client
β”‚       └── pages/             # Route page components
β”œβ”€β”€ server/                    # Express backend (TypeScript)
β”‚   β”œβ”€β”€ auth.ts                # Authentication (Passport.js + OAuth)
β”‚   β”œβ”€β”€ routes.ts              # API route handlers
β”‚   β”œβ”€β”€ storage.ts             # Database access layer (Drizzle ORM)
β”‚   β”œβ”€β”€ ai-service.ts          # AI/LLM integration
β”‚   └── stripe-billing.ts     # Stripe pay-as-you-go billing
β”œβ”€β”€ shared/
β”‚   └── schema.ts              # Database schema (27 tables) + Zod types
β”œβ”€β”€ .github/                   # CI/CD workflows and templates
β”œβ”€β”€ CHANGELOG.md               # Version history
β”œβ”€β”€ CONTRIBUTING.md            # Contribution guidelines
β”œβ”€β”€ SECURITY.md                # Security policy
β”œβ”€β”€ LICENSE                    # MIT License
└── whitepaper.md              # Technical whitepaper

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Client (Browser)                        β”‚
β”‚   React 18 + TypeScript + Tailwind CSS + Shadcn UI           β”‚
β”‚   TanStack Query for state  |  Wouter for routing            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚ HTTPS
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Express.js Server                          β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Auth    β”‚  β”‚  Routes   β”‚  β”‚    AI    β”‚  β”‚  Stripe   β”‚  β”‚
β”‚  β”‚ Passport  β”‚  β”‚  REST API β”‚  β”‚  OpenAI  β”‚  β”‚ Billing   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚              Storage Layer (Drizzle ORM)              β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   PostgreSQL Database                         β”‚
β”‚                27 tables, type-safe queries                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

For a detailed technical deep-dive, see the Whitepaper.


API Reference

Authentication

Method Endpoint Description
POST /api/auth/register Register new account
POST /api/auth/login Email/password login
GET /api/auth/google Initiate Google OAuth
GET /api/auth/me Get current user
POST /api/auth/logout Log out
POST /api/auth/forgot-password Request password reset
POST /api/auth/reset-password Reset password with token

Analytics

Method Endpoint Description
POST /api/events Collect tracking event
GET /api/projects/:id/stats Dashboard statistics
GET /api/projects/:id/realtime Real-time analytics
GET /api/projects/:id/acquisition Acquisition data
GET /api/projects/:id/engagement Engagement metrics
GET /api/projects/:id/visitors Visitor list

CMS (Public)

Method Endpoint Description
GET /api/public/site-settings Site branding
GET /api/public/pages Published pages
GET /api/public/pages/:slug Single page
POST /api/public/contact Submit contact form

Admin

Method Endpoint Description
GET/PUT /api/admin/site-settings Site settings
GET/PUT /api/admin/smtp SMTP configuration
CRUD /api/admin/pages CMS pages
CRUD /api/admin/files File management
CRUD /api/admin/users User management

Deployment

Production Build

npm run build
npm start

Example nginx Configuration

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Cloud Deployment

Works with any platform that supports Node.js and PostgreSQL:

  • Railway - Connect GitHub for automatic deploys
  • Render - Free tier with managed PostgreSQL
  • DigitalOcean - App Platform or Droplets
  • AWS - EC2, Lightsail, or ECS
  • Heroku - Quick deploy with add-on PostgreSQL

Pricing Model

Core analytics are free forever. AI features use a pay-as-you-go model:

  • AI usage is tracked per feature with token counts
  • Monthly usage under the threshold is free
  • When usage exceeds the threshold, Stripe generates an automated invoice
  • No subscriptions, no tiers - pay only for what you use

Documentation

Document Description
Whitepaper Technical architecture and competitive analysis
Changelog Version history and release notes
Contributing How to contribute to the project
Security Vulnerability reporting and security policy
Code of Conduct Community standards
License MIT License

Contributing

We welcome contributions of all kinds. See our Contributing Guide for details.

# Fork and clone the repo
git clone https://github.com/YOUR_USERNAME/myuserjourney.git

# Create a feature branch
git checkout -b feature/your-feature

# Make your changes and commit
git commit -m "feat(scope): description"

# Push and create a Pull Request
git push origin feature/your-feature

Look for issues tagged good first issue to get started.


Security

Found a vulnerability? Please report it responsibly. See our Security Policy for details.

Do not report security vulnerabilities through public GitHub issues.


Author

Rakshak Mathur - Sole architect, designer, and developer


License

MyUserJourney is open source under the MIT License.

Copyright (c) 2026 Rakshak Mathur. All rights reserved.

About

AI-powered privacy-first digital analytics platform with predictive insights, cookieless tracking, and full GDPR/PECR compliance. Self-hosted alternative to Google Analytics.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages