npm Packages

Open source tools and libraries published on npm

Every package listed here is something I built from scratch, published under the @gagandeep023 scope on npm. They range from backend middleware and developer tools to a full multiplayer board game engine. All are written in TypeScript with zero or minimal dependencies.

Backend

@gagandeep023/api-gateway

Production-ready API gateway middleware for Express

Type-safe Express middleware with IP-based rate limiting (Token Bucket, Sliding Window, Fixed Window), API key authentication, IP filtering, request analytics, and a real-time React dashboard.

  • Three rate limiting algorithms with per-IP tracking
  • API key auth with tiered access control
  • Real-time React analytics dashboard via SSE
  • IP allowlist/blocklist filtering
npm i @gagandeep023/api-gateway
TypeScriptExpressReactSSE
Infrastructure

@gagandeep023/expose-tunnel

Self-hosted ngrok alternative for exposing local servers

A self-hosted tunnel service that exposes local servers to the internet via custom subdomains. WebSocket relay on EC2, wildcard DNS routing, CLI and programmatic API.

  • Custom subdomain routing with wildcard DNS
  • WebSocket relay server for persistent connections
  • CLI tool and programmatic Node.js API
  • Self-hosted on your own EC2 or VPS
npm i @gagandeep023/expose-tunnel
TypeScriptNode.jsWebSocketsNginx
Developer Tools

@gagandeep023/json-view

JSON formatting, diffing, and un-stringifying

A zero-dependency TypeScript library and interactive tool for formatting, diffing, minifying, and un-stringifying JSON. Runs entirely client-side with no data sent to any server.

  • Format, minify, and beautify JSON instantly
  • Recursive deep diff between two JSON objects
  • Un-stringify nested escaped JSON strings
  • Zero dependencies, fully client-side
npm i @gagandeep023/json-view
TypeScriptReactVitest
Developer Tools

@gagandeep023/log-analyzer

JSONL log analysis with anomaly detection

A zero-dependency CLI and library for analyzing JSONL log files. Computes latency percentiles, detects error spikes, latency outliers, repeated patterns, and generates reports.

  • Four anomaly detection algorithms
  • Latency percentile computation (p50, p95, p99)
  • Pattern matching with normalization
  • CLI tool and programmatic library API
npm i @gagandeep023/log-analyzer
TypeScriptCLIVitest
Games

@gagandeep023/stone-age-backend

Board game engine with multiplayer support

The complete game engine for Stone Age board game online. Manages game state, turn logic, resource gathering, building, tool crafting, and civilization cards. Socket.IO for real-time multiplayer.

  • Full Stone Age board game rule engine
  • Real-time multiplayer via Socket.IO
  • SQLite persistence for game state
  • Lobby system with game creation and joining
npm i @gagandeep023/stone-age-backend
TypeScriptSocket.IOSQLiteExpress
Games

@gagandeep023/signal-hop

Reflex/strategy browser game on a network graph

A Canvas 2D browser game where you hop between network nodes to keep them alive. Each node counts down; when it hits zero, it dies and severs connections. Game over when you're stranded.

  • Canvas 2D rendering with responsive sizing
  • Procedural network graph generation
  • Progressive difficulty with timer decay
  • Mobile-friendly with unified pointer events
npm i @gagandeep023/signal-hop
TypeScriptReactCanvas 2DVitest
Games

@gagandeep023/drift-well

Physics browser game with gravity wells

Navigate a particle through invisible gravity wells to reach checkpoints. Canvas 2D physics simulation with drag-to-aim controls, momentum, energy management, and procedurally generated levels.

  • Canvas 2D physics with gravity field simulation
  • Drag-to-aim slingshot controls
  • Energy system with wall collision penalties
  • Procedural level generation with increasing difficulty
npm i @gagandeep023/drift-well
TypeScriptReactCanvas 2DVitest
Games

@gagandeep023/glyph-lock

Pattern-deduction puzzle game

A grid of cells displays a partial pattern using colors. Deduce the hidden rule, fill in the missing cells, and submit before the timer expires. Patterns get more complex as you level up.

  • 8 pattern algorithms with combo support
  • Progressive difficulty with shrinking timers
  • Color-based grid deduction mechanics
  • 3-life system with level progression
npm i @gagandeep023/glyph-lock
TypeScriptReactCanvas 2DVitest
Games

@gagandeep023/spore-field

Turn-based territory control on a hex grid

Place spores on a hex grid, spread across the field, sacrifice outliers to power up, and outcompete the AI. Territory control meets resource management in a turn-based strategy game.

  • Hex grid with adjacency-based spreading
  • AI opponent with strategic decision-making
  • Nutrient sacrifice mechanic for power moves
  • Domination win condition at 70% control
npm i @gagandeep023/spore-field
TypeScriptReactCanvas 2DVitest
Games

@gagandeep023/pulse-weave

Rhythm-timing game through rotating rings

Thread a dot outward through gaps in rotating concentric rings. Time your taps to pass through each gap. Miss and you bounce back to the center. Three bounces end your run.

  • Rotating concentric ring system with gaps
  • One-button timing gameplay
  • Level progression with increasing ring count
  • Canvas 2D glow and trail effects
npm i @gagandeep023/pulse-weave
TypeScriptReactCanvas 2DVitest
Games

@gagandeep023/stone-age-frontend

React UI components for Stone Age board game

The complete React frontend for Stone Age board game online. Board rendering with 2D and 3D views, player dashboards, card overlays, dice rolling, resource management UI, and real-time updates.

  • 2D SVG board with interactive overlays
  • 3D board view with React Three Fiber
  • Real-time player presence and turn updates
  • Card detail overlays and dice animations
npm i @gagandeep023/stone-age-frontend
TypeScriptReactR3FSocket.IO