[{"type_of":"article","id":3491080,"title":"The 2026 Developer Manifesto: Mastering the AI-Native and RSC Stack","description":"A few weeks ago, I shared how I built my 0ms latency developer workbench, FmtDev, using pure Next.js...","readable_publish_date":"Apr 17","slug":"the-2026-developer-manifesto-mastering-the-ai-native-and-rsc-stack-2coi","path":"/mihokoto/the-2026-developer-manifesto-mastering-the-ai-native-and-rsc-stack-2coi","url":"https://dev.to/mihokoto/the-2026-developer-manifesto-mastering-the-ai-native-and-rsc-stack-2coi","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T11:47:47Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fweylgg4793p79l8zcq7d.png","canonical_url":"https://fmtdev.dev/en/blog/the-2026-developer-manifesto","created_at":"2026-04-12T17:32:38Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T11:47:47Z","last_comment_at":"2026-04-17T11:47:47Z","reading_time_minutes":5,"tag_list":["nextjs","react","ai","architecture"],"tags":"nextjs, react, ai, architecture","user":{"name":"CallmeMiho","username":"mihokoto","twitter_username":null,"github_username":null,"user_id":3812431,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3812431%2F63dd2d1b-85e7-4447-93c7-0047e8f01ed0.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3812431%2F63dd2d1b-85e7-4447-93c7-0047e8f01ed0.png"}},{"type_of":"article","id":3517749,"title":"Why I Switched from React to Vue (And Back Again) - Updated April 18, 2026","description":"Switching between frameworks can feel like changing lanes on a crowded highway. You’re constantly...","readable_publish_date":"Apr 18","slug":"why-i-switched-from-react-to-vue-and-back-again-updated-april-18-2026-3i0o","path":"/mukhtar_abdussalam_0de093/why-i-switched-from-react-to-vue-and-back-again-updated-april-18-2026-3i0o","url":"https://dev.to/mukhtar_abdussalam_0de093/why-i-switched-from-react-to-vue-and-back-again-updated-april-18-2026-3i0o","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T02:28:40Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fu7aec7904ninnz11h2fb.png","canonical_url":"https://dev.to/mukhtar_abdussalam_0de093/why-i-switched-from-react-to-vue-and-back-again-updated-april-18-2026-3i0o","created_at":"2026-04-18T02:28:40Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T02:28:40Z","last_comment_at":"2026-04-18T02:28:40Z","reading_time_minutes":3,"tag_list":["react","vue","javascript"],"tags":"react, vue, javascript","user":{"name":"Mukhtar Abdussalam","username":"mukhtar_abdussalam_0de093","twitter_username":null,"github_username":null,"user_id":3844235,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3844235%2F12baceec-e604-449b-9aae-0b8e8632d2a1.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3844235%2F12baceec-e604-449b-9aae-0b8e8632d2a1.jpg"}},{"type_of":"article","id":3515084,"title":"Facehash: A Simple React Avatar Generator for User Profiles","description":"Introduction   Most apps need avatars. You might need them for user profiles, comments, chat...","readable_publish_date":"Apr 17","slug":"facehash-a-simple-react-avatar-generator-for-user-profiles-dgo","path":"/harshalranjhani/facehash-a-simple-react-avatar-generator-for-user-profiles-dgo","url":"https://dev.to/harshalranjhani/facehash-a-simple-react-avatar-generator-for-user-profiles-dgo","comments_count":1,"public_reactions_count":6,"collection_id":null,"published_timestamp":"2026-04-17T10:40:09Z","language":"en","subforem_id":1,"positive_reactions_count":6,"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.amazonaws.com%2Fuploads%2Farticles%2Fsca61cr8z9llb1ftli36.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.amazonaws.com%2Fuploads%2Farticles%2Fsca61cr8z9llb1ftli36.png","canonical_url":"https://harshalranjhani.in/blog/facehash-for-react-avatar-generator","created_at":"2026-04-17T10:40:09Z","edited_at":"2026-04-17T10:51:40Z","crossposted_at":null,"published_at":"2026-04-17T10:40:09Z","last_comment_at":"2026-04-17T13:27:02Z","reading_time_minutes":4,"tag_list":["javascript","react","showdev","ui"],"tags":"javascript, react, showdev, ui","user":{"name":"Harshal Ranjhani","username":"harshalranjhani","twitter_username":null,"github_username":"harshalranjhani","user_id":1170773,"website_url":"https://harshalranjhani.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1170773%2F2bac91aa-e18b-4dbb-92d3-5dcd72afc21b.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1170773%2F2bac91aa-e18b-4dbb-92d3-5dcd72afc21b.png"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":3513717,"title":"I got tired of every \"draggable\" library being 30KB and opinionated about my CSS - so I built react-driftkit","description":"small, unstyled primitives for floating UI. No providers. No design system. Tree-shakable.    You...","readable_publish_date":"Apr 17","slug":"i-got-tired-of-every-draggable-library-being-30kb-and-opinionated-about-my-css-so-i-built-2k9i","path":"/shakcho/i-got-tired-of-every-draggable-library-being-30kb-and-opinionated-about-my-css-so-i-built-2k9i","url":"https://dev.to/shakcho/i-got-tired-of-every-draggable-library-being-30kb-and-opinionated-about-my-css-so-i-built-2k9i","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T05:57:23Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Ff8dvimu3q6tzf8d670kb.png","canonical_url":"https://dev.to/shakcho/i-got-tired-of-every-draggable-library-being-30kb-and-opinionated-about-my-css-so-i-built-2k9i","created_at":"2026-04-17T05:57:23Z","edited_at":"2026-04-17T06:12:51Z","crossposted_at":null,"published_at":"2026-04-17T05:57:23Z","last_comment_at":"2026-04-17T05:57:23Z","reading_time_minutes":5,"tag_list":["opensource","typescript","react","javascript"],"tags":"opensource, typescript, react, javascript","user":{"name":"Sakti Chourasia","username":"shakcho","twitter_username":"shakcho","github_username":"shakcho","user_id":3883649,"website_url":"https://saktichourasia.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3883649%2Ffb00f0ed-6d57-4108-8a37-fa3837d7abd8.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3883649%2Ffb00f0ed-6d57-4108-8a37-fa3837d7abd8.jpg"}},{"type_of":"article","id":3514444,"title":"Vibe coding feels great… until debugging","description":"The hidden problem with fast-growing codebases (and why debugging gets harder over...","readable_publish_date":"Apr 17","slug":"vibe-coding-feels-great-until-debugging-pao","path":"/hoangsondeveloper/vibe-coding-feels-great-until-debugging-pao","url":"https://dev.to/hoangsondeveloper/vibe-coding-feels-great-until-debugging-pao","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T08:55:51Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Ft0l4qvej43ni99tzk4dl.png","canonical_url":"https://dev.to/hoangsondeveloper/vibe-coding-feels-great-until-debugging-pao","created_at":"2026-04-17T08:55:51Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T08:55:51Z","last_comment_at":"2026-04-17T08:55:51Z","reading_time_minutes":2,"tag_list":["react","reactnative","redux","zustand"],"tags":"react, reactnative, redux, zustand","user":{"name":"John Nguyen","username":"hoangsondeveloper","twitter_username":null,"github_username":"HoangSonDeveloper","user_id":3883854,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3883854%2F8239f751-b529-42e6-bf3e-2543a9fb7ba9.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3883854%2F8239f751-b529-42e6-bf3e-2543a9fb7ba9.png"}},{"type_of":"article","id":3517344,"title":"How I Made My React Components 3x Smaller Using AI Prompts","description":"How I Made My React Components 3x Smaller Using AI Prompts   As a React developer with years...","readable_publish_date":"Apr 17","slug":"how-i-made-my-react-components-3x-smaller-using-ai-prompts-48hd","path":"/apollo_ag/how-i-made-my-react-components-3x-smaller-using-ai-prompts-48hd","url":"https://dev.to/apollo_ag/how-i-made-my-react-components-3x-smaller-using-ai-prompts-48hd","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T23:02:47Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fytr3qlaik82eg5x2rsbb.png","canonical_url":"https://dev.to/apollo_ag/how-i-made-my-react-components-3x-smaller-using-ai-prompts-48hd","created_at":"2026-04-17T23:02:47Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T23:02:47Z","last_comment_at":"2026-04-17T23:02:47Z","reading_time_minutes":4,"tag_list":["react","javascript","ai","webdev"],"tags":"react, javascript, ai, webdev","user":{"name":"Apollo","username":"apollo_ag","twitter_username":null,"github_username":null,"user_id":3866234,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3866234%2F5c481189-d2ce-4b7d-b713-d592bc691e8f.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3866234%2F5c481189-d2ce-4b7d-b713-d592bc691e8f.png"}},{"type_of":"article","id":3512415,"title":"Otimizando a perfomance do Schepta com React","description":"Quando você cria um formulário com dezenas de campos, cada digitação do usuário não deveria custar...","readable_publish_date":"Apr 16","slug":"otimizando-a-perfomance-do-schepta-com-react-2k7h","path":"/jreeeedd/otimizando-a-perfomance-do-schepta-com-react-2k7h","url":"https://dev.to/jreeeedd/otimizando-a-perfomance-do-schepta-com-react-2k7h","comments_count":0,"public_reactions_count":5,"collection_id":null,"published_timestamp":"2026-04-16T22:04:16Z","language":"pt","subforem_id":1,"positive_reactions_count":5,"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.amazonaws.com%2Fuploads%2Farticles%2F2w6qffaj4bqshkusa0n3.png","canonical_url":"https://dev.to/jreeeedd/otimizando-a-perfomance-do-schepta-com-react-2k7h","created_at":"2026-04-16T21:50:00Z","edited_at":"2026-04-16T22:07:58Z","crossposted_at":null,"published_at":"2026-04-16T22:04:16Z","last_comment_at":"2026-04-16T22:04:16Z","reading_time_minutes":4,"tag_list":["architecture","javascript","performance","react"],"tags":"architecture, javascript, performance, react","user":{"name":"jreeeedd","username":"jreeeedd","twitter_username":null,"github_username":"guynikan","user_id":465625,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F465625%2Fa81c0bad-ce7e-4c4b-8a7d-11389f570e15.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F465625%2Fa81c0bad-ce7e-4c4b-8a7d-11389f570e15.png"}},{"type_of":"article","id":3585674,"title":"War Story: How a React 19 Open Source Contribution Got Me Headhunted by Meta in Q1 2026","description":"In Q1 2026, I merged a 142-line patch to React 19’s concurrent rendering scheduler that eliminated...","readable_publish_date":"Apr 29","slug":"war-story-how-a-react-19-open-source-contribution-got-me-headhunted-by-meta-in-q1-2026-3kej","path":"/johalputt/war-story-how-a-react-19-open-source-contribution-got-me-headhunted-by-meta-in-q1-2026-3kej","url":"https://dev.to/johalputt/war-story-how-a-react-19-open-source-contribution-got-me-headhunted-by-meta-in-q1-2026-3kej","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-29T09:41:42Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2F9xtw7d8oroe2rgv4u91v.png","canonical_url":"https://johal.in/war-story-react-19-open-source-contribution-got/","created_at":"2026-04-29T09:41:42Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-29T09:41:42Z","last_comment_at":"2026-04-29T09:41:42Z","reading_time_minutes":11,"tag_list":["story","react","open","source"],"tags":"story, react, open, source","user":{"name":"ANKUSH CHOUDHARY JOHAL","username":"johalputt","twitter_username":null,"github_username":null,"user_id":3900225,"website_url":"https://johal.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3900225%2F22802772-0488-478d-8833-af97d80457c2.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3900225%2F22802772-0488-478d-8833-af97d80457c2.png"}},{"type_of":"article","id":3593537,"title":"React + fetchstream-js: Render JSON as It Arrives","description":"Most React apps still wait for the full JSON response before showing anything. That means a loading...","readable_publish_date":"Apr 30","slug":"react-fetchstream-js-render-json-as-it-arrives-58jo","path":"/coding_inblood_7cb339747/react-fetchstream-js-render-json-as-it-arrives-58jo","url":"https://dev.to/coding_inblood_7cb339747/react-fetchstream-js-render-json-as-it-arrives-58jo","comments_count":0,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-04-30T21:26:25Z","language":"en","subforem_id":1,"positive_reactions_count":2,"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.amazonaws.com%2Fuploads%2Farticles%2Fizp3qow8gjvpg60c7rny.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.amazonaws.com%2Fuploads%2Farticles%2Fizp3qow8gjvpg60c7rny.png","canonical_url":"https://dev.to/coding_inblood_7cb339747/react-fetchstream-js-render-json-as-it-arrives-58jo","created_at":"2026-04-30T21:26:25Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-30T21:26:25Z","last_comment_at":"2026-04-30T21:26:25Z","reading_time_minutes":1,"tag_list":["webdev","react","javascript","ai"],"tags":"webdev, react, javascript, ai","user":{"name":"CODING IN BLOOD","username":"coding_inblood_7cb339747","twitter_username":null,"github_username":"eklavya-raj","user_id":1949985,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1949985%2F25115d43-b437-4954-a40a-2703cad0b9bb.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1949985%2F25115d43-b437-4954-a40a-2703cad0b9bb.jpg"}},{"type_of":"article","id":3513335,"title":"How I Built a Production Multi-Tenant SaaS Starter Kit with Laravel 12 + React 18 + TypeScript","description":"I've spent the last few years building a multi-tenant SaaS product from scratch. Real paying...","readable_publish_date":"Apr 17","slug":"how-i-built-a-production-multi-tenant-saas-starter-kit-with-laravel-12-react-18-typescript-3p08","path":"/tenantx/how-i-built-a-production-multi-tenant-saas-starter-kit-with-laravel-12-react-18-typescript-3p08","url":"https://dev.to/tenantx/how-i-built-a-production-multi-tenant-saas-starter-kit-with-laravel-12-react-18-typescript-3p08","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T03:29:16Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fvx17u9wpliovcs9md1c2.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.amazonaws.com%2Fuploads%2Farticles%2Fvx17u9wpliovcs9md1c2.png","canonical_url":"https://dev.to/tenantx/how-i-built-a-production-multi-tenant-saas-starter-kit-with-laravel-12-react-18-typescript-3p08","created_at":"2026-04-17T03:29:16Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T03:29:16Z","last_comment_at":"2026-04-17T03:29:16Z","reading_time_minutes":3,"tag_list":["laravel","react","saas","typescript"],"tags":"laravel, react, saas, typescript","user":{"name":"Tenantx","username":"tenantx","twitter_username":null,"github_username":null,"user_id":3883546,"website_url":"https://tenantx.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3883546%2Ff2575315-57cb-4722-8a12-a6f9c990f102.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3883546%2Ff2575315-57cb-4722-8a12-a6f9c990f102.png"}},{"type_of":"article","id":3516250,"title":"C14: The Complete Guide to Every New Feature","description":"C# 14 is here, and it's packed with features that will make your code cleaner, more expressive, and...","readable_publish_date":"Apr 17","slug":"c14-the-complete-guide-to-every-new-feature-1nb4","path":"/vikrant_bagal_afae3e25ca7/c14-the-complete-guide-to-every-new-feature-1nb4","url":"https://dev.to/vikrant_bagal_afae3e25ca7/c14-the-complete-guide-to-every-new-feature-1nb4","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T15:29:10Z","language":"en","subforem_id":1,"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%2Fiili.io%2FBULWGna.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fiili.io%2FBULWGna.jpg","canonical_url":"https://dev.to/vikrant_bagal_afae3e25ca7/c14-the-complete-guide-to-every-new-feature-1nb4","created_at":"2026-04-17T15:26:40Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T15:29:10Z","last_comment_at":"2026-04-17T15:29:10Z","reading_time_minutes":7,"tag_list":["dotnet","react","javascript","webdev"],"tags":"dotnet, react, javascript, webdev","user":{"name":"Vikrant Bagal","username":"vikrant_bagal_afae3e25ca7","twitter_username":null,"github_username":null,"user_id":2052722,"website_url":"https://vrbagalcnd.github.io/portfolio-site/","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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2052722%2F5ff69926-3e59-4393-a400-db81ecbe2ab6.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2052722%2F5ff69926-3e59-4393-a400-db81ecbe2ab6.png"}},{"type_of":"article","id":3620088,"title":"Lighthouse Said It Was Fast. My Users Kept Clicking the Same Button.","description":"The bug wasn’t performance. It was silence.   I ran into this while building a Next.js...","readable_publish_date":"May 6","slug":"lighthouse-said-it-was-fast-my-users-kept-clicking-the-same-button-4lng","path":"/shubhradev/lighthouse-said-it-was-fast-my-users-kept-clicking-the-same-button-4lng","url":"https://dev.to/shubhradev/lighthouse-said-it-was-fast-my-users-kept-clicking-the-same-button-4lng","comments_count":5,"public_reactions_count":14,"collection_id":null,"published_timestamp":"2026-05-06T09:46:33Z","language":"en","subforem_id":1,"positive_reactions_count":14,"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.amazonaws.com%2Fuploads%2Farticles%2Fx0hd2k2py8rcplq6lpsl.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.amazonaws.com%2Fuploads%2Farticles%2Fx0hd2k2py8rcplq6lpsl.png","canonical_url":"https://dev.to/shubhradev/lighthouse-said-it-was-fast-my-users-kept-clicking-the-same-button-4lng","created_at":"2026-05-06T09:46:34Z","edited_at":"2026-05-06T09:51:34Z","crossposted_at":null,"published_at":"2026-05-06T09:46:33Z","last_comment_at":"2026-05-09T15:46:51Z","reading_time_minutes":3,"tag_list":["webdev","performance","nextjs","react"],"tags":"webdev, performance, nextjs, react","user":{"name":"Shubhra Pokhariya","username":"shubhradev","twitter_username":null,"github_username":null,"user_id":3462235,"website_url":"https://shubhra.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3462235%2Fa195c0cb-1004-4a1a-93f4-ecb8593c6884.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3462235%2Fa195c0cb-1004-4a1a-93f4-ecb8593c6884.jpg"}},{"type_of":"article","id":3511935,"title":"Instant Navigations, Bye Vendor Lock-in, Ultracite, Blocking Bots, Distributed 'use cache', varlock, Vertical Codebase","description":"🔥 Hot              Next.js Canary: Ensuring Instant Navigations   A new guide covering how...","readable_publish_date":"Apr 16","slug":"instant-navigations-bye-vendor-lock-in-ultracite-blocking-bots-distributed-use-cache-33i3","path":"/erfanebrahimnia/instant-navigations-bye-vendor-lock-in-ultracite-blocking-bots-distributed-use-cache-33i3","url":"https://dev.to/erfanebrahimnia/instant-navigations-bye-vendor-lock-in-ultracite-blocking-bots-distributed-use-cache-33i3","comments_count":0,"public_reactions_count":0,"collection_id":22442,"published_timestamp":"2026-04-16T18:55:43Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Firvsjwmfn7ptg0opasxv.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.amazonaws.com%2Fuploads%2Farticles%2Firvsjwmfn7ptg0opasxv.png","canonical_url":"https://nextjsweekly.com/issues/126","created_at":"2026-04-16T18:55:43Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T18:55:43Z","last_comment_at":"2026-04-16T18:55:43Z","reading_time_minutes":4,"tag_list":["nextjs","react","webdev"],"tags":"nextjs, react, webdev","user":{"name":"Erfan Ebrahimnia","username":"erfanebrahimnia","twitter_username":"ErfanEbrahimnia","github_username":null,"user_id":291054,"website_url":"https://nextjsweekly.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F291054%2F5d123de2-5373-4a06-847f-bfed543efb38.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F291054%2F5d123de2-5373-4a06-847f-bfed543efb38.jpeg"}},{"type_of":"article","id":3510762,"title":"How I Ranked #1 in Uganda by Shipping SEO Nobody Else Ships","description":"I run a small e-commerce site in Kampala, Uganda called PowerBulb.ug. We sell rechargeable LED...","readable_publish_date":"Apr 16","slug":"how-i-ranked-1-in-uganda-by-shipping-seo-nobody-else-ships-54ja","path":"/__2ea5fee000c/how-i-ranked-1-in-uganda-by-shipping-seo-nobody-else-ships-54ja","url":"https://dev.to/__2ea5fee000c/how-i-ranked-1-in-uganda-by-shipping-seo-nobody-else-ships-54ja","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-16T13:32:16Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2F7e7oroqxy09gvxd4lrby.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.amazonaws.com%2Fuploads%2Farticles%2F7e7oroqxy09gvxd4lrby.jpg","canonical_url":"https://dev.to/__2ea5fee000c/how-i-ranked-1-in-uganda-by-shipping-seo-nobody-else-ships-54ja","created_at":"2026-04-16T13:32:16Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T13:32:16Z","last_comment_at":"2026-04-16T13:32:16Z","reading_time_minutes":5,"tag_list":["seo","uganda","react","startup"],"tags":"seo, uganda, react, startup","user":{"name":"Роман Шамагин","username":"__2ea5fee000c","twitter_username":null,"github_username":null,"user_id":3587157,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3587157%2F7d523d4e-ceb2-4c82-ae0f-48b6880c126e.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3587157%2F7d523d4e-ceb2-4c82-ae0f-48b6880c126e.png"}},{"type_of":"article","id":3558032,"title":"Why your build tool has amnesia — and how we fixed it with a persistent graph and CAS","description":"Every few years, the frontend community rallies around a faster build tool. Grunt gave way to...","readable_publish_date":"Apr 27","slug":"why-your-build-tool-has-amnesia-and-how-we-fixed-it-with-a-persistent-graph-and-cas-1p75","path":"/khaledmsalem/why-your-build-tool-has-amnesia-and-how-we-fixed-it-with-a-persistent-graph-and-cas-1p75","url":"https://dev.to/khaledmsalem/why-your-build-tool-has-amnesia-and-how-we-fixed-it-with-a-persistent-graph-and-cas-1p75","comments_count":0,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-04-27T14:39:43Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fru0o0ag6be30zffi2jwp.png","canonical_url":"https://dev.to/khaledmsalem/why-your-build-tool-has-amnesia-and-how-we-fixed-it-with-a-persistent-graph-and-cas-1p75","created_at":"2026-04-27T14:39:43Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-27T14:39:43Z","last_comment_at":"2026-04-27T14:39:43Z","reading_time_minutes":2,"tag_list":["javascript","rust","webdev","react"],"tags":"javascript, rust, webdev, react","user":{"name":"KhaledSalem","username":"khaledmsalem","twitter_username":null,"github_username":"khaledM-salem","user_id":3565357,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3565357%2F72721ed3-cc00-44d0-89e6-86b75ca3f59c.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3565357%2F72721ed3-cc00-44d0-89e6-86b75ca3f59c.png"}},{"type_of":"article","id":3544037,"title":"The Truth About Developer Salaries in India (2026 Reality Check)","description":"Everyone talks about “high-paying tech jobs” in India. But the reality is very different depending on...","readable_publish_date":"Apr 24","slug":"the-truth-about-developer-salaries-in-india-2026-reality-check-4k3l","path":"/amalmarketer/the-truth-about-developer-salaries-in-india-2026-reality-check-4k3l","url":"https://dev.to/amalmarketer/the-truth-about-developer-salaries-in-india-2026-reality-check-4k3l","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-24T04:27:33Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fe3y072eimh58p8mih1qx.png","canonical_url":"https://dev.to/amalmarketer/the-truth-about-developer-salaries-in-india-2026-reality-check-4k3l","created_at":"2026-04-24T04:27:33Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-24T04:27:33Z","last_comment_at":"2026-04-24T04:27:33Z","reading_time_minutes":2,"tag_list":["ai","webdev","programming","react"],"tags":"ai, webdev, programming, react","user":{"name":"Amal P Das","username":"amalmarketer","twitter_username":null,"github_username":null,"user_id":3886995,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3886995%2F335ac2b8-d89a-43d9-93f2-5f0853ded899.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3886995%2F335ac2b8-d89a-43d9-93f2-5f0853ded899.png"}},{"type_of":"article","id":3511985,"title":"One Practical Way to Use useEffect 🎯","description":"Let’s talk about a small UX detail that can make a big difference. Imagine your application has a...","readable_publish_date":"Apr 16","slug":"one-practical-way-to-use-useeffect-1j9","path":"/leonardo_palmeiro_48c912f/one-practical-way-to-use-useeffect-1j9","url":"https://dev.to/leonardo_palmeiro_48c912f/one-practical-way-to-use-useeffect-1j9","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-16T20:26:09Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Ffx9mln5ysy4h568lwgyk.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.amazonaws.com%2Fuploads%2Farticles%2Ffx9mln5ysy4h568lwgyk.png","canonical_url":"https://dev.to/leonardo_palmeiro_48c912f/one-practical-way-to-use-useeffect-1j9","created_at":"2026-04-16T19:13:46Z","edited_at":"2026-04-16T20:35:59Z","crossposted_at":null,"published_at":"2026-04-16T20:26:09Z","last_comment_at":"2026-04-16T20:26:09Z","reading_time_minutes":3,"tag_list":["react","ux","frontend","development"],"tags":"react, ux, frontend, development","user":{"name":"LEONARDO PALMEIRO","username":"leonardo_palmeiro_48c912f","twitter_username":null,"github_username":null,"user_id":1535998,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1535998%2Fa0de8dd8-56b4-45c2-933c-1dce7d31db56.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1535998%2Fa0de8dd8-56b4-45c2-933c-1dce7d31db56.jpg"}},{"type_of":"article","id":3506714,"title":"On demand revalidation in Nextjs","description":"Revalidation is about updating stale cache. Three functions can trigger revalidation on...","readable_publish_date":"Apr 16","slug":"on-demand-revalidation-in-nextjs-18j8","path":"/peterlidee/on-demand-revalidation-in-nextjs-18j8","url":"https://dev.to/peterlidee/on-demand-revalidation-in-nextjs-18j8","comments_count":0,"public_reactions_count":0,"collection_id":38637,"published_timestamp":"2026-04-16T09:25:21Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2F3k1vo20cbarvrs8v5oul.png","canonical_url":"https://dev.to/peterlidee/on-demand-revalidation-in-nextjs-18j8","created_at":"2026-04-15T19:12:19Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T09:25:21Z","last_comment_at":"2026-04-16T09:25:21Z","reading_time_minutes":8,"tag_list":["nextjs","performance","react","webdev"],"tags":"nextjs, performance, react, webdev","user":{"name":"Peter Jacxsens","username":"peterlidee","twitter_username":"lideebe","github_username":"peterlidee","user_id":869497,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F869497%2F478a370b-90f5-4fb1-a89b-dc2fd60c010b.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F869497%2F478a370b-90f5-4fb1-a89b-dc2fd60c010b.png"}},{"type_of":"article","id":3511304,"title":"Building a Gamified Focus Timer with a Cute Virtual Pet","description":"Hey everyone! I’m a university student, and like many of you, I have a \"love-hate\" relationship with...","readable_publish_date":"Apr 16","slug":"building-a-gamified-focus-timer-with-a-cute-virtual-pet-4pf8","path":"/focuspet_5d1a242bdf7a4c75/building-a-gamified-focus-timer-with-a-cute-virtual-pet-4pf8","url":"https://dev.to/focuspet_5d1a242bdf7a4c75/building-a-gamified-focus-timer-with-a-cute-virtual-pet-4pf8","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-16T15:41:35Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fg9yhol09s7mecobqmwzo.png","canonical_url":"https://dev.to/focuspet_5d1a242bdf7a4c75/building-a-gamified-focus-timer-with-a-cute-virtual-pet-4pf8","created_at":"2026-04-16T15:41:35Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T15:41:35Z","last_comment_at":"2026-04-16T15:41:35Z","reading_time_minutes":1,"tag_list":["showdev","react","webdev"],"tags":"showdev, react, webdev","user":{"name":"FocusPet","username":"focuspet_5d1a242bdf7a4c75","twitter_username":null,"github_username":null,"user_id":3882735,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3882735%2Fc4de009c-bb4a-47fc-9b4c-d785ca55196c.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3882735%2Fc4de009c-bb4a-47fc-9b4c-d785ca55196c.png"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":3514050,"title":"Introduction to React: A Beginner’s Guide","description":"Introduction React is a popular JavaScript library used for building user interfaces, especially for...","readable_publish_date":"Apr 17","slug":"introduction-to-react-a-beginners-guide-4hki","path":"/chandra_ramu_6ec0a1c1eb59/introduction-to-react-a-beginners-guide-4hki","url":"https://dev.to/chandra_ramu_6ec0a1c1eb59/introduction-to-react-a-beginners-guide-4hki","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-17T16:57:11Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fxgq3m7vywctfukjq7m4n.png","canonical_url":"https://dev.to/chandra_ramu_6ec0a1c1eb59/introduction-to-react-a-beginners-guide-4hki","created_at":"2026-04-17T07:13:07Z","edited_at":"2026-04-17T16:59:52Z","crossposted_at":null,"published_at":"2026-04-17T16:57:11Z","last_comment_at":"2026-04-17T16:57:11Z","reading_time_minutes":2,"tag_list":["react"],"tags":"react","user":{"name":"Priyaramu","username":"chandra_ramu_6ec0a1c1eb59","twitter_username":null,"github_username":null,"user_id":3690876,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3690876%2Faff92635-890b-4d76-a510-afe5b918d95b.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3690876%2Faff92635-890b-4d76-a510-afe5b918d95b.png"}},{"type_of":"article","id":3511122,"title":"Next.js 14 Server Actions: The Patterns Junior Devs Always Get Wrong","description":"Next.js 14 Server Actions: The Patterns Junior Devs Always Get Wrong   As someone who's...","readable_publish_date":"Apr 16","slug":"nextjs-14-server-actions-the-patterns-junior-devs-always-get-wrong-1pla","path":"/apollo_ag/nextjs-14-server-actions-the-patterns-junior-devs-always-get-wrong-1pla","url":"https://dev.to/apollo_ag/nextjs-14-server-actions-the-patterns-junior-devs-always-get-wrong-1pla","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-16T15:05:45Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fx8zrhosab6zb3bsff3ux.png","canonical_url":"https://dev.to/apollo_ag/nextjs-14-server-actions-the-patterns-junior-devs-always-get-wrong-1pla","created_at":"2026-04-16T15:05:46Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T15:05:45Z","last_comment_at":"2026-04-16T15:05:45Z","reading_time_minutes":4,"tag_list":["nextjs","react","webdev","javascript"],"tags":"nextjs, react, webdev, javascript","user":{"name":"Apollo","username":"apollo_ag","twitter_username":null,"github_username":null,"user_id":3866234,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3866234%2F5c481189-d2ce-4b7d-b713-d592bc691e8f.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3866234%2F5c481189-d2ce-4b7d-b713-d592bc691e8f.png"}},{"type_of":"article","id":3533433,"title":"Top 10 PDF Tools Everyone Needs","description":"PDFs are everywhere, resumes, contracts, reports, ebooks. But working with them can be frustrating...","readable_publish_date":"Apr 23","slug":"top-10-pdf-tools-everyone-needs-1kn5","path":"/saifullahusmani/top-10-pdf-tools-everyone-needs-1kn5","url":"https://dev.to/saifullahusmani/top-10-pdf-tools-everyone-needs-1kn5","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-23T20:56:00Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fy5gfstrvu7h6r4kwz8zv.jpeg","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.amazonaws.com%2Fuploads%2Farticles%2Fy5gfstrvu7h6r4kwz8zv.jpeg","canonical_url":"https://keynou.com/blog/top-10-pdf-tools-everyone-needs","created_at":"2026-04-21T20:57:30Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-23T20:56:00Z","last_comment_at":"2026-04-23T20:56:00Z","reading_time_minutes":2,"tag_list":["ai","webdev","react","startup"],"tags":"ai, webdev, react, startup","user":{"name":"Saif Ullah Usmani","username":"saifullahusmani","twitter_username":"Saifull90692578","github_username":"SaifullahUsmani693","user_id":638356,"website_url":"https://keynou.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F638356%2F93bafbeb-a1fd-4030-a77a-c158fe0a13ab.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F638356%2F93bafbeb-a1fd-4030-a77a-c158fe0a13ab.png"}},{"type_of":"article","id":3638157,"title":"SEO Checklist for JavaScript Apps: Fix Your Rankings Before Your Next Deploy","description":"I spent four months building a React app. Polished UI, fast load times, clean code. Then I checked...","readable_publish_date":"May 9","slug":"seo-checklist-for-javascript-apps-fix-your-rankings-before-your-next-deploy-53kp","path":"/mitudas/seo-checklist-for-javascript-apps-fix-your-rankings-before-your-next-deploy-53kp","url":"https://dev.to/mitudas/seo-checklist-for-javascript-apps-fix-your-rankings-before-your-next-deploy-53kp","comments_count":0,"public_reactions_count":8,"collection_id":null,"published_timestamp":"2026-05-09T05:43:58Z","language":"en","subforem_id":1,"positive_reactions_count":8,"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.amazonaws.com%2Fuploads%2Farticles%2F4tcmk4fag43ctm2zn2hk.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.amazonaws.com%2Fuploads%2Farticles%2F4tcmk4fag43ctm2zn2hk.jpg","canonical_url":"https://dev.to/mitudas/seo-checklist-for-javascript-apps-fix-your-rankings-before-your-next-deploy-53kp","created_at":"2026-05-09T05:43:58Z","edited_at":"2026-05-09T05:48:04Z","crossposted_at":null,"published_at":"2026-05-09T05:43:58Z","last_comment_at":"2026-05-09T05:43:58Z","reading_time_minutes":5,"tag_list":["javascript","react","tutorial","webdev"],"tags":"javascript, react, tutorial, webdev","user":{"name":"Mitu Das","username":"mitudas","twitter_username":null,"github_username":null,"user_id":3865540,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3865540%2Fb55e8702-ba25-4f25-b0b6-402d502f5244.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3865540%2Fb55e8702-ba25-4f25-b0b6-402d502f5244.jpg"}},{"type_of":"article","id":3508722,"title":"How to build a quick orders page using an API","description":"In modern e-commerce applications, the \"Order History\" page is a vital touchpoint. It requires a...","readable_publish_date":"Apr 16","slug":"how-to-receive-orders-from-an-api-21no","path":"/ishaanmalhotra/how-to-receive-orders-from-an-api-21no","url":"https://dev.to/ishaanmalhotra/how-to-receive-orders-from-an-api-21no","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-16T07:00:05Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fvfegnb28xukdrxq8c1l8.png","canonical_url":"https://dev.to/ishaanmalhotra/how-to-receive-orders-from-an-api-21no","created_at":"2026-04-16T07:00:05Z","edited_at":"2026-04-16T07:02:56Z","crossposted_at":null,"published_at":"2026-04-16T07:00:05Z","last_comment_at":"2026-04-16T07:00:05Z","reading_time_minutes":2,"tag_list":["api","javascript","react","tutorial"],"tags":"api, javascript, react, tutorial","user":{"name":"Ishaan Malhotra","username":"ishaanmalhotra","twitter_username":null,"github_username":null,"user_id":3881821,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3881821%2F0763cd9f-72c7-4bde-8e7b-76d637ed7d6f.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3881821%2F0763cd9f-72c7-4bde-8e7b-76d637ed7d6f.png"}},{"type_of":"article","id":3508563,"title":"I got tired of not understanding my CTO, so I built a game to learn tech jargon.","description":"Hey Dev.to!   I manage a team of CSMs and Technical Support Engineers. A while back, I realized I...","readable_publish_date":"Apr 16","slug":"i-got-tired-of-not-understanding-my-cto-so-i-built-a-game-to-learn-tech-jargon-hbf","path":"/techlexiconapp/i-got-tired-of-not-understanding-my-cto-so-i-built-a-game-to-learn-tech-jargon-hbf","url":"https://dev.to/techlexiconapp/i-got-tired-of-not-understanding-my-cto-so-i-built-a-game-to-learn-tech-jargon-hbf","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-16T06:32:39Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2F0mqzuy0rg3b5iq9q7emj.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.amazonaws.com%2Fuploads%2Farticles%2F0mqzuy0rg3b5iq9q7emj.png","canonical_url":"https://dev.to/techlexiconapp/i-got-tired-of-not-understanding-my-cto-so-i-built-a-game-to-learn-tech-jargon-hbf","created_at":"2026-04-16T06:32:39Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T06:32:39Z","last_comment_at":"2026-04-16T06:32:39Z","reading_time_minutes":2,"tag_list":["beginners","devops","react","ai"],"tags":"beginners, devops, react, ai","user":{"name":"Lex","username":"techlexiconapp","twitter_username":null,"github_username":null,"user_id":3881620,"website_url":"https://techlexicon.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3881620%2Fde7dae49-701e-4119-b73f-7f4e2dcc045d.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3881620%2Fde7dae49-701e-4119-b73f-7f4e2dcc045d.png"}},{"type_of":"article","id":3507401,"title":"What's New in ASP.NET Core (.NET 11): Zstandard, HTTP/3, Virtualize \u0026 More","description":"Published: April 2026 | Reading time: ~8 min     .NET 11 Preview 3 dropped last week, and ASP.NET...","readable_publish_date":"Apr 15","slug":"whats-new-in-aspnet-core-net-11-zstandard-http3-virtualize-more-1h9h","path":"/vikrant_bagal_afae3e25ca7/whats-new-in-aspnet-core-net-11-zstandard-http3-virtualize-more-1h9h","url":"https://dev.to/vikrant_bagal_afae3e25ca7/whats-new-in-aspnet-core-net-11-zstandard-http3-virtualize-more-1h9h","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-15T23:52:47Z","language":"en","subforem_id":1,"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%2Fiili.io%2FBviGHQ4.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fiili.io%2FBviGHQ4.jpg","canonical_url":"https://dev.to/vikrant_bagal_afae3e25ca7/whats-new-in-aspnet-core-net-11-zstandard-http3-virtualize-more-1h9h","created_at":"2026-04-15T23:34:36Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-15T23:52:47Z","last_comment_at":"2026-04-15T23:52:47Z","reading_time_minutes":4,"tag_list":["dotnet","react","javascript","webdev"],"tags":"dotnet, react, javascript, webdev","user":{"name":"Vikrant Bagal","username":"vikrant_bagal_afae3e25ca7","twitter_username":null,"github_username":null,"user_id":2052722,"website_url":"https://vrbagalcnd.github.io/portfolio-site/","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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2052722%2F5ff69926-3e59-4393-a400-db81ecbe2ab6.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2052722%2F5ff69926-3e59-4393-a400-db81ecbe2ab6.png"}},{"type_of":"article","id":3506649,"title":"The Utility-First Paradox: Structuring Massive UI Kits with Tailwind CSS and React 19","description":"Let’s be honest: Tailwind CSS is the \"Wild West\" of frontend development. It’s incredibly fast to...","readable_publish_date":"Apr 15","slug":"the-utility-first-paradox-structuring-massive-ui-kits-with-tailwind-css-and-react-19-n3g","path":"/realvancedyoutube/the-utility-first-paradox-structuring-massive-ui-kits-with-tailwind-css-and-react-19-n3g","url":"https://dev.to/realvancedyoutube/the-utility-first-paradox-structuring-massive-ui-kits-with-tailwind-css-and-react-19-n3g","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-15T18:56:14Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fwmniu5xchtykf7gqiiu3.png","canonical_url":"https://dev.to/realvancedyoutube/the-utility-first-paradox-structuring-massive-ui-kits-with-tailwind-css-and-react-19-n3g","created_at":"2026-04-15T18:56:14Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-15T18:56:14Z","last_comment_at":"2026-04-15T18:56:14Z","reading_time_minutes":4,"tag_list":["architecture","react","tailwindcss","ui"],"tags":"architecture, react, tailwindcss, ui","user":{"name":"vanced youtube","username":"realvancedyoutube","twitter_username":null,"github_username":null,"user_id":3866426,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3866426%2Fa32ea547-a462-4a33-9ca2-c7345f646808.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3866426%2Fa32ea547-a462-4a33-9ca2-c7345f646808.png"}},{"type_of":"article","id":3508264,"title":"From college assignment to portfolio centerpiece. 📂","description":"Building an Interactive N-Queens Visualizer with React + TypeScript                            ...","readable_publish_date":"Apr 16","slug":"from-college-assignment-to-portfolio-centerpiece-12ei","path":"/singhamandeep007/from-college-assignment-to-portfolio-centerpiece-12ei","url":"https://dev.to/singhamandeep007/from-college-assignment-to-portfolio-centerpiece-12ei","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-16T05:28:54Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fcnf5jpknygla3xn8q8du.png","canonical_url":"https://dev.to/singhamandeep007/from-college-assignment-to-portfolio-centerpiece-12ei","created_at":"2026-04-16T05:28:54Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T05:28:54Z","last_comment_at":"2026-04-16T05:28:54Z","reading_time_minutes":1,"tag_list":["algorithms","react","showdev","typescript"],"tags":"algorithms, react, showdev, typescript","user":{"name":"Amandeep Singh","username":"singhamandeep007","twitter_username":null,"github_username":"singhAmandeep007","user_id":392464,"website_url":"https://singhamandeep007.github.io/","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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F392464%2F38017c9b-89f2-42ab-b7d3-41a25728aead.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F392464%2F38017c9b-89f2-42ab-b7d3-41a25728aead.jpeg"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":3640543,"title":"React 19 vs Vue 3.6: Same Year, Two Radically Different Frontend Philosophies","description":"In 2026, the most notable frontend story isn't a new framework — it's two mainstream frameworks...","readable_publish_date":"May 9","slug":"react-19-vs-vue-36-same-year-two-radically-different-frontend-philosophies-2f7m","path":"/jearick/react-19-vs-vue-36-same-year-two-radically-different-frontend-philosophies-2f7m","url":"https://dev.to/jearick/react-19-vs-vue-36-same-year-two-radically-different-frontend-philosophies-2f7m","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-05-09T13:29:17Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fvx39n87syf0kovrurrl6.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.amazonaws.com%2Fuploads%2Farticles%2Fvx39n87syf0kovrurrl6.jpg","canonical_url":"https://dev.to/jearick/react-19-vs-vue-36-same-year-two-radically-different-frontend-philosophies-2f7m","created_at":"2026-05-09T13:29:17Z","edited_at":null,"crossposted_at":null,"published_at":"2026-05-09T13:29:17Z","last_comment_at":"2026-05-09T13:29:17Z","reading_time_minutes":6,"tag_list":["react","vue","vapor"],"tags":"react, vue, vapor","user":{"name":"蔡俊鹏","username":"jearick","twitter_username":null,"github_username":null,"user_id":3905753,"website_url":"https://auraimagai.com/en/","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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3905753%2Fd676fa1b-7edd-4218-8fa9-d9795b21b536.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3905753%2Fd676fa1b-7edd-4218-8fa9-d9795b21b536.png"}},{"type_of":"article","id":3509281,"title":"REACT INTRO","description":"1.what is react?   At its core, React is an open-source JavaScript library used for building...","readable_publish_date":"Apr 16","slug":"react-intro-1jc9","path":"/jayakandan_r_88ddfef64bfc/react-intro-1jc9","url":"https://dev.to/jayakandan_r_88ddfef64bfc/react-intro-1jc9","comments_count":0,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-04-16T08:55:29Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Ff4tybxffhp4nkw4n2tsq.png","canonical_url":"https://dev.to/jayakandan_r_88ddfef64bfc/react-intro-1jc9","created_at":"2026-04-16T08:55:29Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-16T08:55:29Z","last_comment_at":"2026-04-16T08:55:29Z","reading_time_minutes":2,"tag_list":["javascript","react","frontend"],"tags":"javascript, react, frontend","user":{"name":"jayakandan r","username":"jayakandan_r_88ddfef64bfc","twitter_username":null,"github_username":null,"user_id":3881989,"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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3881989%2F1bf872db-c48b-4792-96a9-95afde08c2a7.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3881989%2F1bf872db-c48b-4792-96a9-95afde08c2a7.png"}}]