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.
π I saved Details that make interfaces feel better
Mar 11, 26 π I saved Expand your hit areas
Mar 10, 26 π I saved Nobody Gets Promoted for Simplicity
Mar 08, 26 π I saved Why I don't use down migrations
Mar 08, 26 π I saved How we enabled Content Security Policy for everyone
Mar 08, 26 π I added the definition of RESTful
Mar 08, 26 π I added the definition of MIME Type
Mar 08, 26 π I added the definition of Same-Origin Policy
Mar 08, 26 π I added the definition of CORS
Mar 08, 26 π I added the definition of Bearer Token
Mar 08, 26 π I added the definition of OIDC
Mar 08, 26 π I added the definition of OAuth2
Mar 08, 26 π I added the definition of GraphQL
Mar 08, 26 π I added the definition of REST
Mar 08, 26 π I added the definition of XML
Mar 08, 26 π I added the definition of JSON
Mar 08, 26 π I added the definition of TLS
Mar 08, 26 π I added the definition of TCP
Mar 08, 26 π I added the definition of IP
Mar 08, 26 π I added the definition of URI
Mar 08, 26 π I added the definition of URL
Mar 08, 26 π I added the definition of DNS
Mar 08, 26 π I added the definition of FTP
Mar 08, 26 π I added the definition of CSS
Mar 08, 26 π I added the definition of HTML
Mar 08, 26 π I added the definition of HTTPS
Mar 08, 26 π I added the definition of HTTP
Mar 08, 26 π I added the definition of WSS
Mar 08, 26 π I added the definition of Web API
Mar 08, 26 π I added the definition of Static Assets
Mar 08, 26 π I added the definition of Routing
Mar 08, 26 π I added the definition of Rendering
Mar 08, 26 π I added the definition of SSE
Mar 08, 26 π I added the definition of WebSockets
Mar 08, 26 π I added the definition of Idempotency
Mar 08, 26 π I added the definition of CDN
Mar 08, 26 π I added the definition of Caching
Mar 08, 26 π I added the definition of Rate Limiting
Mar 08, 26 π I added the definition of Webhooks
Mar 08, 26 π I added the definition of Edge Runtime
Mar 08, 26 π I added the definition of RSC
Mar 08, 26 π I added the definition of Optimistic UI
Mar 08, 26 π I added the definition of Progressive Enhancement
Mar 08, 26 π I added the definition of PKCE
Mar 08, 26 π I added the definition of Resource Server
Mar 08, 26 π I added the definition of Authorization Server
Mar 08, 26 π I added the definition of Refresh Token
Mar 08, 26 π I added the definition of Access Token
Mar 08, 26 π I added the definition of JWKS
Mar 08, 26 π I added the definition of JWK
Mar 08, 26 π I added the definition of JWT
Mar 08, 26 π I added the definition of API Gateway
Mar 08, 26 π I added the definition of Edge Functions
Mar 08, 26 π I added the definition of Serverless
Mar 08, 26 π I added the definition of Microservices
Mar 08, 26 π I added the definition of Monolith
Mar 08, 26 π I added the definition of BFF
Mar 08, 26 π I added the definition of Edge Rendering
Mar 08, 26 π I added the definition of Streaming SSR
Mar 08, 26 π I added the definition of Islands Architecture
Mar 08, 26 π I added the definition of Partial Hydration
Mar 08, 26 π I added the definition of Hydration
Mar 08, 26 π οΈ I published how to Access React Router Context with AsyncLocalStorage
Mar 06, 26 π I saved Hire managers of one
Mar 05, 26 π οΈ I published how to Create a Per-Request Database Instance with Middleware
Mar 03, 26 π οΈ I published how to Create a Multi-Directory Route Organization in React Router Preview
Feb 23, 26 π οΈ I published how to Use Sec-Fetch Headers for CSRF Protection
Feb 23, 26 π I saved SQLite-on-the-Server Is Misunderstood: Better At Hyper-Scale Than Micro-Scale
Feb 23, 26 π I wrote about React Router Loaders and Actions as Integration Points
Feb 20, 26 π I saved The Too Early Breakpoint
Feb 03, 26 π I saved More invoker commands, and more reasons not to use JavaScript please
Feb 03, 26 π I saved sergiodxa/agent-skills
Jan 28, 26 π I saved The Incredible Overcomplexity of the Shadcn Radio Button
Jan 20, 26 π I saved Affordances: The Missing Layer in Frontend Architecture
Dec 22, 25 π I saved Confirmation dialogs with zero JavaScript
Dec 22, 25 π I saved Stylish dialogs
Dec 22, 25 π I saved Logging Sucks - Your Logs Are Lying To You
Dec 22, 25 π I saved Micro-libraries need to die already
Dec 01, 25 π I saved The stacking workflow
Nov 10, 25 π I saved Composition Is All You Need by Fernando Rojo at React Universe Conf 2025
Nov 05, 25 π I saved Tips for good UI implementation
Oct 28, 25 π οΈ I published how to Dedupe Server Calls with Remix Utils Batcher
Oct 19, 25 π οΈ I published how to Transform FormData Between UI and Database in React Router
Oct 15, 25 π I saved The Perils of Reactivity
Oct 11, 25 π I wrote about How Architecture Patterns Shape Development
Oct 04, 25 π οΈ I published how to Build a Master-Detail UI with React Router
Oct 03, 25 π οΈ I published how to Leverage React Router's Built-in Data Deduplication
Sep 25, 25 π I saved No, you don't want to hire "the best engineers'
Sep 25, 25 π οΈ I published how to Redirect Based on Screen Size in React Router
Aug 13, 25 π οΈ I published how to Avoid Waterfalls in React Suspense
Aug 12, 25 π οΈ I published how to Handle deferred data in React Router
Jul 31, 25 π οΈ I published how to Use Action Routes in React Router
Jul 20, 25 π I saved Prefer Gaps To Margins
Jun 25, 25 π I saved Syntax Highlighting code snippets with Prism and the Custom Highlight API
Jun 20, 25 π I saved Resilient Import Maps - Better Theme Development and Beyond
Jun 03, 25 π I saved Toasts are Bad UX
May 22, 25 π I saved The XY Problem
May 18, 25 π I saved Don't ask to ask, just ask
May 18, 25 π I saved no
hello
May 18, 25 π I saved never just
May 18, 25 π οΈ I published how to Add a Color Scheme Toggle in React Router
May 07, 25 π I saved JSX Over The Wire
Apr 20, 25 π I saved The Back-end for Front-end Pattern (BFF)
Apr 14, 25 π οΈ I published how to Debounce Loaders and Actions in React Router
Apr 14, 25 π οΈ I published how to Use client_id and client_secret in OAuth2
Apr 05, 25 π οΈ I published how to Use the OAuth2 Introspection Endpoint
Apr 02, 25 π οΈ I published how to Revoke a Refresh Token in OAuth2
Apr 01, 25 π οΈ I published how to Use PKCE in OAuth2 Authorization Code Flow
Mar 26, 25 π οΈ I published how to Add Custom Claims to JWT Access Tokens
Mar 25, 25 π οΈ I published how to Validate exp, iat, and nbf in JWTs
Mar 25, 25 π οΈ I published how to Use `scope` to Authorize Actions in Your API
Mar 24, 25 π οΈ I published how to Validate JWTs with JWKS
Mar 24, 25 π I wrote about OAuth2 Access Token Claims Explained
Mar 19, 25 π I wrote about OAuth2 Scopes Explained
Mar 13, 25 π οΈ I published how to Create a Per-Request Singleton with React Router Middleware
Mar 11, 25 π οΈ I published how to Test Middleware in React Router
Mar 10, 25 π I wrote about OAuth2 Tokens Explained
Mar 10, 25 π I wrote about OAuth2 Audience Explained
Mar 10, 25 π I wrote about JWT vs. Opaque Tokens
Mar 09, 25 π οΈ I published how to Use middleware in React Router
Mar 08, 25 π I saved Maybe don't navigate(-1) in Remix/React Router
Mar 05, 25 π I wrote about OAuth2 for Backend-for-Frontend
Mar 04, 25 π οΈ I published how to Show a 404 in React Router
Mar 02, 25 π I saved Class methods are Rubyβs useEffect
Feb 28, 25 π I saved What I learned at Campsite
Feb 28, 25 π I wrote about Throwing vs. Returning Redirects in React Router
Feb 25, 25 π οΈ I published how to Download a file from a React Router route
Feb 24, 25 π I saved How I Stay Sane Implementing Stripe
Feb 24, 25 π I saved Where to put concernsImprove readabilityEnhance, but not replace, rich object modelsConclusions
Feb 24, 25 π I saved Domain driven boldness
Feb 24, 25 π I saved Good concerns
Feb 24, 25 π I saved Vanilla Rails is plenty
Feb 24, 25 π I saved Active Record, nice and blended
Feb 24, 25 π I saved Globals, callbacks and other sacrileges
Feb 24, 25 π οΈ I published how to Use Bullet to Detect N+1 Queries in Rails
Feb 08, 25 π οΈ I published how to Use Pandoc to convert a Markdown to a PDF and ePUB
Feb 07, 25 π οΈ I published how to Load Dynamic Stylesheets in React Router
Feb 03, 25 π οΈ I published how to Split routes config in React Router
Jan 15, 25 π οΈ I published how to Configure the tracking branch in Git
Jan 14, 25 π οΈ I published how to Reuse route modules in React Router
Jan 13, 25 π I saved Stop just using βFrontendβ or βBackendβ to describe the Engineering you like
Jan 03, 25 π οΈ I published how to Populate Your Rails Database with Fixtures
Dec 18, 24 π I saved You Can't Not Have a Framework
Dec 13, 24 π I saved This doesn't warrant a blog post
Nov 27, 24 π I saved Because I wanted to
Nov 18, 24 π I wrote about Making Web Component good enough
Sep 30, 24 π I saved Layered Architectures with Laravel
Sep 27, 24 π I saved Don't Sleep on AbortController
Sep 18, 24 π οΈ I published how to Stub a method in a class with Minitest
Sep 02, 24 π οΈ I published how to Show toast after a Remix action
Aug 30, 24 π I saved Building a Proper REST API
Aug 14, 24 π I saved How I would do auth
Jul 14, 24 π οΈ I published how to Simplify Component Imports with TypeScript Namespaces
Jul 10, 24 π I saved Card Stack
Jul 02, 24 π I saved Counterscale and the New Self-Hosted
Jun 27, 24 π I wrote about On Frontend vs Backend
Jun 19, 24 π οΈ I published how to Validate Form in Remix with clientAction
Jun 18, 24 π οΈ I published how to Generate Cloudflare environment type with wrangler
Jun 18, 24 π οΈ I published how to Configure scoped private packages in Bun
Jun 18, 24 π I wrote about When to use Route Modal in React Router
Jun 16, 24 π I saved Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity
Jun 05, 24 π I saved Ultimate guide to multi-tenant SaaS data modeling
May 30, 24 π I saved Migrating from Radix to React Aria: Improving Accessibility and UX
May 29, 24 π I saved Creating a pointer-friendly submenu experience
May 03, 24 π I saved Building like it's 1984: A comprehensive guide to creating intuitive context menus
May 03, 24 π I saved Building future facing frontend architectures
Apr 24, 24 π I saved Navigating the future of frontend
Apr 15, 24 π οΈ I published how to Use package.json#bin to create a CLI
Mar 26, 24 π I saved Margin considered harmful
Mar 26, 24 π I saved In Loving Memory of Square Checkbox
Mar 18, 24 π οΈ I published how to Access location.state in Remix loaders and actions
Mar 13, 24 π I saved The Copenhagen Book
Mar 10, 24 π οΈ I published how to Add i18n to a Remix Vite app
Mar 08, 24 π I saved Documenting Architecture Decisions
Mar 02, 24 π οΈ I published how to Autoload the correct Node version with NVM
Mar 01, 24 π I added the definition of HDR
Feb 24, 24 π I added the definition of HMR
Feb 24, 24 π I added the definition of PPR
Feb 24, 24 π I added the definition of ISR
Feb 24, 24 π I added the definition of SSG
Feb 24, 24 π I added the definition of PESPA
Feb 24, 24 π I added the definition of PEMPA
Feb 24, 24 π οΈ I published how to Nest routes with dynamic params in Remix
Feb 15, 24 π οΈ I published how to Build a simple login and logout with Remix
Feb 13, 24 π οΈ I published how to Access React Router's loader data from a route ErrorBoundary
Feb 13, 24 π οΈ I published how to Access React Router's Loaders Data in entry.client
Feb 13, 24 π οΈ I published how to Handle not found URLs with Remix
Feb 10, 24 π οΈ I published how to Persist the User Locale Using Cookies with React Router and i18next
Feb 07, 24 π οΈ I published how to Add dynamic canonical URL to Remix routes
Feb 04, 24 π I saved Parallelized Decision Making
Feb 03, 24 π οΈ I published how to Add custom attributes to Markdoc code fences
Feb 03, 24 π οΈ I published how to Enable Remix ~/ aliased imports in Vitest
Feb 02, 24 π I added the definition of API
Feb 01, 24 π I added the definition of MPA
Jan 31, 24 π I added the definition of SPA
Jan 31, 24 π I added the definition of CSR
Jan 31, 24 π I added the definition of SSR
Jan 31, 24 π οΈ I published how to Add syntax highlight to Markdoc using Prism.js
Jan 31, 24 π οΈ I published how to Create a CRUD with Remix
Jan 25, 24 π I saved I miss RSS
Jan 23, 24 π I saved RSC is React Server + Component | bobae kang
Jan 23, 24 π οΈ I published how to Pass Cookies from a React Router Loader to an External API
Jan 22, 24 π οΈ I published how to Call an action from a loader in Remix
Jan 22, 24 π οΈ I published how to Use React Portal in Remix
Jan 22, 24 π οΈ I published how to Prevent the React Router Loader to Run after Document Request
Jan 22, 24 π I saved Passkey-Based Auth in Remix (feat. Alex Anderson) - YouTube
Jan 21, 24 π I saved Remix Movies: build a movie browser with Remix - YouTube
Jan 21, 24 π I saved Trellix: build a Trello clone using Remix - YouTube
Jan 21, 24 π οΈ I published how to Defer a Fetch response in Remix
Jan 19, 24 π οΈ I published how to Use a CDN for your static assets in Remix
Jan 19, 24 π οΈ I published how to Get the absolute URL in Remix's MetaFunction
Jan 19, 24 π οΈ I published how to Build an app with Remix and Bun
Jan 19, 24 π I saved Designing better target sizes
Jan 19, 24 π οΈ I published how to Find and remove unused code with Knip
Jan 18, 24 π οΈ I published how to Create multiple top-level layouts in Remix
Jan 17, 24 π I saved Kind of annoyed at React
Jan 15, 24 π I saved Increasingly miffed about the state of React releases
Jan 11, 24 π I saved The Website vs. Web App Dichotomy Does Not Exist
Jan 11, 24 π οΈ I published how to Test meta tags using Playwright
Jan 10, 24 π I saved gilest.org: Make the indie web easier
Jan 10, 24 π I saved Why Fetch Promise Does Not Reject on Error Responses
Jan 08, 24 π I saved A Well-Known Links Resource - Jim Nielsenβs Blog
Jan 01, 24 π I saved The OG Social Network: Other Peopleβs Websites - Jim Nielsenβs Blog
Jan 01, 24 π I saved Rationale for a Browser-Level Color Scheme Preference - Jim Nielsenβs Blog
Jan 01, 24 π I saved A Well Known URL For Your Personal Avatar - Jim Nielsenβs Blog
Jan 01, 24 π I saved React Aria
Dec 28, 23 π I saved Stop Lying to Your Users | Epic Web Dev by Kent C. Dodds
Dec 27, 23 π οΈ I published how to Prefetch data for Remix Fetcher usage
Dec 08, 23 π οΈ I published how to Keep Your Loader Data Fresh in Remix
Dec 01, 23 π οΈ I published how to Expose Remix Routes as API Endpoints
Nov 27, 23 π οΈ I published how to Access the Search Params of a Request in React Router
Nov 22, 23 π οΈ I published how to Upload Images in a Remix Application
Oct 23, 23 π οΈ I published how to Redirect with Search Param in Remix
Oct 06, 23 π οΈ I published how to Access the Loader Data in Remix
Oct 05, 23 π οΈ I published how to Abort Async Calls Inside Remix Loaders and Actions
Sep 24, 23 π οΈ I published how to Get Remix route params `entry.server`
Sep 08, 23 π οΈ I published how to Test meta tags with Cypress
Sep 06, 23 π I saved Challenging Established Norms: Making Component Fetching the Exception
Sep 04, 23 π I saved Be the browserβs mentor, not its micromanager
Aug 31, 23 π I saved The ideal viewport doesnβt exist
Aug 31, 23 π I saved My thoughts on open-source
Aug 22, 23 π οΈ I published how to Strongly type Remix route IDs
Jul 17, 23 π οΈ I published how to Strongly type public assets in Remix
Jul 17, 23 π οΈ I published how to Create a reusable Form component in Remix
Jul 07, 23 π οΈ I published how to Sync text input with URLSearchParam in Remix
Jul 06, 23 π I saved Social RSS
Jul 04, 23 π I saved The fediverse and the indieweb
Jul 04, 23 π I saved Blogging as DRY
Jul 02, 23 π I saved Everything You Can Test In Your Laravel Application
Jul 02, 23 π I saved Dear Open Source: letβs do a better job of asking for money
Jul 02, 23 π I saved Don't make me think, or why I switched to Rails from JavaScript SPAs
Jul 02, 23 π I saved Generating income from open source
Jun 18, 23 π οΈ I published how to Use TanStack Query to Share Data between React Router Loaders
Jun 05, 23 π οΈ I published how to Logout from Auth0 with Remix Auth
May 24, 23 π οΈ I published how to Send Node.js ReadStream objects from Remix loaders
May 15, 23 π οΈ I published how to Reset a form on success in Remix
May 15, 23 π οΈ I published how to Use `qs.parse` to use nested form fields in Remix
May 15, 23 π οΈ I published how to Send JSON to a Remix action
May 13, 23 π οΈ I published how to Set Multiple Cookies in the Same Response in React Router Loaders
May 12, 23 π οΈ I published how to Close SSE connection from the server in Remix
May 10, 23 π οΈ I published how to Measure performance with the Server-Timing header in React Router
Apr 30, 23 π οΈ I published how to Automatically commit sessions on Remix
Apr 04, 23 π οΈ I published how to Customize Remix AppLoadContext type
Mar 16, 23 π I saved Client-side JavaScript and React criticism: What comes next?
Mar 16, 23 π οΈ I published how to Turn on Caps Lock on Cypress
Mar 14, 23 π I saved Fast and maintainable patterns for fetching from a database
Feb 14, 23 π οΈ I published how to Delete a Cookie using Remix cookie helpers
Feb 13, 23 π οΈ I published how to Add runtime SSG and ISR to Remix
Jan 29, 23 π οΈ I published how to Improve SEO by not sending JS in Remix
Jan 25, 23 π οΈ I published how to Use AMP with Remix
Jan 23, 23 π οΈ I published how to Use Remix as a SPA only
Jan 23, 23 π I saved A Theory of Web Relativity
Dec 30, 22 π οΈ I published how to Downgrade to MPA if Users Prefer Reduced Data in React Router
Dec 15, 22 π οΈ I published how to Add rolling sessions to Remix
Dec 01, 22 π οΈ I published how to Use Server-Sent Events with Remix
Nov 25, 22 π οΈ I published how to Progressively Enhance the useFetcher Hook in React Router
Nov 16, 22 π οΈ I published how to Use `process.env` client-side with Remix
Nov 09, 22 π οΈ I published how to Persist inputs after a form submit in Remix
Oct 20, 22 π I saved Streaming: is it worth it?
Oct 20, 22 π I saved Prioritise content over components
Oct 19, 22 π I wrote about Throwing vs. Returning responses in Remix
Oct 14, 22 π οΈ I published how to Lazy-load React components in Remix
Oct 12, 22 π I saved Overcoming Popular Issues With React Projects
Oct 11, 22 π I saved πΏ remix simplifies things
Oct 02, 22 π I saved Progressively enhance for a more resilient web
Oct 01, 22 π I saved Get in Zoomer, We're Saving React
Sep 26, 22 π I wrote about Optional route segments with Remix
Sep 26, 22 π οΈ I published how to Destroy User Session and While Setting a Flash Message in React Router
Sep 21, 22 π οΈ I published how to Add additional data before submitting on Remix
Sep 21, 22 π οΈ I published how to Redirect to an external website with Remix
Sep 21, 22 π οΈ I published how to Bubble up data on Remix routes
Sep 13, 22 π οΈ I published how to Group related routes together in Remix
Sep 09, 22 π I saved What if your Index Page was Smart?
Sep 05, 22 π I saved Building websites for Safari Reader Mode and other reading apps
Sep 05, 22 π I saved How to Section Your HTML
Sep 02, 22 π I saved Block Links: The Search for a Perfect Solution
Aug 10, 22 π οΈ I published how to Parse Markdown with Markdoc in Remix
Jul 21, 22 π I wrote about Dependency injection in Remix loaders and actions
Jul 19, 22 π I wrote about Using Zod to safely read env variables
Jun 23, 22 π I saved Debug your server-side Remix code using VSCode
Jun 23, 22 π I saved RSS
Jun 12, 22 π I wrote about Working with Refresh Tokens in Remix
Jun 03, 22 π I saved Device-Agnostic
May 30, 22 π I wrote about E2E test Remix with Vitest and Puppeteer
May 16, 22 π οΈ I published how to Optimize image loading with plain HTML
May 09, 22 π I saved Using rel=preload for responsive images
May 05, 22 π I wrote about Multiple forms per route in Remix
Apr 14, 22 π I saved How to avoid layout shifts caused by web fonts
Mar 25, 22 π I saved βGuys, weβre doing pagination wrongβ¦β
Mar 18, 22 π I saved Why Remix doesnβt infer types from loaders for useLoaderData
Feb 26, 22 π οΈ I published how to Add returnTo behavior to Remix Auth
Feb 25, 22 π I saved Survivorship Bias in Web Performance
Feb 25, 22 π I wrote about Building a Command Palette with Remix and Tailwind UI
Feb 24, 22 π οΈ I published how to Share session and cookies between Next and Remix
Feb 24, 22 π οΈ I published how to Fix double data request when prefetching in Remix
Feb 24, 22 π I saved The "best" way to manage icons in React.js
Feb 20, 22 π οΈ I published how to Run Tailwind and Remix in Parallel with PM2
Jan 19, 22 π οΈ I published how to Use Remix with socket.io
Jan 11, 22 π οΈ I published how to Generate a PDF in Remix with Resource Routes
Jan 10, 22 π οΈ I published how to Avoid waterfalls of queries in Remix loaders
Jan 06, 22 π οΈ I published how to Run Next and Remix on the same server
Jan 03, 22 π I wrote about HTTP vs. Server-side Cache in Remix
Dec 22, 21 π I wrote about Clase rΓ‘pida de programaciΓ³n asΓncrona
Dec 20, 21 π I wrote about On-Demand Hydration in Remix
Dec 10, 21 π I saved Live validation is problematic
Dec 08, 21 π I saved Stop building client-side forms
Dec 08, 21 π I wrote about Loader vs Route Cache Headers in Remix
Dec 02, 21 π I wrote about The useMatches hook in Remix
Nov 30, 21 π I wrote about Validating Remix forms with Constraints API
Nov 26, 21 π οΈ I published how to Test Remix loaders and actions
Nov 25, 21 π οΈ I published how to Use NProgress in a Remix app
Nov 24, 21 π I wrote about Result Objects in TS
Nov 17, 21 π I wrote about Dark Mode and Dark Context
Nov 16, 21 π I saved Why Decentralization Isn't as Important as You Think
Oct 28, 21 π I saved When You Stop Counting
Oct 28, 21 π I saved Why I Quit Google to Work for Myself
Sep 27, 21 π οΈ I published how to Use Fathom with Remix
Sep 23, 21 π I saved Donβt Build A General Purpose API To Power Your Own Front End
Sep 22, 21 π I saved Why You Should Never Use MongoDB
Sep 21, 21 π I saved A Case For Use Cases
Sep 10, 21 π οΈ I published how to Fix `gyp: No Xcode or CLT version detected!` error
Sep 09, 21 π οΈ I published how to Use Dependabot to keep Remix up-to-date
Sep 08, 21 π I wrote about Automatic Revalidation in Remix
Aug 31, 21 π I saved People read on the web
Aug 28, 21 π I saved Why we use progressive enhancement to build GOV.UK
Aug 16, 21 π I saved Building a resilient frontend using progressive enhancement
Aug 15, 21 π I saved I Want To Confirm a Prompt That We Stay Alert
Aug 15, 21 π I saved Browsers and Representation
Aug 15, 21 π I saved Google vs. the web
Aug 15, 21 π I saved Back to the Bad Old Days of the Web
Aug 15, 21 π I saved The Mythical Document Web
Aug 15, 21 π I saved Breaking the web forward
Aug 15, 21 π I saved Back to the Future with RSS
Aug 12, 21 π I saved Client-Side Architecture Basics
Aug 11, 21 π I saved Organizing App Logic with the Clean Architecture
Aug 11, 21 π I saved Implementing DTOs, Mappers and the Repository Pattern
Aug 11, 21 π I saved Screaming Architecture
Aug 11, 21 π I saved Better Software Design with Application Layer Use Cases
Aug 11, 21 π I saved Anemic Domain Model
Aug 11, 21 π I saved Value Objects - DDD w/ TypeScript
Aug 11, 21 π I saved iOS 15, Humane
Aug 10, 21 π I saved Don't overabstract your components
Jul 16, 21 π I wrote about Creating a PDF with React in the Browser
Jul 14, 21 π I saved Meta Theme Color and Trickery
Jul 13, 21 π I wrote about Sending data from layout to leaf routes in Remix
Jun 29, 21 π I wrote about Using Service Workers with Remix
Jun 29, 21 π I wrote about Localizing Remix apps with i18next
Jun 29, 21 π I wrote about Adding CSRF protection to Remix
Jun 28, 21 π οΈ I published how to Load only the data you need in Remix
Jun 18, 21 π I wrote about Server-Side authentication with Auth0 in Remix
Jun 17, 21 π I wrote about Using TailwindCSS with Remix
Jun 17, 21 π οΈ I published how to Use ETags in Remix
Jun 16, 21 π I wrote about Jest Matchers for Remix responses
Jun 01, 21 π I wrote about Using Form Objects inside Remix actions
Jun 01, 21 π I wrote about Route protection in Remix with Policies
May 27, 21 π οΈ I published how to Redirect to the original URL inside a Remix action
May 20, 21 π οΈ I published how to Read search params with JS
May 18, 21 π οΈ I published how to Use ActiveModel::Serializer with non ActiveRecord object
May 17, 21 π οΈ I published how to Serialize list of items with ActiveModel::Serializer
May 17, 21 π οΈ I published how to Use serializers with JSON.stringify and JSON.parse
May 12, 21 π οΈ I published how to Force a locale in Rails I18n from the params
May 11, 21 π I wrote about Que es un bundler de JS
May 07, 21 π I wrote about Remix vs Next.js Comparison
Apr 26, 21 π I saved Imagining native skip links
Mar 24, 21 π οΈ I published how to Add missing `created_at` and `updated_at` columns in Rails
Mar 23, 21 π I saved Rails design patterns - The big picture
Mar 03, 21 π I wrote about How to rename a column in a Rails migration
Mar 03, 21 π I saved Before You memo()
Feb 23, 21 π I wrote about Usar variables de entorno en Next.js
Feb 23, 21 π I saved Implement a Skip Link for Navigation-Heavy Sites
Feb 16, 21 π I saved Meaningful Motion with Action-Driven Animation
Feb 10, 21 π I saved An Interactive Guide to CSS Transitions
Feb 09, 21 π οΈ I published how to Build your own RSS Reader
Feb 01, 21 π οΈ I published how to Keep Heading Levels Consistent with React Context
Jan 31, 21 π I saved Preload: What Is It Good For?
Jan 28, 21 π I saved The unreasonable effectiveness of simple HTML
Jan 27, 21 π I saved Open Peeps
Jan 23, 21 π I saved System Design 101
Jan 17, 21 π I saved A primer on investing for designers and developers
Jan 14, 21 π I wrote about About
Jan 14, 21 π I saved In Critical Defense of Frontend Develop
Jan 14, 21 π I saved Be Wary of Nesting Roles
Jan 03, 21 π I saved Accessible SVGs
Dec 23, 20 π I wrote about ΒΏQuΓ© son Server Components de React y cΓ³mo se relacionan con SSR/SSG/ISR?
Dec 23, 20 π I wrote about π₯ Pro Tip: Name your useEffect functions
Dec 17, 20 π I saved dotCSS 2019 - Sarah Dayan - In Defense of Utility-First CSS
Dec 10, 20 π I saved Alt-texts: The Ultimate Guide
Dec 09, 20 π I saved Polymorphic React Components in TypeScript
Dec 08, 20 π I saved CSS and Scalability
Dec 06, 20 π I wrote about Using MDX with Remote Content
Nov 23, 20 π I saved The UI and UX Tips Collection: Volume One.
Nov 23, 20 π I saved Practical React Query
Nov 17, 20 π οΈ I published how to Use TailwindCSS Typography with Dark Mode Styles
Nov 16, 20 π I saved Don't design for mobile
Nov 13, 20 π I saved Stop Using βDrop-downβ
Oct 25, 20 π I saved Decoupling, Architecture and Teams
Oct 22, 20 π I saved The Lava Layer Anti-Pattern
Oct 22, 20 π I saved UI as an afterthought
Oct 18, 20 π I wrote about Todo lo que sΓ© de SWR
Sep 13, 20 π I saved In 2020, what is "frontend" π€¨
Sep 07, 20 π I saved How React Query gives you almost everything you thought you needed GraphQL for
Sep 07, 20 π I saved Wormhole state management
Sep 07, 20 π I saved Todo el software estΓ‘ roto
Sep 07, 20 π I saved What is the Value of Browser Diversity?
Sep 06, 20 π I saved Margins and Composability in CSS
Sep 04, 20 π I saved Nailing Your First (Info-Product) Launch
Sep 01, 20 π I saved Defining Component APIs in React
Sep 01, 20 π I saved The Modern Front-End Design System Stack
Sep 01, 20 π I saved Building the New facebook.com with React, GraphQL and Relay
Sep 01, 20 π I saved Architecting UIs for Change
Sep 01, 20 π I saved When frontend means full stack
Sep 01, 20 π I saved Building a Button Part 2: Hover Interactions
Aug 26, 20 π I saved Building a Button Part 1: Press Events
Aug 26, 20 π I wrote about The States of the UI
Aug 25, 20 π I saved About HTML semantics and front-end architecture
Aug 24, 20 π I saved "Semantic" CSS
Aug 24, 20 π I saved CSS Utility Classes and "Separation of Concerns"
Aug 24, 20 π I saved Second-guessing the modern web
Aug 24, 20 π I saved A clean start for the web
Aug 24, 20 π I wrote about What I Use
Aug 23, 20 π I saved Writing Type-Safe Polymorphic React Components (Without Crashing TypeScript)
Aug 23, 20 π I saved Using SwiftUI's Spacer to Create Complex Layouts
Aug 23, 20 π I saved Most tech content is bullshit
Aug 23, 20 π I saved The Art of UI Skeletons
Aug 23, 20 π I saved How to Design a Web Application: Software Architecture 101
Aug 23, 20 π I saved Shared Hook State with SWR
Aug 23, 20 π I saved Testing in the Frontend World
Aug 23, 20 π I saved The Real Dark Web
Aug 23, 20 π I saved The Elements of UI Engineering
Aug 23, 20 π I saved frontend design, react, and a bridge over the great divide
Aug 23, 20 π I saved The Great Divide
Aug 23, 20 π I saved We have a problem with promises
Aug 23, 20 π I saved Taming the asynchronous beast with ES7
Aug 23, 20 π I saved The Fault in Our Tolerance: Accounting for Failures in React
Aug 23, 20 π I saved 7 Principles of Rich Web Applications
Aug 23, 20 π I saved π± My blog is a digital garden, not a blog
Aug 23, 20 π I saved Shape Up: Stop Running in Circles and Ship Work that Matters
Aug 23, 20 π I saved How the Blog Broke the Web
Aug 23, 20 π I saved Turning the database inside-out with Apache Samza
Aug 23, 20 π I saved Design Systems and Front-End Architecture by Stuart Robson
Aug 23, 20 π I saved How to Section Your HTML
Aug 23, 20 π I saved write on your own website
Aug 23, 20 π I saved Going Indie. Step 2: Reclaiming Content
Aug 23, 20 π I saved Just write
Aug 23, 20 π I saved The Documentation Compendium
Aug 23, 20 π I saved Why Text Buttons Hurt Mobile Usability
Aug 23, 20 π I saved Bulletproof node.js project architecture π‘οΈ
Aug 23, 20 π I saved The Power of Sensible Defaults
Aug 23, 20 π I saved HTML Reference
Aug 23, 20 π I saved CSS Reference
Aug 23, 20 π I saved The God Login
Aug 23, 20 π I saved Your Body Text Is Too Small
Aug 23, 20 π I saved Architecture as a burden
Aug 23, 20 π I saved The Architecture of Open Source Applications (Volume 2): Scalable Web Architecture and Distributed Systems
Aug 23, 20 π I saved Scaling React Server-Side Rendering
Aug 23, 20 π I saved Refactoring UI
Aug 23, 20 π I saved Cards
Aug 23, 20 π I saved Introducing Grial
Aug 23, 20 π I saved Aplicando estilos a Pulse Editor con styled-components
Aug 23, 20 π I saved Usando socket.io en aplicaciones de Next.js
Aug 23, 20 π I saved Depurando aplicaciones de Node.js v8.0.0
Aug 23, 20 π I saved Personalizando Babel.js en aplicaciones de Next.js
Aug 23, 20 π I saved Creando botones propios para Pulse Editor
Aug 23, 20 π I saved Te presentamos la nueva versiΓ³n de Node.js
Aug 23, 20 π I saved Creando sitios estΓ‘ticos con Next.js
Aug 23, 20 π I saved Implementando Pulse Editor
Aug 23, 20 π I saved AplicaciΓ³n de escritorio Pulse
Aug 23, 20 π I saved Presentamos Pulse Editor
Aug 23, 20 π I saved Crea aplicaciones de escritorio con Electron y Next.js
Aug 23, 20 π I saved Implementa Progressive server-side render con Next.js
Aug 23, 20 π I saved Next.js, el futuro de las aplicaciones con React
Aug 23, 20 π I saved Manejo de dependencias JavaScript con Yarn
Aug 23, 20 π I saved Deploy y orquestaciΓ³n de microservicios con now.sh
Aug 23, 20 π I saved IntroducciΓ³n a JSON Web Tokens (JWT)
Aug 23, 20 π I saved ΒΏQuΓ© es y para quΓ© sirve Babel?
Aug 23, 20 π I saved Desarrollando aplicaciones de escritorio con Electron.js
Aug 23, 20 π I saved ΒΏQuΓ© es una aplicaciΓ³n isomΓ³rfica?
Aug 23, 20 π I saved Crea microservicios en Node.js con micro.js
Aug 23, 20 π I saved Usando React.js en el servidor con Django
Aug 23, 20 π I saved Estado inmutable con Redux e Immutable.js
Aug 23, 20 π I saved Componentes de Alto Orden en React.js
Aug 23, 20 π I saved Obteniendo datos en aplicaciones de Redux
Aug 23, 20 π I saved Usando Redux en el servidor con Socket.io
Aug 23, 20 π I saved Creando cΓ³digo modular con ducks de Redux
Aug 23, 20 π I saved Renderizando aplicaciones de Redux en el servidor
Aug 23, 20 π I saved Manejo de errores en Redux.js
Aug 23, 20 π I saved Migrando a Redux
Aug 23, 20 π I saved Ruteo en aplicaciones de Redux y React.js
Aug 23, 20 π I saved Glosario de tΓ©rminos de Redux
Aug 23, 20 π I saved Estructura de archivos Ducks para Redux.js
Aug 23, 20 π I saved Pruebas unitarias en Redux.js
Aug 23, 20 π I saved Acciones asΓncronas en Redux.js
Aug 23, 20 π I saved Middlewares en Redux.js
Aug 23, 20 π I wrote about Como me iniciΓ© en el desarrollo web
Aug 18, 20 π I wrote about Why build a non-RESTful API
Aug 15, 20 π I wrote about How I work with static assets in React apps
Aug 13, 20 π I wrote about How shallow: true works in Rails
Aug 11, 20 π I wrote about Build an Optimistic UI in React using SWR with useMutation
Jul 23, 20 π I wrote about Como organizo mis aplicaciones de React
Jul 16, 20 π I wrote about How I Organize React Applications
Jul 16, 20 π I wrote about Usa React.Suspense para controlar la carga de imagenes
Jul 15, 20 π I wrote about Data-Aware Components
Jun 24, 20 π I wrote about Collected Notes TS Client
Jun 20, 20 π οΈ I published how to Use SWR with Geolocation
Jun 19, 20 π I wrote about Using Collected Notes as CMS
Jun 06, 20 π οΈ I published how to Sync WebApp Session Status between Tabs with SWR
May 15, 20 π οΈ I published how to Sync SWR cache with Web Storage
May 15, 20 π οΈ I published how to Configure Google Suite MX records in Vercel
May 12, 20 π οΈ I published how to Report Web Vitals in Next.js
May 11, 20 π οΈ I published how to Use React.Suspense to wait for an image to load
May 09, 20 π οΈ I published how to Purge unused CSS with TailwindCSS
May 09, 20 π οΈ I published how to Setup a redirect inside a project deployed to Vercel
May 09, 20 π οΈ I published how to Use a scoped registry with Yarn
May 09, 20 π I wrote about Using Immer with SWR to mutate data
May 09, 20 π I wrote about Render as you Fetch Pattern in React with SWR
Jan 23, 20 π I wrote about Prefetching Data in a Next.js Application with SWR
Jan 22, 20 π I wrote about What Type of States Could You Find in a Client-Side Application?
Jan 21, 20 π I wrote about Using Tailwind with Next.js
Dec 26, 19 π I wrote about Using Suspense for Data Fetching Today with SWR
Nov 21, 19 π I wrote about Using Paginated Data with SWR
Nov 20, 19 π I wrote about Introduction to SWR
Nov 20, 19 π οΈ I published how to Automatically Publish to npm using GitHub Actions
Oct 29, 19 π I wrote about Feature Flags in React with Flagged
Oct 26, 19 π I wrote about Next.js File Structure
Aug 27, 19 π I wrote about Testing in Next.js: Dynamic Imports
Aug 22, 19 π I wrote about Redirects in Next.js, the Best Way
Aug 20, 19 π I wrote about Working with Forms in React without libraries
Jun 19, 19 π I wrote about Working with conditions and lists in React
Jun 18, 19 π I wrote about Introduction to React with the State and Effects hooks
Jun 15, 19 π I wrote about Introducing Contentz
Apr 23, 19 π I wrote about Career Titles and Levels in Tech
Apr 09, 19 π I wrote about Deploy de Contentz a Netlify
Mar 21, 19 π I wrote about Contentz es Omakase
Mar 21, 19 π I wrote about Conceptos bΓ‘sicos de JS: Array#forEach
Mar 12, 19 π I wrote about CΓ³mo crear y publicar un mΓ³dulo para npm
Mar 11, 19 π I wrote about Aplicaciones web con Zero Server
Mar 06, 19 π I wrote about Presentando Contentz
Mar 05, 19 π I wrote about Uso del prop children en React
Feb 26, 19 π I wrote about Componentes con Hijos Personalizables en React
Feb 26, 19 π I wrote about ComposiciΓ³n de Componentes en React
Feb 26, 19 π I wrote about Tipos de datos en React
Feb 26, 19 π I wrote about Props con valores predefinidos en React
Feb 26, 19 π I wrote about Componente de React personalizables usando props
Feb 26, 19 π I wrote about Componentes con React
Feb 26, 19 π I wrote about Hola Mundo con React
Feb 26, 19 π I wrote about Cargando React desde un CDN
Feb 26, 19 π I wrote about Mi Static Site Generator ideal
Feb 25, 19 π I wrote about AutomatizaciΓ³n con Shell Scripts
Feb 23, 19 π I wrote about Conceptos bΓ‘sicos de JS: Array#push
Feb 11, 19 π I wrote about Conceptos bΓ‘sicos de JS: Array#filter
Feb 08, 19 π I wrote about Conceptos bΓ‘sicos de JS: Array#map
Feb 07, 19 π I wrote about Usando Generadores AsΓncronos en JavaScript
Jan 30, 19 π I wrote about Carrusel de elementos dinΓ‘micos con React.js
Jan 29, 19 π I wrote about Scalable Real-Time Applications
Jan 11, 19 π I wrote about Aplicaciones Real-Time de Alta Escala
Jan 06, 19 π I wrote about React v16.6: lazy, memo y mΓ‘s
Oct 24, 18 π I wrote about IntroducciΓ³n a MDX
May 09, 18 π I wrote about Documentation, Lessons Learned
Jan 17, 18 π I wrote about DocumentaciΓ³n, Lecciones Aprendidas
Jan 17, 18 π I wrote about ΒΏCΓ³mo mantenerse actualizado con el ecosistema de JavaScript?
Jan 12, 18 π I wrote about Renderizando Markdown en React.js
Jan 06, 18 π I wrote about An Accessible Approach to FrontendΒ Testing
Sep 30, 17 π I wrote about How to keep updated with the JavaScript ecosystem?
Aug 06, 17 π I wrote about Implementando un Servidor de GraphQL
Jul 07, 17 π I wrote about Bye Platzi, hi β²ZEIT
Jul 07, 17 π I wrote about Ciclo de vida de un componente de React.js
Jul 06, 17 π I wrote about Mezclando flujos sΓncronos y asΓncronos usando promesas en JavaScript
Jun 23, 17 π I wrote about IntroducciΓ³n a GraphQL
May 29, 17 π I wrote about QuΓ© son y cΓ³mo funcionan las promesas en JavaScript
Mar 06, 17 π I wrote about Sobre el ecosistema y la fatiga de JavaScript
Oct 10, 16 π I wrote about Combinando React.js y Redux.js
Mar 28, 16 π I wrote about IntroducciΓ³n a Redux.js
Mar 23, 16 π I wrote about Compilando el Frontend con webpack
Sep 28, 15 π I wrote about InternacionalizaciΓ³n con React.js y FormatJS
Sep 27, 15 π I wrote about IntroducciΓ³n a ECMAScript 2016/7
Sep 25, 15 π I wrote about Mi experiencia como estudiante de los cursos de Platzi
Sep 10, 15 π I wrote about Lo nuevo en React v0.14
Jul 08, 15 π I wrote about Usando ECMAScript 6 en tus tareas de Gulp
Jun 09, 15 π I wrote about Usando ECMAScript 6/2015 con Babel
Jun 09, 15 π I wrote about Buenas prΓ‘cticas del desarrollo FrontEnd
Jun 08, 15 π I wrote about Renderizando React.js en el server con Express.js y react-engine
Jun 01, 15 π I wrote about ECMAScript 6: nueva sintaxis y caracterΓsticas para JavaScript
Apr 24, 15 π I wrote about CΓ³mo usar la etiqueta template en HTML5
Jan 04, 15 π I wrote about AutomatizaciΓ³n de tareas de frontend usando Gulp.js
Dec 22, 14 π I wrote about Uso de mΓ³dulos en JavaScript con ECMAScript 6
Nov 07, 14 π I wrote about Escribiendo CSS de la forma correcta
Oct 31, 14 π I wrote about Definiendo conceptos - Closure y Scope en JavaScript
Jul 31, 14 π I wrote about Ventajas y desventajas de los pre-procesadores de CSS
Jul 08, 14 π I wrote about ΒΏQuΓ© es Scrum? ΒΏY cΓ³mo te ayuda trabajar?
Jul 06, 14 π I wrote about El mΓ³dulo Flexbox de CSS3
Dec 15, 13 π I wrote about JavaScript orientado a objetos
Aug 23, 13