Google Analytics is great for marketing teams. It’s overkill for a solo dev shipping a small app or personal site. Janus gives you analytics you can understand on day one, without enterprise‑grade clutter.
Once you drop in the script and initialize Janus, you get:
All of it is structured so it makes sense the first time you open it.
Add one script tag to the <head> of your HTML. The SDK is hosted on our CDN — no npm install, no build step.
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>My Side Project</title><script src="https://addjanus.ca/janus.js"></script></head><body><!-- your app --></body></html>
The script is under 1 KB. It loads asynchronously, so it won’t block your page render.
Call Janus.init() with your API key. Page views and SPA navigation are tracked automatically — you don’t need to wire up route listeners.
<script>// Initialize — page views are tracked automaticallyJanus.init('jns_your_api_key_here');// Optionally track custom eventsJanus.track('signup_click', {page: 'homepage',variant: 'hero-cta'});</script>
That’s it for setup. Initialize once, and everything works. If you’re using a framework like Next.js or SvelteKit, check the setup docs for framework-specific notes.
Within a minute or two of your first visit, your dashboard starts to fill in. Here's what it looks like with a handful of real page views and one custom event:
No tutorial needed. You can tell what's happening with your app at a glance.
No configuration, no funnel setup, no goal creation. Open the dashboard and it already makes sense.
Janus is built for builders who want signal, not noise. To stay lightweight and easy to understand, it intentionally leaves some things out:
The free tier gives you live activity, trends, and a full event log. Pro adds journey funnels: multi-step conversion paths you define, built on real data.
We shipped the features we kept reaching for ourselves. We’d rather build what you need than guess. Sign up, use it, and tell us what’s missing.
Janus focuses on usage, not vanity metrics.
Already set up? Connect Janus to your AI coding agent and check your analytics without leaving your editor.
The loader script is under 1 KB. It loads the full SDK asynchronously, so it never blocks your page render or affects your Core Web Vitals.
No. Janus doesn’t set cookies, use localStorage for tracking, or fingerprint browsers. Privacy is an architectural decision, not a setting you toggle.
No. The script loads asynchronously and batches events before sending them. It’s designed to have zero measurable impact on page load performance.
No. Janus is a hosted script — one script tag in your HTML and you’re done. No build step, no dependencies, no bundler config.
The free tier includes 10,000 events per month, 3 API keys, full dashboard access, and 30 days of data retention. No credit card required.
Yes. Janus automatically detects SPA route changes via the History API. You don’t need to add any route listeners — page views are tracked automatically on navigation.
Yes. Call Janus.track() with an event name and optional properties object. Common examples: button clicks, form submissions, feature usage, and signup flows.
Free tier. No credit card. No onboarding maze.
Get started with Janus