One of my favorite word puzzles, Crytogram (also known as Cryptoquote). Each emoji corresponds to a letter. Substitute all emojis for the correct letter to reveal a quote. Hope you enjoy it.

Cryptograma screenshot showing a puzzle being solved
Play Cryptograma!


One of my favourite games as a kid was playing concentration. It’s such a simple game, but I always enjoyed it immensely. This version is made with Next.js.

It has three levels based on the number of cards: 4×4, 6×6 and 10×10.  It also lets you set the speed at which cards flip back. And it allows you to choose from 3 sets of icons from React Icons.


iconcentration screenshot

Mayan Math

A Next.js application that teaches how Mayan base 20 math worked, and how they represented numbers. It allows you to create your own numbers, or to see how a particular number would be represented. I wrote more about this micro-site in Mayan Math Redo.

creating a number example

HTML5 Closing Tag Checker

One of the most common mistakes that people make while writing HTML is forgetting to close a tag, and while in some cases that doesn’t mean it’s invalid code (in HTML5 closing tags are optional for many elements in certain circumstances), some people like to cross all their t’s, dot all their i’s, and close all their tags.

The W3C validator won’t point out unclosed tags unless they are invalid. I search around for a service that would just find unclosed tags, and couldn’t find one I really liked, so I made my own:

Closing Tag Checker for HTML5