For the first half of my career, most of my work has been in proprietary code bases. I'm steadily growing my open source contributions, and the more substantial ones will show up here.
This is an "image CDN" application which takes uploaded images, resizes and reencodes them in desired formats, and
store them on a CDN for use on the web. I originally wrote Effectum to power this project. (Better name pending?)
Most of the images on this site were processed through Pic Store.
Perceive was a semantic search experiment during December 2022 before RAG apps were dime-a-dozen, with a goal to catalog your files, browser history, and more, and make them all searchable through a single interface that understands what you mean, even if the right words aren't there.
Other Minor Projects
- codemirror-json5 is an NPM package providing JSON5 language support for the excellent CodeMirror editor component.
- SWR XState is a stale-while-revalidate data fetcher built with the XState state machine library. Originally developed for internal use at my company, it provides automatic periodic refreshes with browser focus tracking, exponential backoff, and other nice features. I also wrote an article about the implementation.
- Svelte Zoomable is an experiment in zoomable UI and advanced transitions in Svelte. This was a fun way to get better at understanding Svelte transitions, but ultimately I would favor a more traditional SVG zooming approach with some kind of level-of-detail based render switching, instead of pushing the limits of Svelte's transition system past what it was really good for.
- Fund the Rebuild brought attention to GoFundMe campaigns that were started in the wake of the 2020 riots. Currently dormant, but it was developed in a day and a half, and in the end was also useful in seeing how quickly I could get an MVP up and running.
- Palette Transformer transforms a color palette to fit any other color you want! I put this together after doing it manually once, and I wrote about the initial experience and the theory behind it here.