Project overview

This page collects the browser-focused tools, libraries, and experiments I am actively building or maintaining. Some projects are technical libraries with reusable APIs, while others are live services or game prototypes that are best explained through their current capabilities and demos.

Libraries

Reusable tools intended for direct integration into browser-based projects.

Bind Manager

A browser-first key binding system for games and interactive applications with keyboard and gamepad support, local persistence, and built-in rebinding tools.

  • Action-based registration with grouped bindings and per-slot reset/clear support.
  • Keyboard and gamepad capture with profile-aware labels and runtime events.
  • Works well for in-browser games that need a polished remapping flow.

EventMergerJS

A small JavaScript utility for coalescing bursts of repeated events into fewer updates while still preserving important incremental state.

  • Useful for UI sliders, noisy input streams, and network-driven updates.
  • Lets you tune minimum and maximum buffering windows.
  • Includes a demo that shows how duplicate events are merged in practice.

Applications and services

Practical tools and live systems that grew out of real runtime needs.

Node Server Console

A terminal UI for Node.js services with scrollback, command loading, configuration persistence, and embedding support for long-running runtimes.

Multiplayer Asteroids Clone

A closed-source multiplayer Asteroids-style prototype focused on fast browser play, responsive controls, and ongoing live tuning.

Push-Mail Service

A live push-notification and private contact service that is designed to work smoothly across desktop and mobile browsers, including installed PWAs where supported.