Software

Software is crazy, but we can manage it if we have names for the things we're building. Here's my mental map for all projects. This map was heavily inspired by a secret presentation from Safia Abdalla :) For best results, use a wide screen (1280px+).

A modern app

Editor/IDE

  • Operating systems
  • Shells + terminals
  • Coding agents
  • Extensions
  • Team vs personal configs

Frontends

  • Endless frameworks
  • Web, mobile, desktop
  • UX design

Backends

  • More endless frameworks
  • Storage
  • Auth
  • Async compute

Env

  • Secrets
  • Non-source-controllable assets

Observability

  • Telemetry
  • Alerting

Deployment

  • Test environments
  • Infrastructure as code
  • Automated CI/CD
  • Automated recovery

Documentation

  • Code comments
  • Markdown files
  • Wiki site
  • On-call runbooks

Maintenance

  • Project management
  • Test coverage validation
  • Perennial innovations

Communication

  • Early feedback
  • Announcements and blogs
  • External contributor collaboration
  • User support

Agents + AI

  • Integrations
  • Security
  • Hallucinations
  • Costs (financial, reputational, ecological)

Mocha

Mocha is the classic, reliable, trusted test framework for Node.js and the browser that was created in 2011. I've been a maintainer since August 2025, so I'm certainly no expert yet, but I've used Mocha significantly for testing AHK++, a VS Code extension that provides language support for a niche programming language.

Priorities

  • Modernization: ESM support, modern Node versions, good dependencies
  • Stability: Test coverage, backporting fixes, minimal breaking changes

My key contributions

My roadmap for Mocha

You can view my prioritized backlog, but in summary: