Internal at Neomanex — commercialisation deferred
Analytics that ad blockers can't
touch.
NeoAnalytics is a Nuxt module and ingestion API that tracks events server-side — where ad blockers, spoofed headers, and lost beacons can't reach. SSR page visits, SPA navigations, and custom events flow through a single pipeline, linked by correlation IDs across the full session lifecycle.
At a glance
Privacy-first analytics for AI-powered applications
- Status
- Internal — commercialisation deferred
- Built for
- Frontend engineers and platform teams building Nuxt applications that need accurate, privacy-respecting analytics
Why it matters
Positioning pillars
Server-side first
Data accuracy is architectural.
The SSR middleware captures every page visit before the browser renders. Browser events route through a Nitro server proxy that injects real HTTP context — IP, user agent, referrer — from headers that cannot be spoofed client-side. The analytics API URL never touches the browser. Data accuracy is an architectural guarantee, not a best-effort hope.
Zero-config Nuxt integration
Two options. Tracking starts.
Add the module to nuxt.config.ts, set two options (apiUrl, source), and tracking starts. page.visit, page.view, session.start, and page.leave fire automatically — no manual instrumentation required. For custom events, the useAnalytics() composable exposes a single track() function. The module handles correlation IDs, proxy routing, retry queues, and sendBeacon teardown without configuration.
Full-stack correlation
One session timeline, end to end.
Every SSR render generates a correlation ID injected into the HTML via a meta tag. The browser plugin reads it and tags all client events with the same ID. The result: a single session timeline that spans server-rendered page visits, SPA route changes, custom UI interactions, and tab-close events — linked end-to-end without cookies or fingerprinting.
The mechanics
How it works
Step 1
SSR middleware tracking
The Nuxt server middleware fires a page.visit event on every SSR render — before the browser loads any scripts. Ad blockers, disabled JavaScript, and bot traffic are all captured accurately at the server layer.
Step 2
Secure proxy forwarding
Browser events route through a same-origin /api/_analytics proxy, not an external analytics endpoint. The proxy injects real HTTP headers (IP, user agent, referrer) that cannot be spoofed client-side. Ad blockers see a first-party request, not a tracking domain.
Step 3
Automatic events
Four events fire out of the box: page.visit (server-side, every SSR render), page.view (client-side, SPA route changes), session.start (first page view per session), and page.leave (tab close via sendBeacon). Custom events use the useAnalytics() composable — one function call.
Step 4
Correlation IDs
Every SSR render generates a UUID stored in a <meta x-correlation-id> tag. The browser plugin reads the tag and attaches the ID to every client event. The analytics API groups events by correlation ID — a unified timeline of server and browser activity per page render, no cookies required.
Neomanex internal analytics
NeoAnalytics powers analytics across every Neomanex product — neomanex.com, Gnosari, and the rest of the portfolio. The SSR middleware and secure proxy run in production, tracking page visits and custom events with full correlation-ID linking. Internal since 2025; load-bearing for the entire analytics pipeline.
The contrast
How we compare
Them
Google Analytics — client-side tag that ad blockers routinely strip
Us
Server-side SSR middleware captures every visit before the browser loads. No third-party domain, no data sharing, no sampling.
Them
Plausible / Fathom — privacy-focused but no SSR integration
Us
Built for Nuxt SSR. The server middleware fires before hydration; the proxy enriches browser events with real HTTP context. Privacy by architecture, not by script placement.
Them
Build your own analytics pipeline
Us
One Nuxt module, two config options, four automatic events. Correlation IDs, proxy routing, retry queues, and sendBeacon teardown — zero instrumentation needed.
Them
Raw event logging — firehose without structure
Us
Structured events with correlation IDs that stitch server and client into a single session timeline. Queryable, attributable, and linked end-to-end.
The ecosystem
Fits into the portfolio
Uses under the hood
Questions, answered

