Code: Code

Found 5 posts with this tag

  • Browser Sage

    Got tired of copy-pasting articles into ChatGPT. So I made a Chrome side panel that does it for me. Browser Sage sits in your browser's side panel. Click it, pick what you want (summary, analysis, chat, verify), and it pulls the page content and sends it to whatever model you want through OpenRouter. The whole point of using OpenRouter is model choice. Not locked into GPT-4 or Claude. You get access to 600+ models, swap between them in settings, compare outputs.
  • OpenRouter: Deep Dive

    Why? I have been jumping between AI models a lot lately. Claude for some things. GPT for others. Gemini when I want to see if Google figured it out yet. Llama when I want something local-ish. And every time I switch, it is a different SDK, different auth, different request shape, different "why is this field named slightly differently" moment. At some point I found OpenRouter and ended up going pretty deep.
  • BreakerKit: Circuit Breaker Pattern

    Overview Every app eventually meets The Outside World. The Outside World is where "fetch" becomes: an API that is slow sometimes a dependency that is down right now a vendor that rate limits you for breathing too loudly a database that is fine until it is not When that happens, most systems fail in the dumbest possible way: they keep trying, they keep waiting, they pile up threads/promises/jobs, and then they fall over from the weight.
  • PhaseState: Minimal State Machine

    State machines are one of those patterns that sound academic until you actually need one. A form wizard with validation between steps. A connection that can be connecting, connected, disconnecting, or error. A game character that can be idle, walking, jumping, or dead, and dead should not transition to jumping. Every time I reach for a state machine library, I end up fighting it. Too much boilerplate, weird DSL, or a 50KB bundle for something that should be simple.
  • RouteBus: Type-Safe Event Bus

    I keep writing the same pub/sub code in every project. A thing happens. Other things need to know. So I create an event emitter. Then I realize I want type safety. Then I need it to work across browser tabs. Then across services. Then I am maintaining three different implementations that do almost the same thing. So I built RouteBus to stop doing that. The idea One event bus interface. Pluggable transports underneath.