Hobby Projects
Here are some hobby projects I've coded for fun in my spare time:
Connect Four
Connect Four is the classic strategy game where players take turns dropping colored discs into a vertical grid, aiming to connect four of their own discs in a row, column, or diagonally before their opponent can do the same. I had two main goals when I started this project: a rich "disc dropping" animation that went "through" the playing board (like the real game) and exploring logic to handle the computer's turn for it to decide where to play its next disc.
Concentration
A card game (also known as Match or Memory) where the player flips cards in pairs, trying to find matching cards. Originally a jQuery project, I ported it over to React and added some animations at the start for the cards being "dealt".
Minesweeper
A simple game to reveal all cells that do not have mines or to flag all cells that do. Revealed cells can be empty or show 1-8 to indicate the number of adjacent mines. Initially a jQuery project done for a job interview, upgraded afterwards for fun to allow simplistic saving & loading of games as well as cheating, eventually recreated in React.
Resizive
A portmanteau of Resize and Responsive, this was a proud project in the early days of responsive web design, before modern browser devtools made it irrelevant, now only (partially) maintained for nostalgia's sake. Originally a PHP/Coffescript/jQuery project, it was rewritten as an Express/NodeJS app, and eventually again in React. It was created to discover content-based breakpoints for media queries by resizing external sites via an iframe.
FontBeast
Another dated PHP/jQuery app ported to React for fun, it originally was created to explore the then-new 'canvas' element. The canvas will display an "image" of a textual logo with several customizations possible. The original version had a hardcoded list of fonts, whereas the current version pulls in all Google Fonts. Along with displaying the canvas preview, the code needed to recreate it is provided as well.