Ontario, Canada

Nathan Friend

Elite
@nfriend

Remote Software Engineer @ Stripe and cellist based out of Ontario. Previously @ GitLab. Fascinated with building usable, delightful software.

tree-online. An online tree-like utility for generating ASCII folder structure diagrams. Written in TypeScript and React.

373

inspiral-web. The web version of the Inspiral app.

286

ts-key-enum. A TypeScript string enum for compile-time safety when working with event.key

117

ts-keycode-enum. A TypeScript enum definition that maps human-friendly key names to JavaScript key codes

81

ldraw-visualizer. An in-browser LEGO model viewer, built using three.js and LDraw part files.

27

cooltojs. A Cool-to-JavaScript transpiler, written in TypeScript

25

angular-cli-customizer. A small command-line Node module that allows Angular CLI's Webpack config file to be customized

13

Rook. An online, multiplayer implementation of the classic card game Rook, using WebSockets.

10

nuxt-resume. My résumé, built with NuxtJS and Tailwind CSS.

9

ts-git. A naïve implementation of git, written in TypeScript. Built to help me understand how git works under the hood.

6

inspiral. Relive your childhood in pixel-perfect bliss.

6

origins-host. A js-box (DOSBox) app to allow my old QBASIC programs to live on through the internet

5

google-translate-xlf. A command-line utility to automatically translate .xlf translation files using Google Translate

4

NodeChat. A simple application to acquaint myself with Node.js, AngularJS, LESS, Grunt, Bower, and Yoeman.

4

wordle-solver. A bookmarklet and Twitter bot that automatically solves the daily Wordle puzzle

3

Theremin. A musical instrument using Chrome, the HTML5 Web Audio API, and a Leap Motion controller.

3

dynamicInput. jQuery plugin that allows for dynamically addition and removal of input boxes

3

Mandelbrot. A simple way to view the beauty of the Mandelbrot fractal

3

webgl-chess. Final project for HCI 557: Computer Graphics and Geometric Modeling at Iowa State University

2

bulletInput. A jQuery plugin that allows users to enter bullet-listed data in a simple, WYSIWYG manner.

2

snow-day-notifier. A small Lambda function that scrapes PEI's public schools website and sends alerts (through IFTTT) if school is delayed or closed.

2

lab-assistant. An Alexa skill for managing your open-source projects hosted on GitLab.com using your voice.

2

BrowserFS. BrowserFS is an in-browser filesystem that emulates the Node JS filesystem API and supports storing and retrieving files from various backends.

1

pi-hole. A black hole for Internet advertisements

1

AdminLTE. Pi-hole Dashboard for stats and more

1

wiki. A no-frills personal wiki, using vue.js and markdown-js.

1

toggleRadio. A jQuery plugin that makes standard radio buttons toggleable

1

stripe-connect-test-project. A project to test out Stripe Connect

1

toolbox. A collection of handy objects I've developed over the years - kept here for safe keeping

1

TutorialOverlay. A simple way to add "tutorial" overlays to existing WPF applications.

1

days-until. An Alexa skill that counts the number of days until special events.

1

Battleship. An online gameboard for multi-player Battleship.

1

Origins. All of my old QBasic programs, written when I was in grade school. Kept safe here for purely nostalgic reasons.

1

create-react-app-test. Testing a PR I made to CRA

1

Metronome. Metronome app for Android.

1

qmk_firmware. keyboard controller firmware for Atmel AVR and ARM USB families

1
36
Apply