Apps, Tools, and Other Pages

Click the photos for a link and description.

For a more complete list of my projects, see my portfolio listing on this site's About page.

2D Gravity Simulations

JavaScript toy pages that simulate gravity in two dimensions.

First published in 2024.

Noise Flow Field

An image generator that uses a Perlin noise flow field.

First published in 2024.

Cascading Bloom Filters

A JavaScript app for playing with cascading bloom filters.

First published in 2024.

Click Counter

A simple JavaScript app for counting things in photos.

First published in 2024.

Fractal Trees

A JavaScript toy for generating fractal trees.

First published in 2024.

6174

Little JavaScript pages for playing with the 4-digit and k-digit Kaprekar Routines.

First published in 2023.

NFL Elo Power Rankings

NFL power rankings based on Elo ratings.

Written in Python, this project parses Wikipedia data, calculates Elo ratings, and outputs the above linked page. The project includes a test harness for adjusting Elo rating model parameters, which backtests the model on thousands of NFL games (more than 10 full seasons at the time of writing).

For more background, see my blog post here.

First published in 2023.

Partial String Match for Birds

An app to demonstrate partial string match for bird species names.
I tested out algorithms for finding partial string matches of bird species names, and found one that worked well enough, and ran fast enough, for use in smartphone apps (this would fix a gripe I have with the otherwise perfect eBird app).
I implemented the algorithm in JavaScript, and published pages for testing and running the algorithms. For more background, see my blog post here.

First published in 2023.

"Smarter Than a Chimp" game

A JavaScript game similar to one from this video: https://www.youtube.com/watch?v=zsXP8qeFF6A.

The source code is availble in its GitHub repository.

First published in 2023.

Water Jars game

A small JavaScript implementation of the game where, given three containers, water must be evenly divided between the largest pair. I also created a standalone solver page for any set of three containers.

The source code is availble in its GitHub repository.

First published in 2021.

Very Plotter

View the Mandelbrot set, and plots of a few mathematical sequences. This app uses JavaScript worker threads, the number of which can be updated on the fly.

The source code is availble in its GitHub repository.

First published in 2021.

qrcodejs

A JavaScript page for interactively generating QR codes.

The source code is availble in its GitHub repository.

First published in 2018.

screensavejs

A JavaScript page that paints a blurry rendition of any image file.

First published in 2018.

Black & White Box

JavaScript toy that finds a box (many are possible) describing the percentage of black and white pixels where the text itself is counted.

This was inspired by the xkcd #688 "Self-Description".

The source code is availble in my original jsfiddle.

First published in 2015.