GraphQL @defer: Stop Letting Your Slowest Field Set Your Load TimeThe pitch for GraphQL is that a page asks for everything it needs in one request. The catch nobody puts on the slide: that one request is only as fast as its slowest field. Your product page has name,3d ago · 5 min readgrimicorn.hashnode.dev
bfcache: The Instant Back Button Your Site Is Probably BlockingYou can spend weeks shaving 200ms off your Largest Contentful Paint and still lose to a feature you never touched. Chrome's usage data shows that about 1 in 10 desktop navigations and 1 in 5 mobile na4d ago · 5 min readgrimicorn.hashnode.dev
LLM Evals Start as Thirty Test Cases, Not a PlatformYou tweak a system prompt to fix one bad answer a user reported. You try it on that example, it looks great, you ship. Two days later someone notices the feature now ignores the output format half the21K6d ago · 5 min readgrimicorn.hashnode.dev
Prompt Caching: Your Prompt's Prefix Is a Cache KeyLook at the input token count on a typical LLM feature and most of it is the same on every request. The system prompt, the tool definitions, the twelve few-shot examples, the product docs you stuffed 16d ago · 5 min readgrimicorn.hashnode.dev
Laravel 13 JSON:API Resources: Spec-Compliant Responses Without a PackageEvery team that builds a JSON API eventually has the same argument. Should relationships be nested or side-loaded? Is the ID a string or an integer? How does the client ask for fewer fields? You can sOct 31 · 5 min readgrimicorn.hashnode.dev