I build and share these tools. Some are just tiny npm packages, some are complete applications. You may want to have a quick look at:

Letter for iA Writer
An iA Writer template to create letters with correctly positioned address fields.
Breakdown for Atom
A package to be added to your Atom editor. It allows you to display and manipulate a breakdown structure of your Jira Scrum project.
A virtual whiteboard to be shared by multiple people at the same time.
Make any HTML table sortable.
Highlight the entries of your table of contents while scrolling.
A npm package to draw a SVG cumulative flow diagram and predict the anticipated completion of work.
A npm package with a sorted map and sorted set, implemented as a binary tree.

Below are all tools in the chronological order of their appearance.


A npm package to get the latest commit date for a given file path. As getting the commit date is a time consuming step (like …


A markdown-it plugin that provides an incomplete implementation of cooklang.org. I used the logic for a different thing than a cooking recipe. Instead, I described …


A markdown-it plugin to trim some whitespace from the resulting markup. The trimming occurs during the rendering process of the markup. Opening list items with …


A markdown-it plugin to wrap any <table> into a <div> for horizontal scrolling on narrow screens. Examples Install Usage Examples # Column | Column------ | …


A markdown-it plugin to set aspect-ratio of responsive images, make them lazy loading, and to make videos responsive. Images Wrapping media Install Usage Configuration Images …


Highlight the entries of your table of contents while scrolling

Compose CSS

Compose CSS is a personal investigation and tools-building effort. I´m trying to find out for myself what is useful to have in a CSS library …


A npm package to draw a SVG stacked area chart with a day-based x-axis.

Search help
Will match documents with words beginning with foo.
foo bar
Will match documents that contain foo or bar.
+foo bar -baz
Will match documents that must contain foo, might contain bar and must not contain baz.
Will match boo, as it requires a single (~1) edit (replacing f with b), but boot would not as it also requires an additional t at the end.