Sergio Xalambrí

I'm a web developer from Buenos Aires, Argentina. I work at Daffy as a Web Developer.

Subscribe to my content using RSS.

  1. I read JSX Over The Wire and liked it

  2. I read The Back-end for Front-end Pattern (BFF) and liked it

  3. I published how to Use client_id and client_secret in OAuth2

  4. I published how to Use the OAuth2 Introspection Endpoint

  5. I published how to Revoke a Refresh Token in OAuth2

  6. I published how to Use PKCE in OAuth2 Authorization Code Flow

  7. I published how to Add Custom Claims to JWT Access Tokens

  8. I published how to Validate exp, iat, and nbf in JWTs

  9. I published how to Validate JWTs with JWKS

  10. I wrote about OAuth2 Access Token Claims Explained

  11. I wrote about OAuth2 Scopes Explained

  12. I published how to Test Middleware in React Router

  13. I wrote about OAuth2 Tokens Explained

  14. I wrote about OAuth2 Audience Explained

  15. I wrote about JWT vs. Opaque Tokens

  16. I published how to Use middleware in React Router

  17. I wrote about OAuth2 for Backend-for-Frontend

  18. I published how to Show a 404 in React Router

  19. I read Class methods are Ruby’s useEffect and liked it

  20. I read What I learned at Campsite and liked it

  21. I published how to Download a file from a React Router route

  22. I read How I Stay Sane Implementing Stripe and liked it

  23. I read Domain driven boldness and liked it

  24. I read Good concerns and liked it

  25. I read Vanilla Rails is plenty and liked it

  26. I read Active Record, nice and blended and liked it

  27. I read Globals, callbacks and other sacrileges and liked it

  28. I published how to Use Bullet to Detect N+1 Queries in Rails

  29. I published how to Load Dynamic Stylesheets in React Router

  30. I published how to Split routes config in React Router

  31. I published how to Configure the tracking branch in Git

  32. I published how to Reuse route modules in React Router

  33. I published how to Populate Your Rails Database with Fixtures

  34. I read You Can't Not Have a Framework and liked it

  35. I read This doesn't warrant a blog post and liked it

  36. I read Because I wanted to and liked it

  37. I wrote about Making Web Component good enough

  38. I read Layered Architectures with Laravel and liked it

  39. I read Don't Sleep on AbortController and liked it

  40. I published how to Stub a method in a class with Minitest

  41. I published how to Show toast after a Remix action

  42. I read Building a Proper REST API and liked it

  43. I read How I would do auth and liked it

  44. I read Card Stack and liked it

  45. I read Counterscale and the New Self-Hosted and liked it

  46. I wrote about On Frontend vs Backend

  47. I published how to Validate Form in Remix with clientAction

  48. I published how to Configure scoped private packages in Bun

  49. I read Building future facing frontend architectures and liked it

  50. I read Navigating the future of frontend and liked it

  51. I published how to Use package.json#bin to create a CLI

  52. I read Margin considered harmful and liked it

  53. I read In Loving Memory of Square Checkbox and liked it

  54. I read The Copenhagen Book and liked it

  55. I published how to Add i18n to a Remix Vite app

  56. I read Documenting Architecture Decisions and liked it

  57. I published how to Autoload the correct Node version with NVM

  58. I published how to Nest routes with dynamic params in Remix

  59. I published how to Build a simple login and logout with Remix

  60. I published how to Access Remix's loaders data in entry.client

  61. I published how to Handle not found URLs with Remix

  62. I published how to Add dynamic canonical URL to Remix routes

  63. I read Parallelized Decision Making and liked it

  64. I published how to Enable Remix ~/ aliased imports in Vitest

  65. I published how to Create a CRUD with Remix

  66. I read I miss RSS and liked it

  67. I read RSC is React Server + Component | bobae kang and liked it

  68. I published how to Call an action from a loader in Remix

  69. I published how to Use React Portal in Remix

  70. I published how to Defer a Fetch response in Remix

  71. I published how to Use a CDN for your static assets in Remix

  72. I published how to Build an app with Remix and Bun

  73. I read Designing better target sizes and liked it

  74. I published how to Find and remove unused code with Knip

  75. I published how to Create multiple top-level layouts in Remix

  76. I read Kind of annoyed at React and liked it

  77. I published how to Test meta tags using Playwright

  78. I read gilest.org: Make the indie web easier and liked it

  79. I read React Aria and liked it

  80. I published how to Prefetch data for Remix Fetcher usage

  81. I published how to Keep Your Loader Data Fresh in Remix

  82. I published how to Expose Remix Routes as API Endpoints

  83. I published how to Upload Images in a Remix Application

  84. I published how to Redirect with Search Param in Remix

  85. I published how to Access the Loader Data in Remix

  86. I published how to Get Remix route params `entry.server`

  87. I published how to Test meta tags with Cypress

  88. I read The ideal viewport doesn’t exist and liked it

  89. I read My thoughts on open-source and liked it

  90. I published how to Strongly type Remix route IDs

  91. I published how to Strongly type public assets in Remix

  92. I published how to Create a reusable Form component in Remix

  93. I read Social RSS and liked it

  94. I read The fediverse and the indieweb and liked it

  95. I read Blogging as DRY and liked it

  96. I read Generating income from open source and liked it

  97. I published how to Logout from Auth0 with Remix Auth

  98. I published how to Reset a form on success in Remix

  99. I published how to Send JSON to a Remix action

  100. I published how to Automatically commit sessions on Remix

  101. I published how to Customize Remix AppLoadContext type

  102. I published how to Turn on Caps Lock on Cypress

  103. I published how to Delete a Cookie using Remix cookie helpers

  104. I published how to Add runtime SSG and ISR to Remix

  105. I published how to Improve SEO by not sending JS in Remix

  106. I published how to Use AMP with Remix

  107. I published how to Use Remix as a SPA only

  108. I read A Theory of Web Relativity and liked it

  109. I published how to Add rolling sessions to Remix

  110. I published how to Use Server-Sent Events with Remix

  111. I published how to Use `process.env` client-side with Remix

  112. I published how to Persist inputs after a form submit in Remix

  113. I read Streaming: is it worth it? and liked it

  114. I read Prioritise content over components and liked it

  115. I published how to Lazy-load React components in Remix

  116. I read Overcoming Popular Issues With React Projects and liked it

  117. I read 💿 remix simplifies things and liked it

  118. I read Get in Zoomer, We're Saving React and liked it

  119. I wrote about Optional route segments with Remix

  120. I published how to Redirect to an external website with Remix

  121. I published how to Bubble up data on Remix routes

  122. I published how to Group related routes together in Remix

  123. I read What if your Index Page was Smart? and liked it

  124. I read How to Section Your HTML and liked it

  125. I published how to Parse Markdown with Markdoc in Remix

  126. I read RSS and liked it

  127. I wrote about Working with Refresh Tokens in Remix

  128. I read Device-Agnostic and liked it

  129. I published how to Optimize image loading with plain HTML

  130. I read Using rel=preload for responsive images and liked it

  131. I wrote about Multiple forms per route in Remix

  132. I read “Guys, we’re doing pagination wrong…” and liked it

  133. I published how to Add returnTo behavior to Remix Auth

  134. I read Survivorship Bias in Web Performance and liked it

  135. I read The "best" way to manage icons in React.js and liked it

  136. I published how to Run Tailwind and Remix in Parallel with PM2

  137. I published how to Use Remix with socket.io

  138. I published how to Run Next and Remix on the same server

  139. I wrote about HTTP vs. Server-side Cache in Remix

  140. I wrote about On-Demand Hydration in Remix

  141. I read Live validation is problematic and liked it

  142. I read Stop building client-side forms and liked it

  143. I wrote about The useMatches hook in Remix

  144. I published how to Test Remix loaders and actions

  145. I published how to Use NProgress in a Remix app

  146. I wrote about Result Objects in TS

  147. I wrote about Dark Mode and Dark Context

  148. I read When You Stop Counting and liked it

  149. I read Why I Quit Google to Work for Myself and liked it

  150. I published how to Use Fathom with Remix

  151. I read Why You Should Never Use MongoDB and liked it

  152. I read A Case For Use Cases and liked it

  153. I published how to Use Dependabot to keep Remix up-to-date

  154. I wrote about Automatic Revalidation in Remix

  155. I read People read on the web and liked it

  156. I read I Want To Confirm a Prompt That We Stay Alert and liked it

  157. I read Browsers and Representation and liked it

  158. I read Google vs. the web and liked it

  159. I read Back to the Bad Old Days of the Web and liked it

  160. I read The Mythical Document Web and liked it

  161. I read Breaking the web forward and liked it

  162. I read Back to the Future with RSS and liked it

  163. I read Client-Side Architecture Basics and liked it

  164. I read Screaming Architecture and liked it

  165. I read Anemic Domain Model and liked it

  166. I read Value Objects - DDD w/ TypeScript and liked it

  167. I read iOS 15, Humane and liked it

  168. I read Don't overabstract your components and liked it

  169. I read Meta Theme Color and Trickery and liked it

  170. I wrote about Using Service Workers with Remix

  171. I wrote about Localizing Remix apps with i18next

  172. I wrote about Adding CSRF protection to Remix

  173. I published how to Load only the data you need in Remix

  174. I wrote about Using TailwindCSS with Remix

  175. I published how to Use ETags in Remix

  176. I wrote about Jest Matchers for Remix responses

  177. I published how to Read search params with JS

  178. I wrote about Que es un bundler de JS

  179. I wrote about Remix vs Next.js Comparison

  180. I read Imagining native skip links and liked it

  181. I read Rails design patterns - The big picture and liked it

  182. I read Before You memo() and liked it

  183. I wrote about Usar variables de entorno en Next.js

  184. I read An Interactive Guide to CSS Transitions and liked it

  185. I published how to Build your own RSS Reader

  186. I read Preload: What Is It Good For? and liked it

  187. I read The unreasonable effectiveness of simple HTML and liked it

  188. I read Open Peeps and liked it

  189. I read System Design 101 and liked it

  190. I wrote about About

  191. I read In Critical Defense of Frontend Develop and liked it

  192. I read Be Wary of Nesting Roles and liked it

  193. I read Accessible SVGs and liked it

  194. I read Alt-texts: The Ultimate Guide and liked it

  195. I read Polymorphic React Components in TypeScript and liked it

  196. I read CSS and Scalability and liked it

  197. I wrote about Using MDX with Remote Content

  198. I read The UI and UX Tips Collection: Volume One. and liked it

  199. I read Practical React Query and liked it

  200. I read Don't design for mobile and liked it

  201. I read Stop Using “Drop-down” and liked it

  202. I read Decoupling, Architecture and Teams and liked it

  203. I read The Lava Layer Anti-Pattern and liked it

  204. I read UI as an afterthought and liked it

  205. I wrote about Todo lo que sé de SWR

  206. I read In 2020, what is "frontend" 🤨 and liked it

  207. I read Wormhole state management and liked it

  208. I read Todo el software está roto and liked it

  209. I read What is the Value of Browser Diversity? and liked it

  210. I read Margins and Composability in CSS and liked it

  211. I read Nailing Your First (Info-Product) Launch and liked it

  212. I read Defining Component APIs in React and liked it

  213. I read The Modern Front-End Design System Stack and liked it

  214. I read Architecting UIs for Change and liked it

  215. I read When frontend means full stack and liked it

  216. I read Building a Button Part 2: Hover Interactions and liked it

  217. I read Building a Button Part 1: Press Events and liked it

  218. I wrote about The States of the UI

  219. I read "Semantic" CSS and liked it

  220. I read Second-guessing the modern web and liked it

  221. I read A clean start for the web and liked it

  222. I wrote about What I Use

  223. I read Most tech content is bullshit and liked it

  224. I read The Art of UI Skeletons and liked it

  225. I read Shared Hook State with SWR and liked it

  226. I read Testing in the Frontend World and liked it

  227. I read The Real Dark Web and liked it

  228. I read The Elements of UI Engineering and liked it

  229. I read The Great Divide and liked it

  230. I read We have a problem with promises and liked it

  231. I read Taming the asynchronous beast with ES7 and liked it

  232. I read 7 Principles of Rich Web Applications and liked it

  233. I read 🌱 My blog is a digital garden, not a blog and liked it

  234. I read How the Blog Broke the Web and liked it

  235. I read How to Section Your HTML and liked it

  236. I read write on your own website and liked it

  237. I read Going Indie. Step 2: Reclaiming Content and liked it

  238. I read Just write and liked it

  239. I read The Documentation Compendium and liked it

  240. I read Why Text Buttons Hurt Mobile Usability and liked it

  241. I read The Power of Sensible Defaults and liked it

  242. I read HTML Reference and liked it

  243. I read CSS Reference and liked it

  244. I read The God Login and liked it

  245. I read Your Body Text Is Too Small and liked it

  246. I read Architecture as a burden and liked it

  247. I read Scaling React Server-Side Rendering and liked it

  248. I read Refactoring UI and liked it

  249. I read Cards and liked it

  250. I read Introducing Grial and liked it

  251. I read Usando socket.io en aplicaciones de Next.js and liked it

  252. I read Depurando aplicaciones de Node.js v8.0.0 and liked it

  253. I read Creando botones propios para Pulse Editor and liked it

  254. I read Te presentamos la nueva versión de Node.js and liked it

  255. I read Creando sitios estáticos con Next.js and liked it

  256. I read Implementando Pulse Editor and liked it

  257. I read Aplicación de escritorio Pulse and liked it

  258. I read Presentamos Pulse Editor and liked it

  259. I read Manejo de dependencias JavaScript con Yarn and liked it

  260. I read Introducción a JSON Web Tokens (JWT) and liked it

  261. I read ¿Qué es y para qué sirve Babel? and liked it

  262. I read ¿Qué es una aplicación isomórfica? and liked it

  263. I read Crea microservicios en Node.js con micro.js and liked it

  264. I read Usando React.js en el servidor con Django and liked it

  265. I read Estado inmutable con Redux e Immutable.js and liked it

  266. I read Componentes de Alto Orden en React.js and liked it

  267. I read Obteniendo datos en aplicaciones de Redux and liked it

  268. I read Usando Redux en el servidor con Socket.io and liked it

  269. I read Creando código modular con ducks de Redux and liked it

  270. I read Manejo de errores en Redux.js and liked it

  271. I read Migrando a Redux and liked it

  272. I read Ruteo en aplicaciones de Redux y React.js and liked it

  273. I read Glosario de términos de Redux and liked it

  274. I read Estructura de archivos Ducks para Redux.js and liked it

  275. I read Pruebas unitarias en Redux.js and liked it

  276. I read Acciones asíncronas en Redux.js and liked it

  277. I read Middlewares en Redux.js and liked it

  278. I wrote about Como me inicié en el desarrollo web

  279. I wrote about Why build a non-RESTful API

  280. I wrote about How shallow: true works in Rails

  281. I wrote about How I Organize React Applications

  282. I wrote about Data-Aware Components

  283. I wrote about Collected Notes TS Client

  284. I published how to Use SWR with Geolocation

  285. I wrote about Using Collected Notes as CMS

  286. I published how to Sync SWR cache with Web Storage

  287. I published how to Configure Google Suite MX records in Vercel

  288. I published how to Report Web Vitals in Next.js

  289. I published how to Purge unused CSS with TailwindCSS

  290. I published how to Use a scoped registry with Yarn

  291. I wrote about Using Immer with SWR to mutate data

  292. I wrote about Using Tailwind with Next.js

  293. I wrote about Using Paginated Data with SWR

  294. I wrote about Introduction to SWR

  295. I wrote about Feature Flags in React with Flagged

  296. I wrote about Next.js File Structure

  297. I wrote about Testing in Next.js: Dynamic Imports

  298. I wrote about Redirects in Next.js, the Best Way

  299. I wrote about Introducing Contentz

  300. I wrote about Career Titles and Levels in Tech

  301. I wrote about Deploy de Contentz a Netlify

  302. I wrote about Contentz es Omakase

  303. I wrote about Aplicaciones web con Zero Server

  304. I wrote about Presentando Contentz

  305. I wrote about Uso del prop children en React

  306. I wrote about Composición de Componentes en React

  307. I wrote about Tipos de datos en React

  308. I wrote about Componentes con React

  309. I wrote about Hola Mundo con React

  310. I wrote about Cargando React desde un CDN

  311. I wrote about Mi Static Site Generator ideal

  312. I wrote about Automatización con Shell Scripts

  313. I wrote about Conceptos básicos de JS: Array#push

  314. I wrote about Conceptos básicos de JS: Array#map

  315. I wrote about Scalable Real-Time Applications

  316. I wrote about React v16.6: lazy, memo y más

  317. I wrote about Introducción a MDX

  318. I wrote about Documentation, Lessons Learned

  319. I wrote about Documentación, Lecciones Aprendidas

  320. I wrote about Renderizando Markdown en React.js

  321. I wrote about Implementando un Servidor de GraphQL

  322. I wrote about Bye Platzi, hi ▲ZEIT

  323. I wrote about Introducción a GraphQL

  324. I wrote about Combinando React.js y Redux.js

  325. I wrote about Introducción a Redux.js

  326. I wrote about Compilando el Frontend con webpack

  327. I wrote about Introducción a ECMAScript 2016/7

  328. I wrote about Lo nuevo en React v0.14

  329. I wrote about Usando ECMAScript 6/2015 con Babel

  330. I wrote about Escribiendo CSS de la forma correcta

  331. I wrote about El módulo Flexbox de CSS3

  332. I wrote about JavaScript orientado a objetos