Zero-Config Runtime Observability & Code Heatmapping for Node.js
CodePulse is a highly-scalable, drop-in application performance monitoring (APM) system designed to detect silent bottlenecks and dead code physically across your architecture without requiring a single console.log.
It consists of three decoupled components:
- The SDK: A lightweight, zero-dependency Node interceptor that proxies your functions.
- The Ingest Engine: A Fastify API natively bound to a massive ClickHouse database for ultra-high throughput telemetry ingestion.
- The React Dashboard: A stunning glass-morphic visualizer that pulls your physical directory tree directly from GitHub and merges it with glowing real-time telemetry.
To take CodePulse out of your local development environment and offer it to your entire company (or the public internet), follow these exact 3 deployment steps:
The engine needs a server with a public IP so external servers can ship telemetry to it.
- Rent an Ubuntu server on AWS EC2, DigitalOcean, or Hetzner.
- Install Docker & Docker Compose.
- Copy
docker-compose.yml, thecodepulse-ingestfolder, and thecodepulse-sdkfolder to the server. - Run the cluster:
docker compose up -d --build
- CRITICAL: Set up an NGINX reverse-proxy or AWS API Gateway to attach an SSL Certificate (
https://) to port3000. You cannot use standardhttp://in production because web browsers and secure node apps will block the payload.
Your entire team needs to access the control panel from their browsers.
- Navigate to the frontend directory:
cd codepulse-dashboard - Update
App.tsxso the WebSockets and REST API hit your new public server instead oflocalhost:3000. - Build the static payload:
pnpm install pnpm build
- Upload the generated
dist/folder to a CDN like Vercel, Netlify, or AWS S3.
Right now, the SDK is a local mono-repo package. You need to push it to the public NPM registry so any developer on earth can type npm install codepulse-sdk.
- Navigate to
cd codepulse-sdk - Ensure you have an NPM account and are logged in (
npm login). - Add a
.npmignorefile to remove tests and local configs. - Run:
npm publish --access public
Once your system is public, any developer in the world can instrument their production backend with it!
1. Install the Package:
npm install codepulse-sdk2. Initialize it at the top of their Entry File:
(This MUST be executed before any other require or import statements!)
// index.js
require('codepulse-sdk').init({
ingestUrl: 'https://api.your-codepulse.com/ingest', // Your public Phase 1 server
projectId: 'my-production-backend',
githubRepo: 'their-username/their-repo'
});
const express = require('express');
// ... the rest of their app runs normally!Before you share your server endpoint (ingestUrl) openly on the internet, remember that Fastify currently allows unauthenticated POSTs. If a malicious bot finds your ingest URL, they can flood your ClickHouse database.
Before releasing this as a SaaS:
- Implement API Keys inside Fastify.
- Require developers to pass an
apiKey: '...'insideinit({}). - Establish rate-limiting on Fastify using
@fastify/rate-limit.