This is a collection of projects I've created. It includes web sites, software, online tools and browser extensions.
Converts phrases (especially passwords) to the NATO alphabet so they're easier to say to someone. Built with Vuejs and Bulma.
Scrambles random words to help you practice unscrambling them. Built with Vuejs and Bulma.
Generate a diceware passphrase with a customizeable number of words and delimiter between each word, all done entirely in your browser. Built with Vuejs and Bulma.
Generate a password of a custom length and character set entirely in the browser. Built with Vuejs and Bulma.
Generate a time-based one time password (TOTP) entirely in the browser, allowing you to generate two-factor authentication tokens if you ever lose your phone. Built with Vuejs and Bulma.
Quickly read your Pocket links. Built with Lumen and Vuejs, using Pocket's API with OAuth2 for authorization.
Be inspired with nature backgrounds, quotes and soothing music. Built with Vuejs.
Over 700 riddles and brain teasers I've curated or written. Built with Wordpress and jQuery.
Consulting service to help solopreneurs solve their technical challenges. Built with Hugo.
Compare the cost of various transactional email providers based on how many emails you send each month. Built with AngularJS.
Charts the popularity of your name in the U.S. from 1880 to the present. Built with Laravel and AngularJS.
An easy way to add sites to the Google Authenticator or Duo Mobile apps when switching to a new phone. Built with jQuery.
Speed dial for the web. Lets you quickly and easily visit or search your favorite web sites. Written in PHP, jQuery, MySQL and Google's
OpenID 2.0 OpenID Connect for authentication.
Information and news for coin collectors. Built with
Movable Type Hugo.
Calculate your BMI based on height and weight. Built with Highcharts and jQuery.
Timed practice of addition, subtraction, multiplication, division, ages and tip problems. Built with jQuery.
A simple app that lets kids mash on the keyboard without messing anything up. Written as an excuse to write something in .NET.
Quick New Tab - Replaces Chrome's default new tab with a faster one by getting rid of the recently viewed site thumbnails.
Tab Position Customizer 2 - A copy of the old Tab Position Customizer with the junkware removed.
Calculators: Built with jQuery, AngularJS and Highcharts.
BrowserSpeak - Make your web browser say whatever you type.
Web comics in one spot - A variety of web comics retrieved via PHP regular expressions.
2014 Hour of Code - A collection of Python code I wrote to teach basic coding to my kids' 3rd and 4th grade classes for the annual Hour of Code.
Updated Jun 20, 2020