Sergio XalambrΓ­

Sergio XalambrΓ­

Web Developer from Buenos Aires with 10+ years of experience. I work at Daffy and maintain several open-source libraries around React Router and OAuth2.

Subscribe to my content using RSS.

Activity

  1. πŸ”–

    I saved The Best Loading States Are No Loading States

  2. πŸ”–

    I saved How's Linear so fast? A technical breakdown

  3. πŸ“

    I wrote about The Industrialization of Software Engineering

  4. πŸ› οΈ

    I published how to Use an `iife` Helper for Inline Control Flow in TypeScript

  5. πŸ› οΈ

    I published how to Cancel `useFetcher().load()` on Unmount in React Router

  6. πŸ”–

    I saved The Boring Internet

  7. πŸ”–

    I saved When life gives you lemons, write better error messages

  8. πŸ”–

    I saved Accept: text/markdown

  9. πŸ”–

    I saved Domain structure for SaaS products

  10. πŸ”–

    I saved The Vertical Codebase

  11. πŸ”–

    I saved Details that make interfaces feel better

  12. πŸ”–

    I saved Expand your hit areas

  13. πŸ”–

    I saved Nobody Gets Promoted for Simplicity

  14. πŸ”–

    I saved Why I don't use down migrations

  15. πŸ”–

    I saved How we enabled Content Security Policy for everyone

  16. πŸ“˜

    I added the definition of RESTful

  17. πŸ“˜

    I added the definition of MIME Type

  18. πŸ“˜

    I added the definition of Same-Origin Policy

  19. πŸ“˜

    I added the definition of CORS

  20. πŸ“˜

    I added the definition of Bearer Token

  21. πŸ“˜

    I added the definition of OIDC

  22. πŸ“˜

    I added the definition of OAuth2

  23. πŸ“˜

    I added the definition of GraphQL

  24. πŸ“˜

    I added the definition of REST

  25. πŸ“˜

    I added the definition of XML

  26. πŸ“˜

    I added the definition of JSON

  27. πŸ“˜

    I added the definition of TLS

  28. πŸ“˜

    I added the definition of TCP

  29. πŸ“˜

    I added the definition of IP

  30. πŸ“˜

    I added the definition of URI

  31. πŸ“˜

    I added the definition of URL

  32. πŸ“˜

    I added the definition of DNS

  33. πŸ“˜

    I added the definition of FTP

  34. πŸ“˜

    I added the definition of CSS

  35. πŸ“˜

    I added the definition of HTML

  36. πŸ“˜

    I added the definition of HTTPS

  37. πŸ“˜

    I added the definition of HTTP

  38. πŸ“˜

    I added the definition of WSS

  39. πŸ“˜

    I added the definition of Web API

  40. πŸ“˜

    I added the definition of Static Assets

  41. πŸ“˜

    I added the definition of Routing

  42. πŸ“˜

    I added the definition of Rendering

  43. πŸ“˜

    I added the definition of SSE

  44. πŸ“˜

    I added the definition of WebSockets

  45. πŸ“˜

    I added the definition of Idempotency

  46. πŸ“˜

    I added the definition of CDN

  47. πŸ“˜

    I added the definition of Caching

  48. πŸ“˜

    I added the definition of Rate Limiting

  49. πŸ“˜

    I added the definition of Webhooks

  50. πŸ“˜

    I added the definition of Edge Runtime

  51. πŸ“˜

    I added the definition of RSC

  52. πŸ“˜

    I added the definition of Optimistic UI

  53. πŸ“˜

    I added the definition of Progressive Enhancement

  54. πŸ“˜

    I added the definition of PKCE

  55. πŸ“˜

    I added the definition of Resource Server

  56. πŸ“˜

    I added the definition of Authorization Server

  57. πŸ“˜

    I added the definition of Refresh Token

  58. πŸ“˜

    I added the definition of Access Token

  59. πŸ“˜

    I added the definition of JWKS

  60. πŸ“˜

    I added the definition of JWK

  61. πŸ“˜

    I added the definition of JWT

  62. πŸ“˜

    I added the definition of API Gateway

  63. πŸ“˜

    I added the definition of Edge Functions

  64. πŸ“˜

    I added the definition of Serverless

  65. πŸ“˜

    I added the definition of Microservices

  66. πŸ“˜

    I added the definition of Monolith

  67. πŸ“˜

    I added the definition of BFF

  68. πŸ“˜

    I added the definition of Edge Rendering

  69. πŸ“˜

    I added the definition of Streaming SSR

  70. πŸ“˜

    I added the definition of Islands Architecture

  71. πŸ“˜

    I added the definition of Partial Hydration

  72. πŸ“˜

    I added the definition of Hydration

  73. πŸ› οΈ

    I published how to Access React Router Context with AsyncLocalStorage

  74. πŸ”–

    I saved Hire managers of one

  75. πŸ› οΈ

    I published how to Create a Per-Request Database Instance with Middleware

  76. πŸ› οΈ

    I published how to Create a Multi-Directory Route Organization in React Router

  77. πŸ› οΈ

    I published how to Use Sec-Fetch Headers for CSRF Protection

  78. πŸ”–

    I saved SQLite-on-the-Server Is Misunderstood: Better At Hyper-Scale Than Micro-Scale

  79. πŸ“

    I wrote about React Router Loaders and Actions as Integration Points

  80. πŸ”–

    I saved The Too Early Breakpoint

  81. πŸ”–

    I saved More invoker commands, and more reasons not to use JavaScript please

  82. πŸ”–

    I saved sergiodxa/agent-skills

  83. πŸ”–

    I saved The Incredible Overcomplexity of the Shadcn Radio Button

  84. πŸ”–

    I saved Affordances: The Missing Layer in Frontend Architecture

  85. πŸ”–

    I saved Confirmation dialogs with zero JavaScript

  86. πŸ”–

    I saved Stylish dialogs

  87. πŸ”–

    I saved Logging Sucks - Your Logs Are Lying To You

  88. πŸ”–

    I saved Micro-libraries need to die already

  89. πŸ”–

    I saved The stacking workflow

  90. πŸ”–

    I saved Composition Is All You Need by Fernando Rojo at React Universe Conf 2025

  91. πŸ”–

    I saved Tips for good UI implementation

  92. πŸ› οΈ

    I published how to Dedupe Server Calls with Remix Utils Batcher

  93. πŸ› οΈ

    I published how to Transform FormData Between UI and Database in React Router

  94. πŸ”–

    I saved The Perils of Reactivity

  95. πŸ“

    I wrote about How Architecture Patterns Shape Development

  96. πŸ› οΈ

    I published how to Build a Master-Detail UI with React Router

  97. πŸ› οΈ

    I published how to Leverage React Router's Built-in Data Deduplication

  98. πŸ”–

    I saved No, you don't want to hire "the best engineers'

  99. πŸ› οΈ

    I published how to Redirect Based on Screen Size in React Router

  100. πŸ› οΈ

    I published how to Avoid Waterfalls in React Suspense

  101. πŸ› οΈ

    I published how to Handle deferred data in React Router

  102. πŸ› οΈ

    I published how to Use Action Routes in React Router

  103. πŸ”–

    I saved Prefer Gaps To Margins

  104. πŸ”–

    I saved Syntax Highlighting code snippets with Prism and the Custom Highlight API

  105. πŸ”–

    I saved Resilient Import Maps - Better Theme Development and Beyond

  106. πŸ”–

    I saved Toasts are Bad UX

  107. πŸ”–

    I saved The XY Problem

  108. πŸ”–

    I saved Don't ask to ask, just ask

  109. πŸ”–

    I saved no hello

  110. πŸ”–

    I saved never just

  111. πŸ› οΈ

    I published how to Add a Color Scheme Toggle in React Router

  112. πŸ”–

    I saved JSX Over The Wire

  113. πŸ”–

    I saved The Back-end for Front-end Pattern (BFF)

  114. πŸ› οΈ

    I published how to Debounce Loaders and Actions in React Router

  115. πŸ› οΈ

    I published how to Use client_id and client_secret in OAuth2

  116. πŸ› οΈ

    I published how to Use the OAuth2 Introspection Endpoint

  117. πŸ› οΈ

    I published how to Revoke a Refresh Token in OAuth2

  118. πŸ› οΈ

    I published how to Use PKCE in OAuth2 Authorization Code Flow

  119. πŸ› οΈ

    I published how to Add Custom Claims to JWT Access Tokens

  120. πŸ› οΈ

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

  121. πŸ› οΈ

    I published how to Use `scope` to Authorize Actions in Your API

  122. πŸ› οΈ

    I published how to Validate JWTs with JWKS

  123. πŸ“

    I wrote about OAuth2 Access Token Claims Explained

  124. πŸ“

    I wrote about OAuth2 Scopes Explained

  125. πŸ› οΈ

    I published how to Create a Per-Request Singleton with React Router Middleware

  126. πŸ› οΈ

    I published how to Test Middleware in React Router

  127. πŸ“

    I wrote about OAuth2 Tokens Explained

  128. πŸ“

    I wrote about OAuth2 Audience Explained

  129. πŸ“

    I wrote about JWT vs. Opaque Tokens

  130. πŸ› οΈ

    I published how to Use middleware in React Router

  131. πŸ”–

    I saved Maybe don't navigate(-1) in Remix/React Router

  132. πŸ“

    I wrote about OAuth2 for Backend-for-Frontend

  133. πŸ› οΈ

    I published how to Show a 404 in React Router

  134. πŸ”–

    I saved Class methods are Ruby’s useEffect

  135. πŸ”–

    I saved What I learned at Campsite

  136. πŸ“

    I wrote about Throwing vs. Returning Redirects in React Router

  137. πŸ› οΈ

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

  138. πŸ”–

    I saved How I Stay Sane Implementing Stripe

  139. πŸ”–

    I saved Where to put concernsImprove readabilityEnhance, but not replace, rich object modelsConclusions

  140. πŸ”–

    I saved Domain driven boldness

  141. πŸ”–

    I saved Good concerns

  142. πŸ”–

    I saved Vanilla Rails is plenty

  143. πŸ”–

    I saved Active Record, nice and blended

  144. πŸ”–

    I saved Globals, callbacks and other sacrileges

  145. πŸ› οΈ

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

  146. πŸ› οΈ

    I published how to Use Pandoc to convert a Markdown to a PDF and ePUB

  147. πŸ› οΈ

    I published how to Load Dynamic Stylesheets in React Router

  148. πŸ› οΈ

    I published how to Split routes config in React Router

  149. πŸ› οΈ

    I published how to Configure the tracking branch in Git

  150. πŸ› οΈ

    I published how to Reuse route modules in React Router

  151. πŸ”–

    I saved Stop just using β€œFrontend” or β€œBackend” to describe the Engineering you like

  152. πŸ› οΈ

    I published how to Populate Your Rails Database with Fixtures

  153. πŸ”–

    I saved You Can't Not Have a Framework

  154. πŸ”–

    I saved This doesn't warrant a blog post

  155. πŸ”–

    I saved Because I wanted to

  156. πŸ“

    I wrote about Making Web Component good enough

  157. πŸ”–

    I saved Layered Architectures with Laravel

  158. πŸ”–

    I saved Don't Sleep on AbortController

  159. πŸ› οΈ

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

  160. πŸ› οΈ

    I published how to Show toast after a Remix action

  161. πŸ”–

    I saved Building a Proper REST API

  162. πŸ”–

    I saved How I would do auth

  163. πŸ› οΈ

    I published how to Simplify Component Imports with TypeScript Namespaces

  164. πŸ”–

    I saved Card Stack

  165. πŸ”–

    I saved Counterscale and the New Self-Hosted

  166. πŸ“

    I wrote about On Frontend vs Backend

  167. πŸ› οΈ

    I published how to Validate Form in Remix with clientAction

  168. πŸ› οΈ

    I published how to Generate Cloudflare environment type with wrangler

  169. πŸ› οΈ

    I published how to Configure scoped private packages in Bun

  170. πŸ“

    I wrote about When to use Route Modal in React Router

  171. πŸ”–

    I saved Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity

  172. πŸ”–

    I saved Ultimate guide to multi-tenant SaaS data modeling

  173. πŸ”–

    I saved Migrating from Radix to React Aria: Improving Accessibility and UX

  174. πŸ”–

    I saved Creating a pointer-friendly submenu experience

  175. πŸ”–

    I saved Building like it's 1984: A comprehensive guide to creating intuitive context menus

  176. πŸ”–

    I saved Building future facing frontend architectures

  177. πŸ”–

    I saved Navigating the future of frontend

  178. πŸ› οΈ

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

  179. πŸ”–

    I saved Margin considered harmful

  180. πŸ”–

    I saved In Loving Memory of Square Checkbox

  181. πŸ› οΈ

    I published how to Access location.state in Remix loaders and actions

  182. πŸ”–

    I saved The Copenhagen Book

  183. πŸ› οΈ

    I published how to Add i18n to a Remix Vite app

  184. πŸ”–

    I saved Documenting Architecture Decisions

  185. πŸ› οΈ

    I published how to Autoload the correct Node version with NVM

  186. πŸ“˜

    I added the definition of HDR

  187. πŸ“˜

    I added the definition of HMR

  188. πŸ“˜

    I added the definition of PPR

  189. πŸ“˜

    I added the definition of ISR

  190. πŸ“˜

    I added the definition of SSG

  191. πŸ“˜

    I added the definition of PESPA

  192. πŸ“˜

    I added the definition of PEMPA

  193. πŸ› οΈ

    I published how to Nest routes with dynamic params in Remix

  194. πŸ› οΈ

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

  195. πŸ› οΈ

    I published how to Access React Router's loader data from a route ErrorBoundary

  196. πŸ› οΈ

    I published how to Access React Router's Loaders Data in entry.client

  197. πŸ› οΈ

    I published how to Handle not found URLs with Remix

  198. πŸ› οΈ

    I published how to Persist the User Locale Using Cookies with React Router and i18next

  199. πŸ› οΈ

    I published how to Add dynamic canonical URL to Remix routes

  200. πŸ”–

    I saved Parallelized Decision Making

  201. πŸ› οΈ

    I published how to Add custom attributes to Markdoc code fences

  202. πŸ› οΈ

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

  203. πŸ“˜

    I added the definition of API

  204. πŸ“˜

    I added the definition of MPA

  205. πŸ“˜

    I added the definition of SPA

  206. πŸ“˜

    I added the definition of CSR

  207. πŸ“˜

    I added the definition of SSR

  208. πŸ› οΈ

    I published how to Add syntax highlight to Markdoc using Prism.js

  209. πŸ› οΈ

    I published how to Create a CRUD with Remix

  210. πŸ”–

    I saved I miss RSS

  211. πŸ”–

    I saved RSC is React Server + Component | bobae kang

  212. πŸ› οΈ

    I published how to Pass Cookies from a React Router Loader to an External API

  213. πŸ› οΈ

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

  214. πŸ› οΈ

    I published how to Use React Portal in Remix

  215. πŸ› οΈ

    I published how to Prevent the React Router Loader to Run after Document Request

  216. πŸ”–

    I saved Passkey-Based Auth in Remix (feat. Alex Anderson) - YouTube

  217. πŸ”–

    I saved Remix Movies: build a movie browser with Remix - YouTube

  218. πŸ”–

    I saved Trellix: build a Trello clone using Remix - YouTube

  219. πŸ› οΈ

    I published how to Defer a Fetch response in Remix

  220. πŸ› οΈ

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

  221. πŸ› οΈ

    I published how to Get the absolute URL in Remix's MetaFunction

  222. πŸ› οΈ

    I published how to Build an app with Remix and Bun

  223. πŸ”–

    I saved Designing better target sizes

  224. πŸ› οΈ

    I published how to Find and remove unused code with Knip

  225. πŸ› οΈ

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

  226. πŸ”–

    I saved Kind of annoyed at React

  227. πŸ”–

    I saved Increasingly miffed about the state of React releases

  228. πŸ”–

    I saved The Website vs. Web App Dichotomy Does Not Exist

  229. πŸ› οΈ

    I published how to Test meta tags using Playwright

  230. πŸ”–

    I saved gilest.org: Make the indie web easier

  231. πŸ”–

    I saved Why Fetch Promise Does Not Reject on Error Responses

  232. πŸ”–

    I saved A Well-Known Links Resource - Jim Nielsen’s Blog

  233. πŸ”–

    I saved The OG Social Network: Other People’s Websites - Jim Nielsen’s Blog

  234. πŸ”–

    I saved Rationale for a Browser-Level Color Scheme Preference - Jim Nielsen’s Blog

  235. πŸ”–

    I saved A Well Known URL For Your Personal Avatar - Jim Nielsen’s Blog

  236. πŸ”–

    I saved React Aria

  237. πŸ”–

    I saved Stop Lying to Your Users | Epic Web Dev by Kent C. Dodds

  238. πŸ› οΈ

    I published how to Prefetch data for Remix Fetcher usage

  239. πŸ› οΈ

    I published how to Keep Your Loader Data Fresh in Remix

  240. πŸ› οΈ

    I published how to Expose Remix Routes as API Endpoints

  241. πŸ› οΈ

    I published how to Access the Search Params of a Request in React Router

  242. πŸ› οΈ

    I published how to Upload Images in a Remix Application

  243. πŸ› οΈ

    I published how to Redirect with Search Param in Remix

  244. πŸ› οΈ

    I published how to Access the Loader Data in Remix

  245. πŸ› οΈ

    I published how to Abort Async Calls Inside Remix Loaders and Actions

  246. πŸ› οΈ

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

  247. πŸ› οΈ

    I published how to Test meta tags with Cypress

  248. πŸ”–

    I saved Challenging Established Norms: Making Component Fetching the Exception

  249. πŸ”–

    I saved Be the browser’s mentor, not its micromanager

  250. πŸ”–

    I saved The ideal viewport doesn’t exist

  251. πŸ”–

    I saved My thoughts on open-source

  252. πŸ› οΈ

    I published how to Strongly type Remix route IDs

  253. πŸ› οΈ

    I published how to Strongly type public assets in Remix

  254. πŸ› οΈ

    I published how to Create a reusable Form component in Remix

  255. πŸ› οΈ

    I published how to Sync text input with URLSearchParam in Remix

  256. πŸ”–

    I saved Social RSS

  257. πŸ”–

    I saved The fediverse and the indieweb

  258. πŸ”–

    I saved Blogging as DRY

  259. πŸ”–

    I saved Everything You Can Test In Your Laravel Application

  260. πŸ”–

    I saved Dear Open Source: let’s do a better job of asking for money

  261. πŸ”–

    I saved Don't make me think, or why I switched to Rails from JavaScript SPAs

  262. πŸ”–

    I saved Generating income from open source

  263. πŸ› οΈ

    I published how to Use TanStack Query to Share Data between React Router Loaders

  264. πŸ› οΈ

    I published how to Logout from Auth0 with Remix Auth

  265. πŸ› οΈ

    I published how to Send Node.js ReadStream objects from Remix loaders

  266. πŸ› οΈ

    I published how to Reset a form on success in Remix

  267. πŸ› οΈ

    I published how to Use `qs.parse` to use nested form fields in Remix

  268. πŸ› οΈ

    I published how to Send JSON to a Remix action

  269. πŸ› οΈ

    I published how to Set Multiple Cookies in the Same Response in React Router Loaders

  270. πŸ› οΈ

    I published how to Close SSE connection from the server in Remix

  271. πŸ› οΈ

    I published how to Measure performance with the Server-Timing header in React Router

  272. πŸ› οΈ

    I published how to Automatically commit sessions on Remix

  273. πŸ› οΈ

    I published how to Customize Remix AppLoadContext type

  274. πŸ”–

    I saved Client-side JavaScript and React criticism: What comes next?

  275. πŸ› οΈ

    I published how to Turn on Caps Lock on Cypress

  276. πŸ”–

    I saved Fast and maintainable patterns for fetching from a database

  277. πŸ› οΈ

    I published how to Delete a Cookie using Remix cookie helpers

  278. πŸ› οΈ

    I published how to Add runtime SSG and ISR to Remix

  279. πŸ› οΈ

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

  280. πŸ› οΈ

    I published how to Use AMP with Remix

  281. πŸ› οΈ

    I published how to Use Remix as a SPA only

  282. πŸ”–

    I saved A Theory of Web Relativity

  283. πŸ› οΈ

    I published how to Downgrade to MPA if Users Prefer Reduced Data in React Router

  284. πŸ› οΈ

    I published how to Add rolling sessions to Remix

  285. πŸ› οΈ

    I published how to Use Server-Sent Events with Remix

  286. πŸ› οΈ

    I published how to Progressively Enhance the useFetcher Hook in React Router

  287. πŸ› οΈ

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

  288. πŸ› οΈ

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

  289. πŸ”–

    I saved Streaming: is it worth it?

  290. πŸ”–

    I saved Prioritise content over components

  291. πŸ“

    I wrote about Throwing vs. Returning responses in Remix

  292. πŸ› οΈ

    I published how to Lazy-load React components in Remix

  293. πŸ”–

    I saved Overcoming Popular Issues With React Projects

  294. πŸ”–

    I saved πŸ’Ώ remix simplifies things

  295. πŸ”–

    I saved Progressively enhance for a more resilient web

  296. πŸ”–

    I saved Get in Zoomer, We're Saving React

  297. πŸ“

    I wrote about Optional route segments with Remix

  298. πŸ› οΈ

    I published how to Destroy User Session and While Setting a Flash Message in React Router

  299. πŸ› οΈ

    I published how to Add additional data before submitting on Remix

  300. πŸ› οΈ

    I published how to Redirect to an external website with Remix

  301. πŸ› οΈ

    I published how to Bubble up data on Remix routes

  302. πŸ› οΈ

    I published how to Group related routes together in Remix

  303. πŸ”–

    I saved What if your Index Page was Smart?

  304. πŸ”–

    I saved Building websites for Safari Reader Mode and other reading apps

  305. πŸ”–

    I saved How to Section Your HTML

  306. πŸ”–

    I saved Block Links: The Search for a Perfect Solution

  307. πŸ› οΈ

    I published how to Parse Markdown with Markdoc in Remix

  308. πŸ“

    I wrote about Dependency injection in Remix loaders and actions

  309. πŸ“

    I wrote about Using Zod to safely read env variables

  310. πŸ”–

    I saved Debug your server-side Remix code using VSCode

  311. πŸ”–

    I saved RSS

  312. πŸ“

    I wrote about Working with Refresh Tokens in Remix

  313. πŸ”–

    I saved Device-Agnostic

  314. πŸ“

    I wrote about E2E test Remix with Vitest and Puppeteer

  315. πŸ› οΈ

    I published how to Optimize image loading with plain HTML

  316. πŸ”–

    I saved Using rel=preload for responsive images

  317. πŸ“

    I wrote about Multiple forms per route in Remix

  318. πŸ”–

    I saved How to avoid layout shifts caused by web fonts

  319. πŸ”–

    I saved β€œGuys, we’re doing pagination wrong…”

  320. πŸ”–

    I saved Why Remix doesn’t infer types from loaders for useLoaderData

  321. πŸ› οΈ

    I published how to Add returnTo behavior to Remix Auth

  322. πŸ”–

    I saved Survivorship Bias in Web Performance

  323. πŸ“

    I wrote about Building a Command Palette with Remix and Tailwind UI

  324. πŸ› οΈ

    I published how to Share session and cookies between Next and Remix

  325. πŸ› οΈ

    I published how to Fix double data request when prefetching in Remix

  326. πŸ”–

    I saved The "best" way to manage icons in React.js

  327. πŸ› οΈ

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

  328. πŸ› οΈ

    I published how to Use Remix with socket.io

  329. πŸ› οΈ

    I published how to Generate a PDF in Remix with Resource Routes

  330. πŸ› οΈ

    I published how to Avoid waterfalls of queries in Remix loaders

  331. πŸ› οΈ

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

  332. πŸ“

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

  333. πŸ“

    I wrote about Clase rΓ‘pida de programaciΓ³n asΓ­ncrona

  334. πŸ“

    I wrote about On-Demand Hydration in Remix

  335. πŸ”–

    I saved Live validation is problematic

  336. πŸ”–

    I saved Stop building client-side forms

  337. πŸ“

    I wrote about Loader vs Route Cache Headers in Remix

  338. πŸ“

    I wrote about The useMatches hook in Remix

  339. πŸ“

    I wrote about Validating Remix forms with Constraints API

  340. πŸ› οΈ

    I published how to Test Remix loaders and actions

  341. πŸ› οΈ

    I published how to Use NProgress in a Remix app

  342. πŸ“

    I wrote about Result Objects in TS

  343. πŸ“

    I wrote about Dark Mode and Dark Context

  344. πŸ”–

    I saved Why Decentralization Isn't as Important as You Think

  345. πŸ”–

    I saved When You Stop Counting

  346. πŸ”–

    I saved Why I Quit Google to Work for Myself

  347. πŸ› οΈ

    I published how to Use Fathom with Remix

  348. πŸ”–

    I saved Don’t Build A General Purpose API To Power Your Own Front End

  349. πŸ”–

    I saved Why You Should Never Use MongoDB

  350. πŸ”–

    I saved A Case For Use Cases

  351. πŸ› οΈ

    I published how to Fix `gyp: No Xcode or CLT version detected!` error

  352. πŸ› οΈ

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

  353. πŸ“

    I wrote about Automatic Revalidation in Remix

  354. πŸ”–

    I saved People read on the web

  355. πŸ”–

    I saved Why we use progressive enhancement to build GOV.UK

  356. πŸ”–

    I saved Building a resilient frontend using progressive enhancement

  357. πŸ”–

    I saved I Want To Confirm a Prompt That We Stay Alert

  358. πŸ”–

    I saved Browsers and Representation

  359. πŸ”–

    I saved Google vs. the web

  360. πŸ”–

    I saved Back to the Bad Old Days of the Web

  361. πŸ”–

    I saved The Mythical Document Web

  362. πŸ”–

    I saved Breaking the web forward

  363. πŸ”–

    I saved Back to the Future with RSS

  364. πŸ”–

    I saved Client-Side Architecture Basics

  365. πŸ”–

    I saved Organizing App Logic with the Clean Architecture

  366. πŸ”–

    I saved Implementing DTOs, Mappers and the Repository Pattern

  367. πŸ”–

    I saved Screaming Architecture

  368. πŸ”–

    I saved Better Software Design with Application Layer Use Cases

  369. πŸ”–

    I saved Anemic Domain Model

  370. πŸ”–

    I saved Value Objects - DDD w/ TypeScript

  371. πŸ”–

    I saved iOS 15, Humane

  372. πŸ”–

    I saved Don't overabstract your components

  373. πŸ“

    I wrote about Creating a PDF with React in the Browser

  374. πŸ”–

    I saved Meta Theme Color and Trickery

  375. πŸ“

    I wrote about Sending data from layout to leaf routes in Remix

  376. πŸ“

    I wrote about Using Service Workers with Remix

  377. πŸ“

    I wrote about Localizing Remix apps with i18next

  378. πŸ“

    I wrote about Adding CSRF protection to Remix

  379. πŸ› οΈ

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

  380. πŸ“

    I wrote about Server-Side authentication with Auth0 in Remix

  381. πŸ“

    I wrote about Using TailwindCSS with Remix

  382. πŸ› οΈ

    I published how to Use ETags in Remix

  383. πŸ“

    I wrote about Jest Matchers for Remix responses

  384. πŸ“

    I wrote about Using Form Objects inside Remix actions

  385. πŸ“

    I wrote about Route protection in Remix with Policies

  386. πŸ› οΈ

    I published how to Redirect to the original URL inside a Remix action

  387. πŸ› οΈ

    I published how to Read search params with JS

  388. πŸ› οΈ

    I published how to Use ActiveModel::Serializer with non ActiveRecord object

  389. πŸ› οΈ

    I published how to Serialize list of items with ActiveModel::Serializer

  390. πŸ› οΈ

    I published how to Use serializers with JSON.stringify and JSON.parse

  391. πŸ› οΈ

    I published how to Force a locale in Rails I18n from the params

  392. πŸ“

    I wrote about Que es un bundler de JS

  393. πŸ“

    I wrote about Remix vs Next.js Comparison

  394. πŸ”–

    I saved Imagining native skip links

  395. πŸ› οΈ

    I published how to Add missing `created_at` and `updated_at` columns in Rails

  396. πŸ”–

    I saved Rails design patterns - The big picture

  397. πŸ“

    I wrote about How to rename a column in a Rails migration

  398. πŸ”–

    I saved Before You memo()

  399. πŸ“

    I wrote about Usar variables de entorno en Next.js

  400. πŸ”–

    I saved Implement a Skip Link for Navigation-Heavy Sites

  401. πŸ”–

    I saved Meaningful Motion with Action-Driven Animation

  402. πŸ”–

    I saved An Interactive Guide to CSS Transitions

  403. πŸ› οΈ

    I published how to Build your own RSS Reader

  404. πŸ› οΈ

    I published how to Keep Heading Levels Consistent with React Context

  405. πŸ”–

    I saved Preload: What Is It Good For?

  406. πŸ”–

    I saved The unreasonable effectiveness of simple HTML

  407. πŸ”–

    I saved Open Peeps

  408. πŸ”–

    I saved System Design 101

  409. πŸ”–

    I saved A primer on investing for designers and developers

  410. πŸ“

    I wrote about About

  411. πŸ”–

    I saved In Critical Defense of Frontend Develop

  412. πŸ”–

    I saved Be Wary of Nesting Roles

  413. πŸ”–

    I saved Accessible SVGs

  414. πŸ“

    I wrote about ΒΏQuΓ© son Server Components de React y cΓ³mo se relacionan con SSR/SSG/ISR?

  415. πŸ“

    I wrote about πŸ”₯ Pro Tip: Name your useEffect functions

  416. πŸ”–

    I saved dotCSS 2019 - Sarah Dayan - In Defense of Utility-First CSS

  417. πŸ”–

    I saved Alt-texts: The Ultimate Guide

  418. πŸ”–

    I saved Polymorphic React Components in TypeScript

  419. πŸ”–

    I saved CSS and Scalability

  420. πŸ“

    I wrote about Using MDX with Remote Content

  421. πŸ”–

    I saved The UI and UX Tips Collection: Volume One.

  422. πŸ”–

    I saved Practical React Query

  423. πŸ› οΈ

    I published how to Use TailwindCSS Typography with Dark Mode Styles

  424. πŸ”–

    I saved Don't design for mobile

  425. πŸ”–

    I saved Stop Using β€œDrop-down”

  426. πŸ”–

    I saved Decoupling, Architecture and Teams

  427. πŸ”–

    I saved The Lava Layer Anti-Pattern

  428. πŸ”–

    I saved UI as an afterthought

  429. πŸ“

    I wrote about Todo lo que sΓ© de SWR

  430. πŸ”–

    I saved In 2020, what is "frontend" 🀨

  431. πŸ”–

    I saved How React Query gives you almost everything you thought you needed GraphQL for

  432. πŸ”–

    I saved Wormhole state management

  433. πŸ”–

    I saved Todo el software estΓ‘ roto

  434. πŸ”–

    I saved What is the Value of Browser Diversity?

  435. πŸ”–

    I saved Margins and Composability in CSS

  436. πŸ”–

    I saved Nailing Your First (Info-Product) Launch

  437. πŸ”–

    I saved Defining Component APIs in React

  438. πŸ”–

    I saved The Modern Front-End Design System Stack

  439. πŸ”–

    I saved Building the New facebook.com with React, GraphQL and Relay

  440. πŸ”–

    I saved Architecting UIs for Change

  441. πŸ”–

    I saved When frontend means full stack

  442. πŸ”–

    I saved Building a Button Part 2: Hover Interactions

  443. πŸ”–

    I saved Building a Button Part 1: Press Events

  444. πŸ“

    I wrote about The States of the UI

  445. πŸ”–

    I saved About HTML semantics and front-end architecture

  446. πŸ”–

    I saved "Semantic" CSS

  447. πŸ”–

    I saved CSS Utility Classes and "Separation of Concerns"

  448. πŸ”–

    I saved Second-guessing the modern web

  449. πŸ”–

    I saved A clean start for the web

  450. πŸ“

    I wrote about What I Use

  451. πŸ”–

    I saved Writing Type-Safe Polymorphic React Components (Without Crashing TypeScript)

  452. πŸ”–

    I saved Using SwiftUI's Spacer to Create Complex Layouts

  453. πŸ”–

    I saved Most tech content is bullshit

  454. πŸ”–

    I saved The Art of UI Skeletons

  455. πŸ”–

    I saved How to Design a Web Application: Software Architecture 101

  456. πŸ”–

    I saved Shared Hook State with SWR

  457. πŸ”–

    I saved Testing in the Frontend World

  458. πŸ”–

    I saved The Real Dark Web

  459. πŸ”–

    I saved The Elements of UI Engineering

  460. πŸ”–

    I saved frontend design, react, and a bridge over the great divide

  461. πŸ”–

    I saved The Great Divide

  462. πŸ”–

    I saved We have a problem with promises

  463. πŸ”–

    I saved Taming the asynchronous beast with ES7

  464. πŸ”–

    I saved The Fault in Our Tolerance: Accounting for Failures in React

  465. πŸ”–

    I saved 7 Principles of Rich Web Applications

  466. πŸ”–

    I saved 🌱 My blog is a digital garden, not a blog

  467. πŸ”–

    I saved Shape Up: Stop Running in Circles and Ship Work that Matters

  468. πŸ”–

    I saved How the Blog Broke the Web

  469. πŸ”–

    I saved Turning the database inside-out with Apache Samza

  470. πŸ”–

    I saved Design Systems and Front-End Architecture by Stuart Robson

  471. πŸ”–

    I saved How to Section Your HTML

  472. πŸ”–

    I saved write on your own website

  473. πŸ”–

    I saved Going Indie. Step 2: Reclaiming Content

  474. πŸ”–

    I saved Just write

  475. πŸ”–

    I saved The Documentation Compendium

  476. πŸ”–

    I saved Why Text Buttons Hurt Mobile Usability

  477. πŸ”–

    I saved Bulletproof node.js project architecture πŸ›‘οΈ

  478. πŸ”–

    I saved The Power of Sensible Defaults

  479. πŸ”–

    I saved HTML Reference

  480. πŸ”–

    I saved CSS Reference

  481. πŸ”–

    I saved The God Login

  482. πŸ”–

    I saved Your Body Text Is Too Small

  483. πŸ”–

    I saved Architecture as a burden

  484. πŸ”–

    I saved The Architecture of Open Source Applications (Volume 2): Scalable Web Architecture and Distributed Systems

  485. πŸ”–

    I saved Scaling React Server-Side Rendering

  486. πŸ”–

    I saved Refactoring UI

  487. πŸ”–

    I saved Cards

  488. πŸ”–

    I saved Introducing Grial

  489. πŸ”–

    I saved Aplicando estilos a Pulse Editor con styled-components

  490. πŸ”–

    I saved Usando socket.io en aplicaciones de Next.js

  491. πŸ”–

    I saved Depurando aplicaciones de Node.js v8.0.0

  492. πŸ”–

    I saved Personalizando Babel.js en aplicaciones de Next.js

  493. πŸ”–

    I saved Creando botones propios para Pulse Editor

  494. πŸ”–

    I saved Te presentamos la nueva versiΓ³n de Node.js

  495. πŸ”–

    I saved Creando sitios estΓ‘ticos con Next.js

  496. πŸ”–

    I saved Implementando Pulse Editor

  497. πŸ”–

    I saved AplicaciΓ³n de escritorio Pulse

  498. πŸ”–

    I saved Presentamos Pulse Editor

  499. πŸ”–

    I saved Crea aplicaciones de escritorio con Electron y Next.js

  500. πŸ”–

    I saved Implementa Progressive server-side render con Next.js

  501. πŸ”–

    I saved Next.js, el futuro de las aplicaciones con React

  502. πŸ”–

    I saved Manejo de dependencias JavaScript con Yarn

  503. πŸ”–

    I saved Deploy y orquestaciΓ³n de microservicios con now.sh

  504. πŸ”–

    I saved IntroducciΓ³n a JSON Web Tokens (JWT)

  505. πŸ”–

    I saved ΒΏQuΓ© es y para quΓ© sirve Babel?

  506. πŸ”–

    I saved Desarrollando aplicaciones de escritorio con Electron.js

  507. πŸ”–

    I saved ΒΏQuΓ© es una aplicaciΓ³n isomΓ³rfica?

  508. πŸ”–

    I saved Crea microservicios en Node.js con micro.js

  509. πŸ”–

    I saved Usando React.js en el servidor con Django

  510. πŸ”–

    I saved Estado inmutable con Redux e Immutable.js

  511. πŸ”–

    I saved Componentes de Alto Orden en React.js

  512. πŸ”–

    I saved Obteniendo datos en aplicaciones de Redux

  513. πŸ”–

    I saved Usando Redux en el servidor con Socket.io

  514. πŸ”–

    I saved Creando cΓ³digo modular con ducks de Redux

  515. πŸ”–

    I saved Renderizando aplicaciones de Redux en el servidor

  516. πŸ”–

    I saved Manejo de errores en Redux.js

  517. πŸ”–

    I saved Migrando a Redux

  518. πŸ”–

    I saved Ruteo en aplicaciones de Redux y React.js

  519. πŸ”–

    I saved Glosario de tΓ©rminos de Redux

  520. πŸ”–

    I saved Estructura de archivos Ducks para Redux.js

  521. πŸ”–

    I saved Pruebas unitarias en Redux.js

  522. πŸ”–

    I saved Acciones asΓ­ncronas en Redux.js

  523. πŸ”–

    I saved Middlewares en Redux.js

  524. πŸ“

    I wrote about Como me iniciΓ© en el desarrollo web

  525. πŸ“

    I wrote about Why build a non-RESTful API

  526. πŸ“

    I wrote about How I work with static assets in React apps

  527. πŸ“

    I wrote about How shallow: true works in Rails

  528. πŸ“

    I wrote about Build an Optimistic UI in React using SWR with useMutation

  529. πŸ“

    I wrote about Como organizo mis aplicaciones de React

  530. πŸ“

    I wrote about How I Organize React Applications

  531. πŸ“

    I wrote about Usa React.Suspense para controlar la carga de imagenes

  532. πŸ“

    I wrote about Data-Aware Components

  533. πŸ“

    I wrote about Collected Notes TS Client

  534. πŸ› οΈ

    I published how to Use SWR with Geolocation

  535. πŸ“

    I wrote about Using Collected Notes as CMS

  536. πŸ› οΈ

    I published how to Sync WebApp Session Status between Tabs with SWR

  537. πŸ› οΈ

    I published how to Sync SWR cache with Web Storage

  538. πŸ› οΈ

    I published how to Configure Google Suite MX records in Vercel

  539. πŸ› οΈ

    I published how to Report Web Vitals in Next.js

  540. πŸ› οΈ

    I published how to Use React.Suspense to wait for an image to load

  541. πŸ› οΈ

    I published how to Purge unused CSS with TailwindCSS

  542. πŸ› οΈ

    I published how to Setup a redirect inside a project deployed to Vercel

  543. πŸ› οΈ

    I published how to Use a scoped registry with Yarn

  544. πŸ“

    I wrote about Using Immer with SWR to mutate data

  545. πŸ“

    I wrote about Render as you Fetch Pattern in React with SWR

  546. πŸ“

    I wrote about Prefetching Data in a Next.js Application with SWR

  547. πŸ“

    I wrote about What Type of States Could You Find in a Client-Side Application?

  548. πŸ“

    I wrote about Using Tailwind with Next.js

  549. πŸ“

    I wrote about Using Suspense for Data Fetching Today with SWR

  550. πŸ“

    I wrote about Using Paginated Data with SWR

  551. πŸ“

    I wrote about Introduction to SWR

  552. πŸ› οΈ

    I published how to Automatically Publish to npm using GitHub Actions

  553. πŸ“

    I wrote about Feature Flags in React with Flagged

  554. πŸ“

    I wrote about Next.js File Structure

  555. πŸ“

    I wrote about Testing in Next.js: Dynamic Imports

  556. πŸ“

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

  557. πŸ“

    I wrote about Working with Forms in React without libraries

  558. πŸ“

    I wrote about Working with conditions and lists in React

  559. πŸ“

    I wrote about Introduction to React with the State and Effects hooks

  560. πŸ“

    I wrote about Introducing Contentz

  561. πŸ“

    I wrote about Career Titles and Levels in Tech

  562. πŸ“

    I wrote about Deploy de Contentz a Netlify

  563. πŸ“

    I wrote about Contentz es Omakase

  564. πŸ“

    I wrote about Conceptos bΓ‘sicos de JS: Array#forEach

  565. πŸ“

    I wrote about CΓ³mo crear y publicar un mΓ³dulo para npm

  566. πŸ“

    I wrote about Aplicaciones web con Zero Server

  567. πŸ“

    I wrote about Presentando Contentz

  568. πŸ“

    I wrote about Uso del prop children en React

  569. πŸ“

    I wrote about Componentes con Hijos Personalizables en React

  570. πŸ“

    I wrote about ComposiciΓ³n de Componentes en React

  571. πŸ“

    I wrote about Tipos de datos en React

  572. πŸ“

    I wrote about Props con valores predefinidos en React

  573. πŸ“

    I wrote about Componente de React personalizables usando props

  574. πŸ“

    I wrote about Componentes con React

  575. πŸ“

    I wrote about Hola Mundo con React

  576. πŸ“

    I wrote about Cargando React desde un CDN

  577. πŸ“

    I wrote about Mi Static Site Generator ideal

  578. πŸ“

    I wrote about AutomatizaciΓ³n con Shell Scripts

  579. πŸ“

    I wrote about Conceptos bΓ‘sicos de JS: Array#push

  580. πŸ“

    I wrote about Conceptos bΓ‘sicos de JS: Array#filter

  581. πŸ“

    I wrote about Conceptos bΓ‘sicos de JS: Array#map

  582. πŸ“

    I wrote about Usando Generadores AsΓ­ncronos en JavaScript

  583. πŸ“

    I wrote about Carrusel de elementos dinΓ‘micos con React.js

  584. πŸ“

    I wrote about Scalable Real-Time Applications

  585. πŸ“

    I wrote about Aplicaciones Real-Time de Alta Escala

  586. πŸ“

    I wrote about React v16.6: lazy, memo y mΓ‘s

  587. πŸ“

    I wrote about IntroducciΓ³n a MDX

  588. πŸ“

    I wrote about Documentation, Lessons Learned

  589. πŸ“

    I wrote about DocumentaciΓ³n, Lecciones Aprendidas

  590. πŸ“

    I wrote about ΒΏCΓ³mo mantenerse actualizado con el ecosistema de JavaScript?

  591. πŸ“

    I wrote about Renderizando Markdown en React.js

  592. πŸ“

    I wrote about An Accessible Approach to FrontendΒ Testing

  593. πŸ“

    I wrote about How to keep updated with the JavaScript ecosystem?

  594. πŸ“

    I wrote about Implementando un Servidor de GraphQL

  595. πŸ“

    I wrote about Bye Platzi, hi β–²ZEIT

  596. πŸ“

    I wrote about Ciclo de vida de un componente de React.js

  597. πŸ“

    I wrote about Mezclando flujos sΓ­ncronos y asΓ­ncronos usando promesas en JavaScript

  598. πŸ“

    I wrote about IntroducciΓ³n a GraphQL

  599. πŸ“

    I wrote about QuΓ© son y cΓ³mo funcionan las promesas en JavaScript

  600. πŸ“

    I wrote about Sobre el ecosistema y la fatiga de JavaScript

  601. πŸ“

    I wrote about Combinando React.js y Redux.js

  602. πŸ“

    I wrote about IntroducciΓ³n a Redux.js

  603. πŸ“

    I wrote about Compilando el Frontend con webpack

  604. πŸ“

    I wrote about InternacionalizaciΓ³n con React.js y FormatJS

  605. πŸ“

    I wrote about IntroducciΓ³n a ECMAScript 2016/7

  606. πŸ“

    I wrote about Mi experiencia como estudiante de los cursos de Platzi

  607. πŸ“

    I wrote about Lo nuevo en React v0.14

  608. πŸ“

    I wrote about Usando ECMAScript 6 en tus tareas de Gulp

  609. πŸ“

    I wrote about Usando ECMAScript 6/2015 con Babel

  610. πŸ“

    I wrote about Buenas prΓ‘cticas del desarrollo FrontEnd

  611. πŸ“

    I wrote about Renderizando React.js en el server con Express.js y react-engine

  612. πŸ“

    I wrote about ECMAScript 6: nueva sintaxis y caracterΓ­sticas para JavaScript

  613. πŸ“

    I wrote about CΓ³mo usar la etiqueta template en HTML5

  614. πŸ“

    I wrote about AutomatizaciΓ³n de tareas de frontend usando Gulp.js

  615. πŸ“

    I wrote about Uso de mΓ³dulos en JavaScript con ECMAScript 6

  616. πŸ“

    I wrote about Escribiendo CSS de la forma correcta

  617. πŸ“

    I wrote about Definiendo conceptos - Closure y Scope en JavaScript

  618. πŸ“

    I wrote about Ventajas y desventajas de los pre-procesadores de CSS

  619. πŸ“

    I wrote about ΒΏQuΓ© es Scrum? ΒΏY cΓ³mo te ayuda trabajar?

  620. πŸ“

    I wrote about El mΓ³dulo Flexbox de CSS3

  621. πŸ“

    I wrote about JavaScript orientado a objetos