Open source
Things I built because I needed them.
Three of them, all still up. None was assigned; each one started as something I wanted and then kept, which is the only reason any of it got finished. The download numbers are small and shown as they are.


use-timed-flow
A tiny React hook to manage timed UI flows: auto-advance, pause, resume, reset, and loop, without timeout spaghetti.
Type
npm package · MIT
Installs
254
The API is deliberately small: pass steps, delay and loop, and get back current plus pause, resume and next. The hook owns the timer so a component never has to, which is the whole point, a carousel that pauses on hover is four lines instead of a useEffect cleaning up its own setTimeout.
Documented with two live demos rather than a README alone: a slideshow with a delay slider you can drag from 500ms to 5000ms, and a Pomodoro timer that shows per-step delays. Being able to feel the delay parameter explains the hook faster than any prose about it.


Type
Tool · Cloudflare Pages
Link life
7 days
Uploads up to 10MB, viewable in the browser without downloading, and every link expires automatically after seven days, the expiry is the feature rather than a limitation, because the common case is sharing a document once and not wanting it to outlive the conversation.
Deployed on Cloudflare Pages, which is also where this site is heading: static assets on an edge network, no server to keep warm, nothing to cold-start.


Saviee Libraries
Explore and use lightweight libraries, powerful React hooks, and useful tools that simplify common tasks.
Type
Site
Repos
91
The home for the above. Its framing is a question rather than a pitch: “Have you ever needed simple libraries, powerful React hooks, or useful tools? Me too!” That is the honest reason any of it exists, each one started as something I needed and then kept.
It signs off “I’d love to hear your feedback” and points at Twitter for suggestions, which is a more accurate description of how I work than anything on my previous portfolio managed to say.