41554 blogs · [ { "id": "01a087de-4da5-725f-8384-b32b9d5fa89b", "title": "Everything I know about good API design", "url": "https://www.seangoedecke.com/good-api-design/", "published_at": "2026-08-16T06:18:19+00:00" }, { "id": "01a087de-4da5-725f-8384-b32b9d7a786d", "title": "Your code is your responsibility, even if AI wrote it", "url": "https://blog.senko.net/your-code-is-your-responsibility-even-if-ai-wrote-it", "published_at": "2026-08-10T05:57:07+00:00" }, { "id": "01a087de-4da5-725f-8384-b32b9de80f73", "title": "No Meat Proxy", "url": "https://nomeatproxy.com", "published_at": "2026-08-06T16:48:16+00:00" }, { "id": "01a087de-4da5-725f-8384-b32b9eba7207", "title": "Make Regional HTTP Requests with Durable Objects", "url": "https://sergiodxa.com/tutorials/make-regional-http-requests-with-durable-objects", "published_at": "2026-07-29T04:51:13+00:00" }, { "id": "01a087de-4da5-725f-8384-b32b9fb66511", "title": "Add URL Normalization Middleware in React Router", "url": "https://sergiodxa.com/tutorials/add-url-normalization-middleware-in-react-router", "published_at": "2026-07-28T16:38:35+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba082ed6b", "title": "Think in Remix UI Instead of React", "url": "https://sergiodxa.com/tutorials/think-in-remix-ui-instead-of-react", "published_at": "2026-07-26T06:24:27+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba0877b1f", "title": "Hydrate Isolated UI with Remix Client Entries", "url": "https://sergiodxa.com/tutorials/hydrate-isolated-ui-with-remix-client-entries", "published_at": "2026-07-26T05:19:25+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba0c7c8c3", "title": "Multi-Entry Package Architecture", "url": "https://sergiodxa.com/articles/multi-entry-package-architecture", "published_at": "2026-07-23T23:16:12+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba17d27c5", "title": "Structuring a Bun Monorepo with Shared Packages", "url": "https://sergiodxa.com/articles/structuring-a-bun-monorepo-with-shared-packages", "published_at": "2026-07-23T22:45:00+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba25a9829", "title": "Create Animated Tab Indicators with CSS Variables", "url": "https://sergiodxa.com/tutorials/create-animated-tab-indicators-with-css-variables", "published_at": "2026-07-23T22:40:35+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba323f0fd", "title": "Compound Component Pattern in React", "url": "https://sergiodxa.com/articles/compound-component-pattern-in-react", "published_at": "2026-07-23T22:33:19+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba3c6a538", "title": "Building Accessible UI with React Aria Components", "url": "https://sergiodxa.com/articles/building-accessible-ui-with-react-aria-components", "published_at": "2026-07-23T22:13:33+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba44b9f76", "title": "Create a Copy Button for Code Blocks", "url": "https://sergiodxa.com/tutorials/create-a-copy-button-for-code-blocks", "published_at": "2026-07-23T21:58:44+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba4ee1816", "title": "Build a Type-Safe Markdown Pipeline with Markdoc", "url": "https://sergiodxa.com/tutorials/build-a-type-safe-markdown-pipeline-with-markdoc", "published_at": "2026-07-23T21:55:13+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba54b520a", "title": "Use waitUntil for Non-Blocking Cache Writes", "url": "https://sergiodxa.com/tutorials/use-waituntil-for-non-blocking-cache-writes", "published_at": "2026-07-23T19:26:43+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba62205ae", "title": "Build a Cache Abstraction for Cloudflare KV", "url": "https://sergiodxa.com/tutorials/build-a-cache-abstraction-for-cloudflare-kv", "published_at": "2026-07-23T19:25:31+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba6d09931", "title": "Use Client Hints for Server-Side Timezone Rendering", "url": "https://sergiodxa.com/tutorials/use-client-hints-for-server-side-timezone-rendering", "published_at": "2026-07-23T19:21:10+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba6e698d5", "title": "Add a Global Hotkey to a Remix UI Dialog", "url": "https://sergiodxa.com/tutorials/add-a-global-hotkey-to-a-remix-ui-dialog", "published_at": "2026-07-22T16:03:19+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba78d692a", "title": "Render JSX to images.Skip the browser.", "url": "https://takumi.kane.tw/", "published_at": "2026-07-02T15:31:01+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba7c24f9e", "title": "Build a Command-Driven Markdown Toolbar in React", "url": "https://sergiodxa.com/tutorials/build-a-command-driven-markdown-toolbar-in-react", "published_at": "2026-06-28T06:45:12+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba7f314a3", "title": "Handle Custom Invoker Commands in React", "url": "https://sergiodxa.com/tutorials/handle-custom-invoker-commands-in-react", "published_at": "2026-06-28T00:53:31+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba895db06", "title": "Build a User Menu in React with Invoker Popover Commands", "url": "https://sergiodxa.com/tutorials/build-a-user-menu-in-react-with-invoker-popover-commands", "published_at": "2026-06-28T00:22:34+00:00" }, { "id": "01a087de-4da5-725f-8384-b32ba95e8577", "title": "Prevent a Modal Dialog from Closing with request-close in React", "url": "https://sergiodxa.com/tutorials/prevent-a-modal-dialog-from-closing-with-request-close-in-react", "published_at": "2026-06-27T23:57:20+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225aef00b2", "title": "Open a Modal Dialog in React with the Invoker Commands API", "url": "https://sergiodxa.com/tutorials/open-a-modal-dialog-in-react-with-the-invoker-commands-api", "published_at": "2026-06-27T23:38:25+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225b758a09", "title": "Ship the policy, not the code", "url": "https://www.jayfreestone.com/writing/share-the-policy-not-the-code/", "published_at": "2026-06-23T06:20:58+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225c545bab", "title": "The Field Guide to Grid Lanes", "url": "https://gridlanes.webkit.org/", "published_at": "2026-06-12T06:21:39+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225c99be96", "title": "The Best Loading States Are No Loading States", "url": "https://jjenzz.com/best-loading-states-are-no-loading-states/", "published_at": "2026-06-01T13:18:09+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225ce3a905", "title": "How's Linear so fast? A technical breakdown", "url": "https://performance.dev/how-is-linear-so-fast-a-technical-breakdown", "published_at": "2026-05-29T16:26:08+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225d75931b", "title": "Use an `iife` Helper for Inline Control Flow in TypeScript", "url": "https://sergiodxa.com/tutorials/use-an-iife-helper-for-inline-control-flow-in-typescript", "published_at": "2026-05-15T03:48:46+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225e21fc73", "title": "How AI is Industrializing Software Engineering", "url": "https://sergiodxa.com/articles/the-industrialization-of-software-engineering", "published_at": "2026-05-14T04:39:08+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225e6019e4", "title": "Cancel `useFetcher().load()` Requests on Unmount in React Router", "url": "https://sergiodxa.com/tutorials/cancel-usefetcher-load-on-unmount-in-react-router", "published_at": "2026-05-13T21:38:18+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225eb592d2", "title": "The Boring Internet", "url": "https://www.terrygodier.com/the-boring-internet", "published_at": "2026-05-13T06:15:20+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225f53220f", "title": "When life gives you lemons, write better error messages", "url": "https://wix-ux.com/when-life-gives-you-lemons-write-better-error-messages-46c5223e1a2f", "published_at": "2026-05-10T05:26:40+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225f5c8549", "title": "Accept: text/markdown", "url": "https://acceptmarkdown.com/", "published_at": "2026-04-20T18:34:48+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225f62a55b", "title": "Domain structure for SaaS products", "url": "https://ghinda.com/blog/products/2020/domain-structure-for-saas-products.html", "published_at": "2026-04-13T23:59:17+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225f6454ef", "title": "The Vertical Codebase", "url": "https://tkdodo.eu/blog/the-vertical-codebase", "published_at": "2026-04-13T23:33:38+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0225f99a6b4", "title": "Details that make interfaces feel better", "url": "https://jakub.kr/writing/details-that-make-interfaces-feel-better", "published_at": "2026-03-11T04:48:41+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226051a459", "title": "Expand your hit areas", "url": "https://bazza.dev/craft/2026/hit-area", "published_at": "2026-03-10T23:40:22+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226073e9c2", "title": "Nobody Gets Promoted for Simplicity", "url": "https://terriblesoftware.org/2026/03/03/nobody-gets-promoted-for-simplicity/", "published_at": "2026-03-08T23:00:29+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226116c3ab", "title": "Why I don't use down migrations", "url": "https://freek.dev/2900-why-i-dont-use-down-migrations", "published_at": "2026-03-08T22:59:28+00:00" }, { "id": "01a087de-4da6-7230-9c82-c02261e40e5d", "title": "How we enabled Content Security Policy for everyone", "url": "https://buttondown.com/blog/2026-03-06-how-we-enabled-content-security-policy", "published_at": "2026-03-08T22:58:36+00:00" }, { "id": "01a087de-4da6-7230-9c82-c02262823a87", "title": "RESTful", "url": "https://sergiodxa.com/glossary#restful", "published_at": "2026-03-08T22:50:08+00:00" }, { "id": "01a087de-4da6-7230-9c82-c02263749fe6", "title": "MIME Type (aka Multipurpose Internet Mail Extensions Type)", "url": "https://sergiodxa.com/glossary#mime-type", "published_at": "2026-03-08T22:48:38+00:00" }, { "id": "01a087de-4da6-7230-9c82-c02263c9a04e", "title": "Same-Origin Policy", "url": "https://sergiodxa.com/glossary#same-origin-policy", "published_at": "2026-03-08T22:47:23+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226464b1c1", "title": "CORS (aka Cross-Origin Resource Sharing)", "url": "https://sergiodxa.com/glossary#cors", "published_at": "2026-03-08T22:46:01+00:00" }, { "id": "01a087de-4da6-7230-9c82-c02264ddd1ec", "title": "Bearer Token", "url": "https://sergiodxa.com/glossary#bearer-token", "published_at": "2026-03-08T22:45:23+00:00" }, { "id": "01a087de-4da6-7230-9c82-c022659ab2ce", "title": "OIDC (aka OpenID Connect)", "url": "https://sergiodxa.com/glossary#oidc", "published_at": "2026-03-08T22:44:33+00:00" }, { "id": "01a087de-4da6-7230-9c82-c02265f41433", "title": "OAuth2 (aka OAuth 2.0)", "url": "https://sergiodxa.com/glossary#oauth2", "published_at": "2026-03-08T22:43:34+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226625093f", "title": "GraphQL", "url": "https://sergiodxa.com/glossary#graphql", "published_at": "2026-03-08T22:42:56+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226660d759", "title": "REST (aka Representational State Transfer)", "url": "https://sergiodxa.com/glossary#rest", "published_at": "2026-03-08T22:42:24+00:00" }, { "id": "01a087de-4da6-7230-9c82-c022673a415c", "title": "XML (aka Extensible Markup Language)", "url": "https://sergiodxa.com/glossary#xml", "published_at": "2026-03-08T22:41:46+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226774dc03", "title": "JSON (aka JavaScript Object Notation)", "url": "https://sergiodxa.com/glossary#json", "published_at": "2026-03-08T22:41:06+00:00" }, { "id": "01a087de-4da6-7230-9c82-c022683f8aae", "title": "TLS (aka Transport Layer Security)", "url": "https://sergiodxa.com/glossary#tls", "published_at": "2026-03-08T22:40:21+00:00" }, { "id": "01a087de-4da6-7230-9c82-c022684ad3d7", "title": "TCP (aka Transmission Control Protocol)", "url": "https://sergiodxa.com/glossary#tcp", "published_at": "2026-03-08T22:39:35+00:00" }, { "id": "01a087de-4da6-7230-9c82-c02268f5be4a", "title": "IP (aka Internet Protocol)", "url": "https://sergiodxa.com/glossary#ip", "published_at": "2026-03-08T22:39:01+00:00" }, { "id": "01a087de-4da6-7230-9c82-c02269c5f30d", "title": "URI (aka Uniform Resource Identifier)", "url": "https://sergiodxa.com/glossary#uri", "published_at": "2026-03-08T22:38:28+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226a38207c", "title": "URL (aka Uniform Resource Locator)", "url": "https://sergiodxa.com/glossary#url", "published_at": "2026-03-08T22:37:47+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226a5a88db", "title": "DNS (aka Domain Name System)", "url": "https://sergiodxa.com/glossary#dns", "published_at": "2026-03-08T22:37:01+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226ab3708b", "title": "FTP (aka File Transfer Protocol)", "url": "https://sergiodxa.com/glossary#ftp", "published_at": "2026-03-08T22:36:20+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226affa5cf", "title": "CSS (aka Cascading Style Sheets)", "url": "https://sergiodxa.com/glossary#css", "published_at": "2026-03-08T22:35:43+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226bb63b86", "title": "HTML (aka Hypertext Markup Language)", "url": "https://sergiodxa.com/glossary#html", "published_at": "2026-03-08T22:35:07+00:00" }, { "id": "01a087de-4da6-7230-9c82-c0226c174a2f", "title": "HTTPS (aka Hypertext Transfer Protocol Secure)", "url": "https://sergiodxa.com/glossary#https", "published_at": "2026-03-08T22:34:29+00:00" }, { "id": "01a087de-4da7-7294-a748-be30fbe1e670", "title": "HTTP (aka Hypertext Transfer Protocol)", "url": "https://sergiodxa.com/glossary#http", "published_at": "2026-03-08T22:33:47+00:00" }, { "id": "01a087de-4da7-7294-a748-be30fc967bdc", "title": "WSS (aka WebSocket Secure)", "url": "https://sergiodxa.com/glossary#wss", "published_at": "2026-03-08T22:31:33+00:00" }, { "id": "01a087de-4da7-7294-a748-be30fd2f4ff7", "title": "Web API", "url": "https://sergiodxa.com/glossary#web-api", "published_at": "2026-03-08T22:30:52+00:00" }, { "id": "01a087de-4da7-7294-a748-be30fd6e3a42", "title": "Static Assets", "url": "https://sergiodxa.com/glossary#static-assets", "published_at": "2026-03-08T22:30:11+00:00" }, { "id": "01a087de-4da7-7294-a748-be30fdb6a87c", "title": "Routing", "url": "https://sergiodxa.com/glossary#routing", "published_at": "2026-03-08T22:29:39+00:00" }, { "id": "01a087de-4da7-7294-a748-be30fe13b6ba", "title": "Rendering", "url": "https://sergiodxa.com/glossary#rendering", "published_at": "2026-03-08T22:29:05+00:00" }, { "id": "01a087de-4da7-7294-a748-be30fe33068c", "title": "SSE (aka Server-Sent Events)", "url": "https://sergiodxa.com/glossary#sse", "published_at": "2026-03-08T22:27:20+00:00" }, { "id": "01a087de-4da7-7294-a748-be30fe877de5", "title": "WebSockets", "url": "https://sergiodxa.com/glossary#websockets", "published_at": "2026-03-08T22:26:21+00:00" }, { "id": "01a087de-4da7-7294-a748-be30ff3f28b2", "title": "Idempotency", "url": "https://sergiodxa.com/glossary#idempotency", "published_at": "2026-03-08T22:25:29+00:00" }, { "id": "01a087de-4da7-7294-a748-be30ff8c6782", "title": "CDN (aka Content Delivery Network)", "url": "https://sergiodxa.com/glossary#cdn", "published_at": "2026-03-08T22:24:57+00:00" }, { "id": "01a087de-4da7-7294-a748-be30fff88d07", "title": "Caching", "url": "https://sergiodxa.com/glossary#caching", "published_at": "2026-03-08T22:24:08+00:00" }, { "id": "01a087de-4da7-7294-a748-be3100002905", "title": "Rate Limiting", "url": "https://sergiodxa.com/glossary#rate-limiting", "published_at": "2026-03-08T22:23:37+00:00" }, { "id": "01a087de-4da7-7294-a748-be310068d935", "title": "Webhooks", "url": "https://sergiodxa.com/glossary#webhooks", "published_at": "2026-03-08T22:22:54+00:00" }, { "id": "01a087de-4da7-7294-a748-be3100e9ce45", "title": "Edge Runtime", "url": "https://sergiodxa.com/glossary#edge-runtime", "published_at": "2026-03-08T22:22:24+00:00" }, { "id": "01a087de-4da7-7294-a748-be31016da0d1", "title": "RSC (aka React Server Components)", "url": "https://sergiodxa.com/glossary#rsc", "published_at": "2026-03-08T22:21:43+00:00" }, { "id": "01a087de-4da7-7294-a748-be31025241ef", "title": "Optimistic UI", "url": "https://sergiodxa.com/glossary#optimistic-ui", "published_at": "2026-03-08T22:09:08+00:00" }, { "id": "01a087de-4da7-7294-a748-be3102ea5099", "title": "Progressive Enhancement", "url": "https://sergiodxa.com/glossary#progressive-enhancement", "published_at": "2026-03-08T22:07:19+00:00" }, { "id": "01a087de-4da7-7294-a748-be3103e1ce4c", "title": "PKCE (aka Proof Key for Code Exchange)", "url": "https://sergiodxa.com/glossary#pkce", "published_at": "2026-03-08T22:06:35+00:00" }, { "id": "01a087de-4da7-7294-a748-be3103e5a55d", "title": "Resource Server", "url": "https://sergiodxa.com/glossary#resource-server", "published_at": "2026-03-08T22:05:53+00:00" }, { "id": "01a087de-4da7-7294-a748-be310451e201", "title": "Authorization Server", "url": "https://sergiodxa.com/glossary#authorization-server", "published_at": "2026-03-08T22:05:21+00:00" }, { "id": "01a087de-4da7-7294-a748-be310514e004", "title": "Refresh Token", "url": "https://sergiodxa.com/glossary#refresh-token", "published_at": "2026-03-08T22:04:53+00:00" }, { "id": "01a087de-4da7-7294-a748-be3105a5202a", "title": "Access Token", "url": "https://sergiodxa.com/glossary#access-token", "published_at": "2026-03-08T22:04:08+00:00" }, { "id": "01a087de-4da7-7294-a748-be3105d6aca5", "title": "JWKS (aka JSON Web Key Set)", "url": "https://sergiodxa.com/glossary#jwks", "published_at": "2026-03-08T22:03:29+00:00" }, { "id": "01a087de-4da7-7294-a748-be3106a41871", "title": "JWK (aka JSON Web Key)", "url": "https://sergiodxa.com/glossary#jwk", "published_at": "2026-03-08T22:02:48+00:00" }, { "id": "01a087de-4da7-7294-a748-be3106b57fab", "title": "JWT (aka JSON Web Token)", "url": "https://sergiodxa.com/glossary#jwt", "published_at": "2026-03-08T22:02:04+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af903a9a731", "title": "API Gateway", "url": "https://sergiodxa.com/glossary#api-gateway", "published_at": "2026-03-08T22:01:02+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af903fb464b", "title": "Edge Functions", "url": "https://sergiodxa.com/glossary#edge-functions", "published_at": "2026-03-08T22:00:31+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af90454f0fb", "title": "Serverless", "url": "https://sergiodxa.com/glossary#serverless", "published_at": "2026-03-08T22:00:09+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af904736cc5", "title": "Microservices", "url": "https://sergiodxa.com/glossary#microservices", "published_at": "2026-03-08T21:59:09+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af904bcc62c", "title": "Monolith", "url": "https://sergiodxa.com/glossary#monolith", "published_at": "2026-03-08T21:58:37+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af905612e68", "title": "BFF (aka Backend for Frontend)", "url": "https://sergiodxa.com/glossary#bff", "published_at": "2026-03-08T21:58:07+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af905ce3462", "title": "Edge Rendering", "url": "https://sergiodxa.com/glossary#edge-rendering", "published_at": "2026-03-08T21:57:15+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af9062a9852", "title": "Streaming SSR", "url": "https://sergiodxa.com/glossary#streaming-ssr", "published_at": "2026-03-08T21:56:16+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af90636eb6e", "title": "Islands Architecture", "url": "https://sergiodxa.com/glossary#islands-architecture", "published_at": "2026-03-08T21:55:23+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af9067223d6", "title": "Partial Hydration", "url": "https://sergiodxa.com/glossary#partial-hydration", "published_at": "2026-03-08T21:53:04+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af907168edf", "title": "Hydration", "url": "https://sergiodxa.com/glossary#hydration", "published_at": "2026-03-08T21:52:12+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af907814eb4", "title": "Access React Router Context with AsyncLocalStorage", "url": "https://sergiodxa.com/tutorials/access-react-router-context-with-asynclocalstorage", "published_at": "2026-03-06T17:12:29+00:00" }, { "id": "01a087de-4da8-71d1-94be-1af9080624ce", "title": "Hire managers of one", "url": "https://signalvnoise.com/posts/1430-hire-managers-of-one", "published_at": "2026-03-05T03:29:38+00:00" } ] posts Claim your blog
Back to sergiodxa.com
Blog · corpus.blog/blogs/sergiodxa.com/posts

sergiodxa.com

sergiodxa.com

2026