[{"type_of":"article","id":4812423,"title":"SLX Serial Check on GitHub: serial testing with React and Rust","description":"SLX Serial Check on GitHub: serial board testing with React, TypeScript, Rust and Tauri. Configurable sequences, traceable results and Windows/Linux packages.","readable_publish_date":"Oct 7","slug":"slx-serial-check-on-github-serial-testing-with-react-and-rust-2mg4","path":"/pezzullo/slx-serial-check-on-github-serial-testing-with-react-and-rust-2mg4","url":"https://dev.to/pezzullo/slx-serial-check-on-github-serial-testing-with-react-and-rust-2mg4","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T13:03:38Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto/https%3A%2F%2Fwww.siliconlogix.it%2Fassets%2Fprojects%2Fgithub%2Fslx-serialcheck%2Freadme-cover-9fd31f4df7fa.webp","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto/https%3A%2F%2Fwww.siliconlogix.it%2Fassets%2Fprojects%2Fgithub%2Fslx-serialcheck%2Freadme-cover-9fd31f4df7fa.webp","canonical_url":"https://www.siliconlogix.it/en/article/slx-serial-check-on-github-serial-testing-with-react-and-rust","created_at":"2026-10-07T13:03:38Z","edited_at":"2026-10-07T13:57:42Z","crossposted_at":null,"published_at":"2026-10-07T13:03:38Z","last_comment_at":"2026-10-07T13:03:38Z","reading_time_minutes":7,"tag_list":["react","typescript","rust","tauri"],"tags":"react, typescript, rust, tauri","user":{"name":"Marco","username":"pezzullo","twitter_username":null,"github_username":null,"user_id":3920651,"website_url":"https://www.siliconlogix.it","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3920651%2F9ef050df-df52-4756-987e-57e731257437.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3920651%2F9ef050df-df52-4756-987e-57e731257437.png"}},{"type_of":"article","id":4812188,"title":"Cancelling In-Flight VIN Decode Fetches on Navigation and Unmount","description":"A free VIN decode often means fetch to NHTSA DecodeVinValues (or your thin proxy) from a React route....","readable_publish_date":"Oct 7","slug":"cancelling-in-flight-vin-decode-fetches-on-navigation-and-unmount-1ojb","path":"/vin_lookup_8dbd4710f77e9e/cancelling-in-flight-vin-decode-fetches-on-navigation-and-unmount-1ojb","url":"https://dev.to/vin_lookup_8dbd4710f77e9e/cancelling-in-flight-vin-decode-fetches-on-navigation-and-unmount-1ojb","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T12:19:11Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjdgyoqy8rfd8ple9cyim.png","canonical_url":"https://dev.to/vin_lookup_8dbd4710f77e9e/cancelling-in-flight-vin-decode-fetches-on-navigation-and-unmount-1ojb","created_at":"2026-10-07T12:19:11Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T12:19:11Z","last_comment_at":"2026-10-07T12:19:11Z","reading_time_minutes":4,"tag_list":["typescript","webdev","react","cars"],"tags":"typescript, webdev, react, cars","user":{"name":"Vin Lookup","username":"vin_lookup_8dbd4710f77e9e","twitter_username":null,"github_username":null,"user_id":4166251,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4166251%2F4d0717ae-4352-4479-ac58-42f513953152.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4166251%2F4d0717ae-4352-4479-ac58-42f513953152.png"}},{"type_of":"article","id":4856569,"title":"How We Built HydroBid: Offline Quoting for Pressure Washing Crews (Capacitor + Dexie)","description":"TL;DR   HydroBid is a Capacitor + React app for pressure washing / soft wash estimates....","readable_publish_date":"Oct 15","slug":"how-we-built-hydrobid-offline-quoting-for-pressure-washing-crews-capacitor-dexie-2nom","path":"/knox_studios_minion/how-we-built-hydrobid-offline-quoting-for-pressure-washing-crews-capacitor-dexie-2nom","url":"https://dev.to/knox_studios_minion/how-we-built-hydrobid-offline-quoting-for-pressure-washing-crews-capacitor-dexie-2nom","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-15T12:47:28Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftkg74k3k241okidyl72n.png","canonical_url":"https://dev.to/knox_studios_minion/how-we-built-hydrobid-offline-quoting-for-pressure-washing-crews-capacitor-dexie-2nom","created_at":"2026-10-15T12:47:28Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-15T12:47:28Z","last_comment_at":"2026-10-15T12:47:28Z","reading_time_minutes":3,"tag_list":["capacitor","react","typescript","offline"],"tags":"capacitor, react, typescript, offline","user":{"name":"Knox_Studios_little_minion","username":"knox_studios_minion","twitter_username":null,"github_username":null,"user_id":4057337,"website_url":"https://knoxstudios.net/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4057337%2Fd03eb344-5098-4072-87a9-e14e59e6809e.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4057337%2Fd03eb344-5098-4072-87a9-e14e59e6809e.png"}},{"type_of":"article","id":4812141,"title":"SSR/Hydration Pitfalls for VIN Decode Forms (Server Empty, Client Filled)","description":"VIN lookup forms look simple: an input, a button, a result card. Under SSR (Next.js, Remix, or any...","readable_publish_date":"Oct 7","slug":"ssrhydration-pitfalls-for-vin-decode-forms-server-empty-client-filled-2hm7","path":"/vin_lookup_8dbd4710f77e9e/ssrhydration-pitfalls-for-vin-decode-forms-server-empty-client-filled-2hm7","url":"https://dev.to/vin_lookup_8dbd4710f77e9e/ssrhydration-pitfalls-for-vin-decode-forms-server-empty-client-filled-2hm7","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T12:08:13Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8e6ayevphq7nb29qdegr.png","canonical_url":"https://dev.to/vin_lookup_8dbd4710f77e9e/ssrhydration-pitfalls-for-vin-decode-forms-server-empty-client-filled-2hm7","created_at":"2026-10-07T12:08:13Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T12:08:13Z","last_comment_at":"2026-10-07T12:08:13Z","reading_time_minutes":4,"tag_list":["typescript","webdev","react","cars"],"tags":"typescript, webdev, react, cars","user":{"name":"Vin Lookup","username":"vin_lookup_8dbd4710f77e9e","twitter_username":null,"github_username":null,"user_id":4166251,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4166251%2F4d0717ae-4352-4479-ac58-42f513953152.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4166251%2F4d0717ae-4352-4479-ac58-42f513953152.png"}},{"type_of":"article","id":4812041,"title":"Why React components from npm render unstyled with Tailwind v3","description":"Install a React component library, import a Button, render it. The label shows up and the click...","readable_publish_date":"Oct 7","slug":"why-react-components-from-npm-render-unstyled-with-tailwind-v3-4ci1","path":"/oguzhanayyldz/why-react-components-from-npm-render-unstyled-with-tailwind-v3-4ci1","url":"https://dev.to/oguzhanayyldz/why-react-components-from-npm-render-unstyled-with-tailwind-v3-4ci1","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T11:43:14Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fuqezgg8btrc0sbpgkr73.png","canonical_url":"https://moonui.hashnode.dev/why-react-components-from-npm-render-unstyled-with-tailwind-v3-and-the-fixes","created_at":"2026-10-07T11:43:14Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T11:43:14Z","last_comment_at":"2026-10-07T11:43:14Z","reading_time_minutes":4,"tag_list":["react","tailwindcss","webdev","javascript"],"tags":"react, tailwindcss, webdev, javascript","user":{"name":"Oğuzhan Ayyıldız","username":"oguzhanayyldz","twitter_username":null,"github_username":"oguzhanayyldz","user_id":4168741,"website_url":"https://moonui.dev","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4168741%2F1e86e42b-076c-418c-bcd6-ef067f656c08.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4168741%2F1e86e42b-076c-418c-bcd6-ef067f656c08.jpg"}},{"type_of":"article","id":4811998,"title":"React Error Boundaries Around VIN Decode Widgets Without Blanking the Page","description":"A free VIN decode widget can throw: bad JSON from a proxy, an unexpected null in a field mapper, a...","readable_publish_date":"Oct 7","slug":"react-error-boundaries-around-vin-decode-widgets-without-blanking-the-page-2no2","path":"/vin_lookup_8dbd4710f77e9e/react-error-boundaries-around-vin-decode-widgets-without-blanking-the-page-2no2","url":"https://dev.to/vin_lookup_8dbd4710f77e9e/react-error-boundaries-around-vin-decode-widgets-without-blanking-the-page-2no2","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T11:34:34Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgdm01byup9zyagm8k1cc.png","canonical_url":"https://dev.to/vin_lookup_8dbd4710f77e9e/react-error-boundaries-around-vin-decode-widgets-without-blanking-the-page-2no2","created_at":"2026-10-07T11:34:34Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T11:34:34Z","last_comment_at":"2026-10-07T11:34:34Z","reading_time_minutes":4,"tag_list":["typescript","webdev","react","cars"],"tags":"typescript, webdev, react, cars","user":{"name":"Vin Lookup","username":"vin_lookup_8dbd4710f77e9e","twitter_username":null,"github_username":null,"user_id":4166251,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4166251%2F4d0717ae-4352-4479-ac58-42f513953152.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4166251%2F4d0717ae-4352-4479-ac58-42f513953152.png"}},{"type_of":"article","id":4811429,"title":"Our comparison tables have three states, and 15 of their 46 rows hand the win to the other product","description":"A competitor comparison page is a set of public assertions about somebody else's business. Three states instead of two, a required sentence in every cell, and a source note that renders nothing when there is nothing to cite.","readable_publish_date":"Oct 7","slug":"our-comparison-tables-have-three-states-and-15-of-their-46-rows-hand-the-win-to-the-other-product-1901","path":"/daniel_pertu/our-comparison-tables-have-three-states-and-15-of-their-46-rows-hand-the-win-to-the-other-product-1901","url":"https://dev.to/daniel_pertu/our-comparison-tables-have-three-states-and-15-of-their-46-rows-hand-the-win-to-the-other-product-1901","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T09:36:31Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgen1eew0w1ml03yfq9it.png","canonical_url":"https://dev.to/daniel_pertu/our-comparison-tables-have-three-states-and-15-of-their-46-rows-hand-the-win-to-the-other-product-1901","created_at":"2026-10-07T09:36:31Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T09:36:31Z","last_comment_at":"2026-10-07T09:36:31Z","reading_time_minutes":5,"tag_list":["webdev","seo","react","typescript"],"tags":"webdev, seo, react, typescript","user":{"name":"Daniel Pertu","username":"daniel_pertu","twitter_username":null,"github_username":null,"user_id":3981169,"website_url":"https://cogniprep.app","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg"}},{"type_of":"article","id":4811426,"title":"Building a Smarter useIdle Hook in React: Solving the Short-Timeout Edge Case","description":"Tracking user inactivity in web applications seems straightforward at first. You listen to a few...","readable_publish_date":"Oct 7","slug":"building-a-smarter-useidle-hook-in-react-solving-the-short-timeout-edge-case-38n7","path":"/saurav_tb_pandey/building-a-smarter-useidle-hook-in-react-solving-the-short-timeout-edge-case-38n7","url":"https://dev.to/saurav_tb_pandey/building-a-smarter-useidle-hook-in-react-solving-the-short-timeout-edge-case-38n7","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T09:35:26Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa6qitb97chttr35nmqul.png","canonical_url":"https://dev.to/saurav_tb_pandey/building-a-smarter-useidle-hook-in-react-solving-the-short-timeout-edge-case-38n7","created_at":"2026-10-07T09:35:26Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T09:35:26Z","last_comment_at":"2026-10-07T09:35:26Z","reading_time_minutes":3,"tag_list":["reacthooklab","react","webdev","opensource"],"tags":"reacthooklab, react, webdev, opensource","user":{"name":"Saurav Pandey","username":"saurav_tb_pandey","twitter_username":null,"github_username":null,"user_id":4030684,"website_url":"https://saurav-tb-pandey.vercel.app/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4030684%2F00a97a98-d0c0-454d-9685-afb5d1a78a3f.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4030684%2F00a97a98-d0c0-454d-9685-afb5d1a78a3f.png"}},{"type_of":"article","id":4835048,"title":"Architectural Breakdown: Architectural Patterns for High-Throughput Async Backends in Python: A Comp","description":"![Architecture...","readable_publish_date":"Oct 12","slug":"architectural-breakdown-architectural-patterns-for-high-throughput-async-backends-in-python-a-comp-4no3","path":"/agenticstack/architectural-breakdown-architectural-patterns-for-high-throughput-async-backends-in-python-a-comp-4no3","url":"https://dev.to/agenticstack/architectural-breakdown-architectural-patterns-for-high-throughput-async-backends-in-python-a-comp-4no3","comments_count":1,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-10-12T00:08:47Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fft4r95tui51xai163wuj.png","canonical_url":"https://dev.to/agenticstack/architectural-breakdown-architectural-patterns-for-high-throughput-async-backends-in-python-a-comp-4no3","created_at":"2026-10-12T00:08:47Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-12T00:08:47Z","last_comment_at":"2026-10-12T15:41:41Z","reading_time_minutes":5,"tag_list":["python","react","nextjs","webdev"],"tags":"python, react, nextjs, webdev","user":{"name":"Muhammad Hammad","username":"agenticstack","twitter_username":null,"github_username":"Hammad-Solutions","user_id":4088560,"website_url":"https://www.shipmvp.tech","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4088560%2F6d5a6484-0c1b-4100-8c09-191cd226a00d.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4088560%2F6d5a6484-0c1b-4100-8c09-191cd226a00d.jpg"}},{"type_of":"article","id":4817642,"title":"I Got Tired of Android Mac File Transfers, So I Built an Open-Source File Manager","description":"Building a cross-platform file manager with Electron, React and Vite, with Android transfer over USB and Wi-Fi.","readable_publish_date":"Oct 8","slug":"i-got-tired-of-android-mac-file-transfers-so-i-built-an-open-source-file-manager-4fmg","path":"/shaileshss1911/i-got-tired-of-android-mac-file-transfers-so-i-built-an-open-source-file-manager-4fmg","url":"https://dev.to/shaileshss1911/i-got-tired-of-android-mac-file-transfers-so-i-built-an-open-source-file-manager-4fmg","comments_count":2,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-08T11:27:51Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3q1lnr3x41x4ru6s8dv3.png","canonical_url":"https://dev.to/shaileshss1911/i-got-tired-of-android-mac-file-transfers-so-i-built-an-open-source-file-manager-4fmg","created_at":"2026-10-08T11:27:51Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-08T11:27:51Z","last_comment_at":"2026-10-08T21:19:29Z","reading_time_minutes":2,"tag_list":["opensource","electron","react","showdev"],"tags":"opensource, electron, react, showdev","user":{"name":"Shailesh Gokhale","username":"shaileshss1911","twitter_username":null,"github_username":"shailesh-ss-19-11","user_id":1940711,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1940711%2F8b87536a-7e38-4248-9d1c-4fe07edb5d25.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1940711%2F8b87536a-7e38-4248-9d1c-4fe07edb5d25.jpeg"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":4810610,"title":"Yet Another React Component Library","description":"Back in February I wrote a post called Type-Level Library Dependency Injection. The short version:...","readable_publish_date":"Oct 7","slug":"yet-another-react-component-library-jlp","path":"/eugenioenko/yet-another-react-component-library-jlp","url":"https://dev.to/eugenioenko/yet-another-react-component-library-jlp","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T07:06:10Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frh0fvuhiofxs97i3w0sh.png","canonical_url":"https://dev.to/eugenioenko/yet-another-react-component-library-jlp","created_at":"2026-10-07T07:06:10Z","edited_at":"2026-10-07T07:13:02Z","crossposted_at":null,"published_at":"2026-10-07T07:06:10Z","last_comment_at":"2026-10-07T07:06:10Z","reading_time_minutes":3,"tag_list":["react","typescript","webdev"],"tags":"react, typescript, webdev","user":{"name":"Eugene Yakhnenko","username":"eugenioenko","twitter_username":null,"github_username":"eugenioenko","user_id":1225296,"website_url":"https://eugene.yakhnenko.com","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1225296%2Ffaac6a57-1b68-4e94-a89a-c5bc28538079.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1225296%2Ffaac6a57-1b68-4e94-a89a-c5bc28538079.jpeg"}},{"type_of":"article","id":4808855,"title":"How to create a virtual machines in azure : A Step-by-Step Guide","description":"What Is a Virtual Machine? A Virtual Machine (VM) is a software-based computer that runs inside a...","readable_publish_date":"Oct 7","slug":"how-to-create-a-virtual-machines-in-azure-a-step-by-step-guide-2d1c","path":"/oserieme/how-to-create-a-virtual-machines-in-azure-a-step-by-step-guide-2d1c","url":"https://dev.to/oserieme/how-to-create-a-virtual-machines-in-azure-a-step-by-step-guide-2d1c","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T16:09:28Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foh8leldzpfhzypp1mywd.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foh8leldzpfhzypp1mywd.png","canonical_url":"https://dev.to/oserieme/how-to-create-a-virtual-machines-in-azure-a-step-by-step-guide-2d1c","created_at":"2026-10-06T20:21:15Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T16:09:28Z","last_comment_at":"2026-10-07T16:09:28Z","reading_time_minutes":6,"tag_list":["webdev","programming","beginners","react"],"tags":"webdev, programming, beginners, react","user":{"name":"Ebhomien Oserieme","username":"oserieme","twitter_username":null,"github_username":"oserieme","user_id":4130430,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4130430%2F0cdab7dd-625f-4203-b4d1-cd5f5be1448d.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4130430%2F0cdab7dd-625f-4203-b4d1-cd5f5be1448d.png"}},{"type_of":"article","id":4787596,"title":"React.js ~Testing Accesibility of Fragment Refs~","description":"Testing Accessibility with Fragment Refs   In my previous post, I introduced Fragment Refs....","readable_publish_date":"Oct 7","slug":"reactjs-testing-accesibility-of-fragment-refs-42bp","path":"/kkr0423/reactjs-testing-accesibility-of-fragment-refs-42bp","url":"https://dev.to/kkr0423/reactjs-testing-accesibility-of-fragment-refs-42bp","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-10-07T12:15:46Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6jf60naufe66eah6bf6o.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6jf60naufe66eah6bf6o.png","canonical_url":"https://dev.to/kkr0423/reactjs-testing-accesibility-of-fragment-refs-42bp","created_at":"2026-10-02T13:28:34Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T12:15:46Z","last_comment_at":"2026-10-07T12:15:46Z","reading_time_minutes":2,"tag_list":["webdev","programming","react","frontend"],"tags":"webdev, programming, react, frontend","user":{"name":"Ogasawara Kakeru","username":"kkr0423","twitter_username":null,"github_username":"kkr0423","user_id":2091087,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2091087%2F848260f3-b067-4b18-8dbc-34f77d4456a3.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2091087%2F848260f3-b067-4b18-8dbc-34f77d4456a3.jpg"}},{"type_of":"article","id":4811448,"title":"The breadcrumb you click and the BreadcrumbList a crawler parses are the same array, and our homepage renders neither","description":"Two implementations of one trail drift apart silently, and the drift only shows up in Search Console weeks later. One function returns the trail, two call sites render it, and both stop on the same condition.","readable_publish_date":"Oct 7","slug":"the-breadcrumb-you-click-and-the-breadcrumblist-a-crawler-parses-are-the-same-array-and-our-3cja","path":"/daniel_pertu/the-breadcrumb-you-click-and-the-breadcrumblist-a-crawler-parses-are-the-same-array-and-our-3cja","url":"https://dev.to/daniel_pertu/the-breadcrumb-you-click-and-the-breadcrumblist-a-crawler-parses-are-the-same-array-and-our-3cja","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T09:39:34Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7idwbbfr287vxfvwigxs.png","canonical_url":"https://dev.to/daniel_pertu/the-breadcrumb-you-click-and-the-breadcrumblist-a-crawler-parses-are-the-same-array-and-our-3cja","created_at":"2026-10-07T09:39:34Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T09:39:34Z","last_comment_at":"2026-10-07T09:39:34Z","reading_time_minutes":4,"tag_list":["nextjs","seo","react","webdev"],"tags":"nextjs, seo, react, webdev","user":{"name":"Daniel Pertu","username":"daniel_pertu","twitter_username":null,"github_username":null,"user_id":3981169,"website_url":"https://cogniprep.app","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg"}},{"type_of":"article","id":4833863,"title":"🔥 30 Days of Frontend — Day 4: Memoization in React","description":"Have you ever looked at a React component and thought:  “Maybe I should wrap this function with...","readable_publish_date":"Oct 11","slug":"30-days-of-frontend-day-4-memoization-in-react-3bid","path":"/alaa-samy/30-days-of-frontend-day-4-memoization-in-react-3bid","url":"https://dev.to/alaa-samy/30-days-of-frontend-day-4-memoization-in-react-3bid","comments_count":1,"public_reactions_count":0,"collection_id":30297,"published_timestamp":"2026-10-11T17:42:00Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl8pxwq9fh3j30n3a4t6l.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl8pxwq9fh3j30n3a4t6l.png","canonical_url":"https://dev.to/alaa-samy/30-days-of-frontend-day-4-memoization-in-react-3bid","created_at":"2026-10-11T17:42:00Z","edited_at":"2026-10-11T17:43:44Z","crossposted_at":null,"published_at":"2026-10-11T17:42:00Z","last_comment_at":"2026-10-12T15:41:33Z","reading_time_minutes":6,"tag_list":["react","javascript","frontend","performance"],"tags":"react, javascript, frontend, performance","user":{"name":"Alaa Samy","username":"alaa-samy","twitter_username":null,"github_username":null,"user_id":1350016,"website_url":"https://www.linkedin.com/in/alaa-samy123/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1350016%2Fe967c13d-26a9-4925-b0ea-1feeeb0af4a6.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1350016%2Fe967c13d-26a9-4925-b0ea-1feeeb0af4a6.png"}},{"type_of":"article","id":4819394,"title":"If AI Can Build Your Charts, Why Learn Recharts?","description":"You can ask an AI coding tool to build a Recharts component for you, give it some sample data and a...","readable_publish_date":"Oct 11","slug":"if-ai-can-build-your-charts-why-learn-recharts-53l7","path":"/oluwadamisisamuel1/if-ai-can-build-your-charts-why-learn-recharts-53l7","url":"https://dev.to/oluwadamisisamuel1/if-ai-can-build-your-charts-why-learn-recharts-53l7","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-10-11T14:29:27Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr2y120py1r0tfij9sbis.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr2y120py1r0tfij9sbis.png","canonical_url":"https://dev.to/oluwadamisisamuel1/if-ai-can-build-your-charts-why-learn-recharts-53l7","created_at":"2026-10-08T17:33:53Z","edited_at":"2026-10-12T07:57:50Z","crossposted_at":null,"published_at":"2026-10-11T14:29:27Z","last_comment_at":"2026-10-11T14:29:27Z","reading_time_minutes":8,"tag_list":["ai","discuss","react","nextjs"],"tags":"ai, discuss, react, nextjs","user":{"name":"Oluwadamisi Samuel Praise","username":"oluwadamisisamuel1","twitter_username":null,"github_username":"PandaBear-1","user_id":1111689,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1111689%2Ff29dff81-7216-4e08-a0e8-1d39d346e1a9.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1111689%2Ff29dff81-7216-4e08-a0e8-1d39d346e1a9.jpeg"},"flare_tag":{"name":"discuss","bg_color_hex":"#71EA8B","text_color_hex":"#FFFFFF"}},{"type_of":"article","id":4887780,"title":"🚀 Proud to share my personal portfolio!\r\nI specialize in building pixel-perfect, responsive web experiences with React.js and Next.js.\r\n🔗https://ibadkhandev.vercel.app/\r\nI’d love to hear your feedback\r\n#WebDevelopment #ReactJS #NextJS #Portfolio #DevShowcase","description":"...","readable_publish_date":"Oct 21","slug":"proud-to-share-my-personal-portfolio-i-specialize-in-building-pixel-perfect-responsive-web-2lnp","path":"/ibad_khan_5a547d3af4e0416/proud-to-share-my-personal-portfolio-i-specialize-in-building-pixel-perfect-responsive-web-2lnp","url":"https://dev.to/ibad_khan_5a547d3af4e0416/proud-to-share-my-personal-portfolio-i-specialize-in-building-pixel-perfect-responsive-web-2lnp","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-21T07:38:49Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxbm4ma0cbormznvjdtxi.png","canonical_url":"https://dev.to/ibad_khan_5a547d3af4e0416/proud-to-share-my-personal-portfolio-i-specialize-in-building-pixel-perfect-responsive-web-2lnp","created_at":"2026-10-21T07:38:49Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-21T07:38:49Z","last_comment_at":"2026-10-21T07:38:49Z","reading_time_minutes":1,"tag_list":["nextjs","portfolio","react","webdev"],"tags":"nextjs, portfolio, react, webdev","user":{"name":"ibad khan","username":"ibad_khan_5a547d3af4e0416","twitter_username":null,"github_username":null,"user_id":1990797,"website_url":"https://ibadkhandev.vercel.app/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1990797%2Fe061adea-a9bf-4770-abc9-f0a8d568bbd5.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1990797%2Fe061adea-a9bf-4770-abc9-f0a8d568bbd5.jpg"}},{"type_of":"article","id":4815543,"title":"Forms That Feel Like Progress: Building Multi-Step Registration That Doesn't Feel Like Paperwork","description":"Nobody wakes up excited to fill out a form.  I think that's the most honest starting point for this...","readable_publish_date":"Oct 8","slug":"forms-that-feel-like-progress-building-multi-step-registration-that-doesnt-feel-like-paperwork-21od","path":"/urvish_16/forms-that-feel-like-progress-building-multi-step-registration-that-doesnt-feel-like-paperwork-21od","url":"https://dev.to/urvish_16/forms-that-feel-like-progress-building-multi-step-registration-that-doesnt-feel-like-paperwork-21od","comments_count":1,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-08T04:51:55Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F07fzg92bl7ansa75lojo.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F07fzg92bl7ansa75lojo.jpg","canonical_url":"https://dev.to/urvish_16/forms-that-feel-like-progress-building-multi-step-registration-that-doesnt-feel-like-paperwork-21od","created_at":"2026-10-08T04:51:55Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-08T04:51:55Z","last_comment_at":"2026-10-08T15:30:15Z","reading_time_minutes":27,"tag_list":["react","webdev","tailwindcss","ux"],"tags":"react, webdev, tailwindcss, ux","user":{"name":"Urvish","username":"urvish_16","twitter_username":null,"github_username":null,"user_id":4169626,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4169626%2F246effef-592c-4849-8f33-50412a19c4df.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4169626%2F246effef-592c-4849-8f33-50412a19c4df.png"}},{"type_of":"article","id":4813247,"title":"Build a Live Odds Comparison Dashboard with React and WebSockets in One Evening","description":"Liquid syntax error: Variable '{{% raw %}' was not properly terminated with regexp: /\\}\\}/","readable_publish_date":"Oct 7","slug":"build-a-live-odds-comparison-dashboard-with-react-and-websockets-in-one-evening-3m65","path":"/orbistats/build-a-live-odds-comparison-dashboard-with-react-and-websockets-in-one-evening-3m65","url":"https://dev.to/orbistats/build-a-live-odds-comparison-dashboard-with-react-and-websockets-in-one-evening-3m65","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T15:55:27Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo41kzp2ch8jmyl073c1s.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo41kzp2ch8jmyl073c1s.png","canonical_url":"https://dev.to/orbistats/build-a-live-odds-comparison-dashboard-with-react-and-websockets-in-one-evening-3m65","created_at":"2026-10-07T15:55:27Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T15:55:27Z","last_comment_at":"2026-10-07T15:55:27Z","reading_time_minutes":8,"tag_list":["react","websocket","sportsdata","api"],"tags":"react, websocket, sportsdata, api","user":{"name":"orbistats","username":"orbistats","twitter_username":null,"github_username":null,"user_id":4128592,"website_url":"https://orbistats.com/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4128592%2F14967761-af2b-4040-8ef3-7763e7f4e21b.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4128592%2F14967761-af2b-4040-8ef3-7763e7f4e21b.png"}},{"type_of":"article","id":4811246,"title":"🚀 New React Challenge: Undo / Redo","description":"Most apps let users make changes but never let them take them back. This challenge is about building...","readable_publish_date":"Oct 7","slug":"new-react-challenge-undo-redo-40h0","path":"/reactchallenges/new-react-challenge-undo-redo-40h0","url":"https://dev.to/reactchallenges/new-react-challenge-undo-redo-40h0","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-10-07T09:04:45Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmv93d1fa545fon23a9uu.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmv93d1fa545fon23a9uu.png","canonical_url":"https://www.reactchallenges.com/challenges/undo-redo","created_at":"2026-10-07T09:04:46Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T09:04:45Z","last_comment_at":"2026-10-07T09:04:45Z","reading_time_minutes":3,"tag_list":["react","javascript","frontend","frontendchallenge"],"tags":"react, javascript, frontend, frontendchallenge","user":{"name":"ReactChallenges","username":"reactchallenges","twitter_username":null,"github_username":null,"user_id":854942,"website_url":"https://www.reactchallenges.com/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F854942%2Fe450946a-3098-4715-8d06-0892ab9ac221.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F854942%2Fe450946a-3098-4715-8d06-0892ab9ac221.png"}},{"type_of":"article","id":4816803,"title":"A discount has to show up on the pages that do not sell anything, which is how one price component became two","description":"Someone who arrives on a creator link should not see the full price in the one place that quotes it without selling it. Here is the component that strikes the old figure out, why it compares formatted strings instead of pence, and why the struck figure is hidden from screen readers.","readable_publish_date":"Oct 8","slug":"a-discount-has-to-show-up-on-the-pages-that-do-not-sell-anything-which-is-how-one-price-component-6f8","path":"/daniel_pertu/a-discount-has-to-show-up-on-the-pages-that-do-not-sell-anything-which-is-how-one-price-component-6f8","url":"https://dev.to/daniel_pertu/a-discount-has-to-show-up-on-the-pages-that-do-not-sell-anything-which-is-how-one-price-component-6f8","comments_count":1,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-08T09:20:35Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr6ut4oh45s3au4tq1dbz.png","canonical_url":"https://dev.to/daniel_pertu/a-discount-has-to-show-up-on-the-pages-that-do-not-sell-anything-which-is-how-one-price-component-6f8","created_at":"2026-10-08T09:20:35Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-08T09:20:35Z","last_comment_at":"2026-10-08T12:11:35Z","reading_time_minutes":4,"tag_list":["react","webdev","typescript","a11y"],"tags":"react, webdev, typescript, a11y","user":{"name":"Daniel Pertu","username":"daniel_pertu","twitter_username":null,"github_username":null,"user_id":3981169,"website_url":"https://cogniprep.app","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg"}},{"type_of":"article","id":4812579,"title":"React Router DOM","description":"What is React Router DOM?   React Router DOM is a library used in React applications to...","readable_publish_date":"Oct 7","slug":"react-router-dom-28ej","path":"/mahalakshmi_c_48a15c7871b/react-router-dom-28ej","url":"https://dev.to/mahalakshmi_c_48a15c7871b/react-router-dom-28ej","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T13:31:14Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkiyb1pq8op60065049wx.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkiyb1pq8op60065049wx.png","canonical_url":"https://dev.to/mahalakshmi_c_48a15c7871b/react-router-dom-28ej","created_at":"2026-10-07T13:31:14Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T13:31:14Z","last_comment_at":"2026-10-07T13:31:14Z","reading_time_minutes":3,"tag_list":["react"],"tags":"react","user":{"name":"Mahalakshmi C","username":"mahalakshmi_c_48a15c7871b","twitter_username":null,"github_username":null,"user_id":4019569,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4019569%2F25bd9fa6-d1d3-4b4e-b76d-6a84cdde2d18.webp","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4019569%2F25bd9fa6-d1d3-4b4e-b76d-6a84cdde2d18.webp"}},{"type_of":"article","id":4822307,"title":"Eliminating First-3-Minute Churn in a Developer SaaS: Radical Simplification \u0026 Building a Custom React Product Tour","description":"Introduction   Hey everyone! I'm UK, a solo developer building SnappySnag, a visual feedback...","readable_publish_date":"Oct 9","slug":"eliminating-first-3-minute-churn-in-a-developer-saas-radical-simplification-building-a-custom-3bpf","path":"/utokazu/eliminating-first-3-minute-churn-in-a-developer-saas-radical-simplification-building-a-custom-3bpf","url":"https://dev.to/utokazu/eliminating-first-3-minute-churn-in-a-developer-saas-radical-simplification-building-a-custom-3bpf","comments_count":2,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-10-09T09:28:55Z","language":"en","subforem_id":1,"ai_disclosure_level":"some_ai","ai_disclosure_label":"AI-assisted","positive_reactions_count":2,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyu350rwfg6lxl9528388.png","canonical_url":"https://dev.to/utokazu/eliminating-first-3-minute-churn-in-a-developer-saas-radical-simplification-building-a-custom-3bpf","created_at":"2026-10-09T09:09:40Z","edited_at":"2026-10-09T16:03:12Z","crossposted_at":null,"published_at":"2026-10-09T09:28:55Z","last_comment_at":"2026-10-09T14:27:14Z","reading_time_minutes":6,"tag_list":["react","nextjs","webdev","showdev"],"tags":"react, nextjs, webdev, showdev","user":{"name":"UK","username":"utokazu","twitter_username":null,"github_username":null,"user_id":4162737,"website_url":"https://snappysnag.com","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4162737%2F2d9132a2-e148-439e-8cb4-7b760d181db1.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4162737%2F2d9132a2-e148-439e-8cb4-7b760d181db1.png"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":4809216,"title":"I made a quantum circuit tool that doesn’t feel like a textbook","description":"I got tired of quantum tools feeling like homework, so I built my own.  So, when I first started...","readable_publish_date":"Oct 6","slug":"i-made-a-quantum-circuit-tool-that-doesnt-feel-like-a-textbook-3l9p","path":"/decodeaditya_plus/i-made-a-quantum-circuit-tool-that-doesnt-feel-like-a-textbook-3l9p","url":"https://dev.to/decodeaditya_plus/i-made-a-quantum-circuit-tool-that-doesnt-feel-like-a-textbook-3l9p","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-06T22:27:57Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzdmrdvxd2k8j2zzj2df5.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzdmrdvxd2k8j2zzj2df5.png","canonical_url":"https://dev.to/decodeaditya_plus/i-made-a-quantum-circuit-tool-that-doesnt-feel-like-a-textbook-3l9p","created_at":"2026-10-06T22:27:57Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-06T22:27:57Z","last_comment_at":"2026-10-06T22:27:57Z","reading_time_minutes":2,"tag_list":["react","javascript","opensource","showdev"],"tags":"react, javascript, opensource, showdev","user":{"name":"Aditya Pal","username":"decodeaditya_plus","twitter_username":null,"github_username":null,"user_id":3470456,"website_url":"https://decodeaditya.github.io","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3470456%2Ffb1c1170-c329-4726-b41d-da1bf51bbe1e.webp","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3470456%2Ffb1c1170-c329-4726-b41d-da1bf51bbe1e.webp"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":4883247,"title":"Six phases on a player's phone, and only one of them is a transition the phone is allowed to make on its own","description":"The screen a quiz player looks at is a six-state machine where five transitions arrive as server events. The interesting code is not the states, it is the five guards that stop the phone ever moving backwards.","readable_publish_date":"Oct 20","slug":"six-phases-on-a-players-phone-and-only-one-of-them-is-a-transition-the-phone-is-allowed-to-make-37io","path":"/daniel_pertu/six-phases-on-a-players-phone-and-only-one-of-them-is-a-transition-the-phone-is-allowed-to-make-37io","url":"https://dev.to/daniel_pertu/six-phases-on-a-players-phone-and-only-one-of-them-is-a-transition-the-phone-is-allowed-to-make-37io","comments_count":1,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-20T12:32:10Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgr98ex5rro3843wdr9h8.png","canonical_url":"https://dev.to/daniel_pertu/six-phases-on-a-players-phone-and-only-one-of-them-is-a-transition-the-phone-is-allowed-to-make-37io","created_at":"2026-10-20T12:32:10Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-20T12:32:10Z","last_comment_at":"2026-10-21T18:01:06Z","reading_time_minutes":5,"tag_list":["react","typescript","webdev","websockets"],"tags":"react, typescript, webdev, websockets","user":{"name":"Daniel Pertu","username":"daniel_pertu","twitter_username":null,"github_username":null,"user_id":3981169,"website_url":"https://cogniprep.app","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg"}},{"type_of":"article","id":4808869,"title":"How to Fix the \"window is not defined\" Error in Next.js 13","description":"If you've moved a React project into Next.js 13, there's a good chance you've hit this error at least...","readable_publish_date":"Oct 6","slug":"how-to-fix-the-window-is-not-defined-error-in-nextjs-13-5922","path":"/sanjivsutar/how-to-fix-the-window-is-not-defined-error-in-nextjs-13-5922","url":"https://dev.to/sanjivsutar/how-to-fix-the-window-is-not-defined-error-in-nextjs-13-5922","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-06T20:30:06Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto/https%3A%2F%2Fsanjivsutar.in%2Fapi%2Fmedia%2F2026%2F09%2Fb96cb8a2-886a-4e1f-b0f2-8f0c6e76617e.webp","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto/https%3A%2F%2Fsanjivsutar.in%2Fapi%2Fmedia%2F2026%2F09%2Fb96cb8a2-886a-4e1f-b0f2-8f0c6e76617e.webp","canonical_url":"https://sanjivsutar.in/blog/window-not-defined-error-nextjs-13","created_at":"2026-10-06T20:27:51Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-06T20:30:06Z","last_comment_at":"2026-10-06T20:30:06Z","reading_time_minutes":4,"tag_list":["tutorial","react","nextjs","node"],"tags":"tutorial, react, nextjs, node","user":{"name":"sanjiv sutar","username":"sanjivsutar","twitter_username":null,"github_username":"sanjivsut","user_id":4166129,"website_url":"https://sanjivsutar.in","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4166129%2F489122fd-44c3-4775-b27d-04620c44674b.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4166129%2F489122fd-44c3-4775-b27d-04620c44674b.png"}},{"type_of":"article","id":4811519,"title":"The product demo on our landing page is 70 KB of DOM and zero video requests","description":"A muted looping screen recording is the normal way to show a live app on a marketing page. We render a scripted mock instead, in the same components and tokens as the real UI, and the whole thing costs less than the hero image.","readable_publish_date":"Oct 7","slug":"the-product-demo-on-our-landing-page-is-70-kb-of-dom-and-zero-video-requests-4pde","path":"/daniel_pertu/the-product-demo-on-our-landing-page-is-70-kb-of-dom-and-zero-video-requests-4pde","url":"https://dev.to/daniel_pertu/the-product-demo-on-our-landing-page-is-70-kb-of-dom-and-zero-video-requests-4pde","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-07T09:56:57Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe911vlnhim5he104rq93.png","canonical_url":"https://dev.to/daniel_pertu/the-product-demo-on-our-landing-page-is-70-kb-of-dom-and-zero-video-requests-4pde","created_at":"2026-10-07T09:56:57Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T09:56:57Z","last_comment_at":"2026-10-07T09:56:57Z","reading_time_minutes":5,"tag_list":["webdev","react","webperf","nextjs"],"tags":"webdev, react, webperf, nextjs","user":{"name":"Daniel Pertu","username":"daniel_pertu","twitter_username":null,"github_username":null,"user_id":3981169,"website_url":"https://cogniprep.app","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3981169%2F83f3f6c9-9d75-47a7-9b7c-c28d13594696.jpg"}},{"type_of":"article","id":4810026,"title":"Axios in React","description":"What is Axios?   Axios is a JavaScript library used to make HTTP requests. In a React...","readable_publish_date":"Oct 7","slug":"axios-in-react-1g0j","path":"/abimanyu_p_9e75124634d2a4/axios-in-react-1g0j","url":"https://dev.to/abimanyu_p_9e75124634d2a4/axios-in-react-1g0j","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-10-07T04:29:41Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5m5x0mhr716ezphrfj0a.png","canonical_url":"https://dev.to/abimanyu_p_9e75124634d2a4/axios-in-react-1g0j","created_at":"2026-10-07T04:29:41Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-07T04:29:41Z","last_comment_at":"2026-10-07T04:29:41Z","reading_time_minutes":4,"tag_list":["react","webdev","programming","tutorial"],"tags":"react, webdev, programming, tutorial","user":{"name":"Abimanyu P","username":"abimanyu_p_9e75124634d2a4","twitter_username":null,"github_username":null,"user_id":4023005,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4023005%2F38a6ca5d-5dfa-4f27-be2c-c310ab542392.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4023005%2F38a6ca5d-5dfa-4f27-be2c-c310ab542392.png"}},{"type_of":"article","id":4831735,"title":"Add a 3D globe to your Next.js site with one prompt","description":"I make Globestudio, a free, open-source studio for dotted maps and 3D globes. I recently added an...","readable_publish_date":"Oct 14","slug":"add-a-3d-globe-to-your-nextjs-site-with-one-prompt-34ce","path":"/alevizio/add-a-3d-globe-to-your-nextjs-site-with-one-prompt-34ce","url":"https://dev.to/alevizio/add-a-3d-globe-to-your-nextjs-site-with-one-prompt-34ce","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-14T15:02:00Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd6180qq9gbgujl2ennfz.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fd6180qq9gbgujl2ennfz.png","canonical_url":"https://dev.to/alevizio/add-a-3d-globe-to-your-nextjs-site-with-one-prompt-34ce","created_at":"2026-10-11T07:31:00Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-14T15:02:00Z","last_comment_at":"2026-10-14T15:02:00Z","reading_time_minutes":11,"tag_list":["nextjs","react","webdev","ai"],"tags":"nextjs, react, webdev, ai","user":{"name":"Alejandro Vizio","username":"alevizio","twitter_username":null,"github_username":null,"user_id":4176520,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4176520%2F44752cd2-e8d8-4f8b-b16a-abe2934479ed.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4176520%2F44752cd2-e8d8-4f8b-b16a-abe2934479ed.jpg"}},{"type_of":"article","id":4851490,"title":"React: estados de email que no mienten","description":"Un patrón de React y accesibilidad para mostrar con honestidad los estados de verificación de email, sin foco perdido ni falsos éxitos.","readable_publish_date":"Oct 14","slug":"react-estados-de-email-que-no-mienten-hci","path":"/silviutech/react-estados-de-email-que-no-mienten-hci","url":"https://dev.to/silviutech/react-estados-de-email-que-no-mienten-hci","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-10-14T17:23:00Z","language":"es","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7pf72xhzcbe8ga001jlu.png","canonical_url":"https://dev.to/silviutech/react-estados-de-email-que-no-mienten-hci","created_at":"2026-10-14T17:23:00Z","edited_at":null,"crossposted_at":null,"published_at":"2026-10-14T17:23:00Z","last_comment_at":"2026-10-14T17:23:00Z","reading_time_minutes":5,"tag_list":["react","a11y","frontend","performance"],"tags":"react, a11y, frontend, performance","user":{"name":"Silviu Technology","username":"silviutech","twitter_username":null,"github_username":null,"user_id":4013497,"website_url":"https://www.tiktok.com/@silviu.technology","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4013497%2F7d1c82f4-cd78-412d-908d-981280990b57.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4013497%2F7d1c82f4-cd78-412d-908d-981280990b57.png"}}]