Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. I'm writing to let you know I've just published a new post about using generating Open Graph images in Remix(the preview images that show up when you past links into social media sites). Vercel has published a pretty cool package for this and I was pleasantly surprised to find that it works just fine in Remix! Check out with the link below. See how I tackled the image generation, and some problems that came up, and how I solved them(or settled with not solving them). Dynamic OG Images With Remix Hope it's useful and that you have a relaxing Sunday. ✌️ David |
For developers looking to learn useful tips and tricks.
React Router Tip Debounce Requests in React Router v7 Have you ever implemented a search input filter for table or grid of data in your app that needs to initiate fetching new, filtered, data? If you want to initiate the requests as the user changes the filter value without having to manually click a submit button you likely want to debounce those requests. Do you use a debounce hook and resort to useEffect to kick of requests?? No! There's a much easier way that doesn't involve adding a...
Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. I'm super jazzed about what I have for you today! One of the inherent benefits of Single Page Apps(SPAs) I took for granted was the logging that comes out of the box via the Network tab in the console. Every api request happens in the browser and you can easily inspect those which is super handy. Once you move to something like Remix/React Router 7, you become painfully aware that you've lost access to that...
Hey y'all, David here. You signed up for my newsletter at programmingarehard.com. Sometimes I have ideas I want to test out in my Remix / React Router apps. But.... I don't want the overhead of doing it in my actual apps or, on the opposite end of the spectrum, want to start from a blank slate. I found the address book tutorial and thought that surely the end result was published somewhere. Not the case. So I went ahead and bit the bullet by going through it and pushing the end result to a...