A sampling of the core technologies I have become talented in. There are always more things to learn, but I have found a lot of the underlying skills here to be transferrable as I explore new technologies.
This is my attempt at recreating Spotify but with some (imho improved) UI/UX as well as extend it with additional features.
This project is built on top of a custom scaffold I put together I call a PETT App.
At the core is Preact (a lightweight React alternative) coupled with some custom utilities and the Spotify API and Web Playback SDKs to enable a powerful native-like experience.
This is complemented by esbuild for 🔥 BLAZINGLY FAST 🔥 build times. So fast there isn't a need for a special dev server.
Note: This project is still a work in progress and is not accessible by users that have not been manually approved. This is a restriction imposed by Spotify. For access, just message me!
A demonstration eCommerce site for a Cafe.
This uses a custom Static Site Generator to build the site from Liquid templates and JSON Data. The whole build pipeline was architected from scratch.
This project was the 🏆 Winner 🏆 for Webjam 11!
A simple ESLint plugin to enforce the name of JS and TS module files matching to the names of their exports.
Rules:
match-named-export: Enforces that the filename matches to a named export.match-default-export: Enforces that filenames match the name of the default export.Born from my own difficulties using other wrapper libraries for Spotify, this library seeks to be the best possible API wrapper.
The beautiful Heroicons all bundled up as Preact components. Tree-shakable and Typed for use in any Preact project.
This project was a necessity, as the official Heroicons React components are not compatible with Preact typings, and of course also require preact-compat which just won't do.
Refactors initialization to gracefully handle multiple init calls and enabling options to delay initialization until the UI is needed.
Fixes a bug in which Space and Underscore key presses were being coerced into a 'minus' keypress in key handlers
To bring the functionality more inline with Vue's implementation of $nextTick, the magic returns a Promise that resolves when the callback is run.
Improves the performance of the DOM diff'ing algorithm, optimized for the most common scenarios.