Skip to content
View jaenster's full-sized avatar
  • Netherlands

Organizations

@justscale

Block or report jaenster

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jaenster/README.md

I reverse-engineer old games, build developer tools across too many languages, and write more libraries than anyone asked for.

const jaenster = {
  location:    "Netherlands",
  code:        ["TypeScript", "Zig", "Go", "C++", "Swift"] as const,
  pets:        ["void", "pointer"], // no leaks so far
  editor:      "JetBrains (IDEA)",
  rabbitHoles: ["Diablo II internals", "the entire WeakRef family", "reimplementing JS primitives for fun", "type-level TS"],
  askMeAbout:  ["building MCP servers", "reverse engineering old games", "Zig & distributed TS"],
  currently:   "reverse engineering Diablo II and building MCP servers in Zig",
  funFacts: [
    "thinks the type system is a separate programming language",
    "won't stop talking about Diablo II",
    "shipped more TypeScript micro-libs than anyone asked for",
    "has read more disassembly than is strictly healthy",
    "would rather write a polyfill than wait for TC39",
    "measures uptime in Baal runs",
  ] as const,
} satisfies Developer;

Tech

TypeScript Zig Go C++ Swift Node.js NestJS Docker Kubernetes Postgres


Diablo II, reverse-engineered

Repo What it does
jaenster-kolbot ⭐41 Diablo II botting framework
d2-dedicated-server ⭐10 Self-hosted cloud-native D2 1.14d realm + game server in Zig (modern PvPGN)
d2inject ⭐5 Diablo II injection tooling
aether ⭐4 The unseen layer between you and Diablo II
libd2 ⭐3 A Zig reimplementation of the deterministic Diablo II 1.14d engine core
ryuk ⭐3 Diablo II bot — the one that eats apples
d2-clientless ⭐2 Clientless D2 1.14d Battle.net client (BNCS/MCP/BNFTP/D2GS) in Zig

Libraries

Mostly solutions to problems I gave myself.

Repo What it does
justscale ⭐16 Write a single-server backend. It just scales across a cluster.
fake-socket ⭐5 In-memory socket implementation
weakrefmap ⭐4 WeakRef-backed Map — one of an unreasonable number of WeakRef variants

Apps & daemons

Repo What it does
hush macOS secrets daemon (ssh-agent for env vars) — Zig + libsodium
hoardarr Drop-in SABnzbd replacement with a Sonarr/Radarr-style UI, pure Go

MCP servers for agentic llm's

Repo What it does
puppeteer-mcp-claude ⭐43 Browser automation for Claude, powered by Puppeteer
remote-shell-mcp ⭐2 Persistent SSH, SFTP, port-forwarding & Docker over MCP
ts-lsp-mcp ⭐2 TypeScript language-server features as MCP tools
ghidra-mcp ⭐1 Ghidra reverse-engineering over MCP — headless daemon, OAuth 2.1, k8s
node-debugger-mcp A real Node.js debugger for Claude via the V8 Inspector Protocol
nestjs-mcp-controller Build MCP servers in NestJS with @Controller/@Tool() classes

Reach me on Discord — jaenster#1337

Most of it works. The rest are undocumented features.

Pinned Loading

  1. jaenster-kolbot jaenster-kolbot Public

    A new version of kolton

    JavaScript 41 17

  2. puppeteer-mcp-claude puppeteer-mcp-claude Public

    Browser automation MCP server for Claude, powered by Puppeteer.

    TypeScript 43 6

  3. justscale/justscale justscale/justscale Public

    The TypeScript backend framework where plain code just scales. The Go model - write straight-line code, it scales - for TypeScript backends.

    TypeScript 16 4

  4. d2-dedicated-server d2-dedicated-server Public

    Self-hosted, cloud-native Diablo II 1.14d dedicated game server + Battle.net realm server in Zig — a modern PvPGN replacement. Drives the retail Game.exe headless under wine; capacity-aware game-se…

    Zig 10

  5. fake-socket fake-socket Public

    TypeScript 5

  6. weakrefmap weakrefmap Public

    WeakRefMap, a weak map with access to the fields, and keys can be primitives

    TypeScript 4