Module: Product Analytics
Event tracking and product analytics with pluggable backends. Ships with providers for Segment (HTTP batch API), PostHog (batch capture), Mixpanel (batch track + engage), and Amplitude (HTTP V2 batch). All providers use native fetch (no heavy SDKs). Includes an instance-scoped event buffer with interval and capacity flushing, plus Hono and Express middleware factories for automatic request tracking. Factory-based registry, circuit breakers, and OTel metrics.
| Name | module-analytics-ts |
| Version | 0.1.0 |
| Category | composable-modules |
| License | Apache-2.0 |
| Persona | engineering |
| Tags | analytics, tracking, segment, posthog, mixpanel, amplitude, typescript |
| Source | templates/module-analytics-ts |
Render it
Three front doors, one catalog. Pick whichever suits the caller.
# CLI
npx @nanohype/sdk render module-analytics-ts --out ./my-app
# SDK
import { LocalSource, renderTemplate } from "@nanohype/sdk";
const result = await renderTemplate(source, "module-analytics-ts", variables);
# MCP — from an agent
get_template({ name: "module-analytics-ts" })Prerequisites
| Tool | Version | Why |
|---|---|---|
node | >=22 | Node.js runtime for the analytics module |
Variables
Required
ProjectNamestring- Kebab-case project name, used as package name and directory Must be lowercase kebab-case starting with a letter.
Optional
Descriptionstring — defaults toEvent tracking and product analytics- Short project description for package.json and README
AnalyticsProviderstring — defaults toposthog- Default analytics provider (posthog, segment, mixpanel, amplitude, mock, or a custom name)
What it produces
30 files. Placeholder names such as __APP_NAME__ are what the renderer substitutes into.
.env.example
.gitignore
biome.json
package.json
README.md
src/analytics/__tests__/buffer.test.ts
src/analytics/__tests__/middleware.test.ts
src/analytics/__tests__/mock.test.ts
src/analytics/__tests__/registry.test.ts
src/analytics/bootstrap.ts
src/analytics/buffer/event-buffer.ts
src/analytics/config.ts
src/analytics/index.ts
src/analytics/logger.ts
src/analytics/metrics.ts
src/analytics/middleware/express.ts
src/analytics/middleware/hono.ts
src/analytics/providers/amplitude.ts
src/analytics/providers/index.ts
src/analytics/providers/mixpanel.ts
src/analytics/providers/mock.ts
src/analytics/providers/posthog.ts
src/analytics/providers/registry.ts
src/analytics/providers/segment.ts
src/analytics/providers/types.ts
src/analytics/resilience/__tests__/circuit-breaker.test.ts
src/analytics/resilience/circuit-breaker.ts
src/analytics/types.ts
tsconfig.json
vitest.config.tsComposes with
- Pairs with
ts-service - Pairs with
next-app - Pairs with
go-service - Nests inside
monorepo
Composites that use it
- Product Launch — Full product launch kit spanning engineering, design, QA, product, marketing, and operations.