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
Dashboard Overview - Key analytics at a glance with comparison stats
View more screenshots
Real-time Analytics - Active users, per-minute activity, top content
AI Insights - Ask questions about your analytics in plain English
No-Code Funnel Builder - Visual drag-and-drop with AI generation
Predictive Analytics - Churn risk, revenue forecasting, conversion predictions
SEO Site Audit - HTML crawling with issue detection and scoring
Admin Panel - CMS pages, file manager, user management, SMTP config
Privacy Settings - GDPR consent management with 55+ jurisdiction support
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.
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.
| 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 |
| 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 |
| 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.) |
| 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.) |
| 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 |
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 |
| 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) |
| Nodemailer |
- Node.js 18+
- PostgreSQL 14+
- npm 9+
# 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 devThe application will be available at http://localhost:5000.
| 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.
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';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
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 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.
| 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 |
| 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 |
| 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 |
| 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 |
npm run build
npm startserver {
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;
}
}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
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
| 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 |
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-featureLook for issues tagged good first issue to get started.
Found a vulnerability? Please report it responsibly. See our Security Policy for details.
Do not report security vulnerabilities through public GitHub issues.
Rakshak Mathur - Sole architect, designer, and developer
- LinkedIn: linkedin.com/in/rakshakmathur
- Website: myuserjourney.co.uk
- GitHub: RakshakIT
MyUserJourney is open source under the MIT License.
Copyright (c) 2026 Rakshak Mathur. All rights reserved.