Thing's I've Built

(which don't expose me as a completely incompetent programmer 😅)


I've been building software products for about 14 years now. Here's a list of things I've built – which I'm allowed to claim as my work (i.e. NDA-free), and which have survived in an identifiable form (either code or the app itself), and which don't utterly embarrass me.


Socket Wrench is a super simple, bare-bones, downloadable, cross platform, desktop GUI application, built using Electron, which makes testing websockets easy.

Github: asleepysamurai/socketwrench


YASS-Gen - Yet Another Static Site Generator. Yass-Gen is a zero config static site generator which allows you to build static sites using Handlebars enabled templates, and Markdown files extended with YAML FrontMatter.

This website is built using YASS-Gen.

Github: asleepysamurai/yass-gen

NPM: yass-gen

No Image Available


No Image Available

BlueJacket is a tiny (~125LOC) router, that provides simple, Express Style routing for both the server and the browser. It uses the popular middleware style of the ExpressJS router with a few tweaks for better readabilty.

Github: asleepysamurai/bluejacket

NPM: bluejacket


Mocktastic is a cross platform, downloadable, GUI desktop application, which allows you to easily mock up any REST API without having to write a single line of code. Anybody can create a mock API server, and then share it with their team, so the entire team can use it.

Under active development.

Website: Mocktastic


This extension picks 5 (or however many you want) random items from /newest and /shownew (or any one - weighted towards picking younger posts), and appends them to the top of the frontpage (and it's next pages). This way, you get exposed to a small dose of the newest posts, and your upvote might contribute towards getting that post to the actual front page, so more people can know about it.

Firefox: HN: ShowHN items in Frontpage

Chrome: Random New Items in Hacker News Frontpage

Gitlab: asleepysamurai/hn-new


Allows you to right click on links to open them in a new tab. An extension called 'Right Click Opens Link in New Tab' already allows you to do this exact same thing. Unfortunately it does not open the new tab in the same order as Chrome does. This extension opens the links you click in the same order that Chrome would open them by default.

Originally a Chrome only extension, was ported over to Firefox when Firefox started supporting Web Extensions.

Firefox: Right Click Link New Tab

Chrome: Right Click Opens Link New Tab Correct Order

No Image Available


No Image Available

Simple, minimal, tracking-free, lightning quick, drop-in, static comments plugin for your blog, web store, home page or any web site.

Website: Kisscomments


Map a domain name to any port on your machine. Basically, use http[s]://my.api.server instead of http[s]://localhost:5499. etcports starts a http proxy server, listening on ports 80 and 443 and proxies all requests through to the port mapping specified in /etc/ports file.

Github: asleepysamurai/etcports

NPM: etcports

No Image Available


No Image Available

Node.JS autoupdater built for Mocktastic. Can be used to autoupdate any node program, not just Electron apps. Supports minimal updates, and complete updates. Minimal updates save about 40MB-80MB depending on platform. Not published on NPM, for want of documentation.

Github: asleepysamurai/au


Hosted SaaS which came with a browser widget, allowing websites to easily allow their users to upload, edit and save their user avatars, instead of having to deal with Gravatar. Was shutdown after a year due to diminishing returns.

Bitbucket: asleepysamurai/avatarpicker


Hosted SAAS service which allowed you to create multiple user-onboarding tutorials by pointing and clicking using a browser extension on your app. My first attempt at passive income. Ran for two years before it was shut down due to diminishing returns.

Bitbucket: asleepysamurai/tourbuilder


REST API which allowed you to convert between timezones and perform cross-timezone arithmetic. It even did conversions based on the actual timezone rules that were in effect in the area, at the given time, that might no longer exist. Another victim of the Linode purge.

Bitbucket: asleepysamurai/timeninja

No Image Available


In a world before Web Components and React, UIBox.in was a curated list of javascript UI components, with licensing and dependency information. Went down with the 'Linode Plague of 2016'.

Bitbucket: asleepysamurai/uibox


A super minimal, distraction-free Markdown editor. The only interface it had was a blank screen, and two keyboard shortcuts for saving and previewing. Unfortunately did not survive the great 'Time I Forgot to Pay Linode' purge.

Github: asleepysamurai/pencil

No Image Available


Ghostfox Screenshot

An extension for Firefox which was aimed at mimicking the Ghostzilla Browser functionality in Firefox. Project was handed off to another developer, about three years after the initial launch.

Website: ghostfox.mozdev.org


And a lot more projects that shall remain consigned to nostalgia!