[{"type_of":"article","id":3521403,"title":"Building a Micro SaaS for Email Follow-Ups: My Journey from Idea to Launch","description":"Building a Micro SaaS for Email Follow-Ups: My Journey from Idea to Launch            The...","readable_publish_date":"Apr 19","slug":"building-a-micro-saas-for-email-follow-ups-my-journey-from-idea-to-launch-21ig","path":"/md_neyab/building-a-micro-saas-for-email-follow-ups-my-journey-from-idea-to-launch-21ig","url":"https://dev.to/md_neyab/building-a-micro-saas-for-email-follow-ups-my-journey-from-idea-to-launch-21ig","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-19T04:58: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%2Flpw2t8ujaqocduyczi39.png","canonical_url":"https://dev.to/md_neyab/building-a-micro-saas-for-email-follow-ups-my-journey-from-idea-to-launch-21ig","created_at":"2026-04-19T04:58:21Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-19T04:58:21Z","last_comment_at":"2026-04-19T04:58:21Z","reading_time_minutes":2,"tag_list":["sass","javascript","react","node"],"tags":"sass, javascript, react, node","user":{"name":"Neyab Ansari","username":"md_neyab","twitter_username":"NeyabAnsar44666","github_username":"neyabansari443-max","user_id":3871886,"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%2F3871886%2F7a043f82-68d5-40c6-81bb-b86c3ca550f2.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%2F3871886%2F7a043f82-68d5-40c6-81bb-b86c3ca550f2.jpg"}},{"type_of":"article","id":3516289,"title":"Next.js 15 com 55 milhões de páginas dinâmicas: SSR, SEO e performance","description":"Como servi 55M+ páginas de empresa com Server Components, JSON-LD, OG dinâmico e code splitting, sem gerar nada em build time.","readable_publish_date":"Apr 19","slug":"nextjs-15-com-55-milhoes-de-paginas-dinamicas-ssr-seo-e-performance-4cio","path":"/pedroparker/nextjs-15-com-55-milhoes-de-paginas-dinamicas-ssr-seo-e-performance-4cio","url":"https://dev.to/pedroparker/nextjs-15-com-55-milhoes-de-paginas-dinamicas-ssr-seo-e-performance-4cio","comments_count":0,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-04-19T02:54:02Z","language":"pt","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%2Frzhjlush28pei9q0prbu.png","canonical_url":"https://dev.to/pedroparker/nextjs-15-com-55-milhoes-de-paginas-dinamicas-ssr-seo-e-performance-4cio","created_at":"2026-04-17T15:39:22Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-19T02:54:02Z","last_comment_at":"2026-04-19T02:54:02Z","reading_time_minutes":5,"tag_list":["nextjs","react","seo","performance"],"tags":"nextjs, react, seo, performance","user":{"name":"Pedro Parker","username":"pedroparker","twitter_username":null,"github_username":"felipecaon","user_id":163061,"website_url":"https://cnpjaberto.com.br/","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%2F163061%2F9fe54baa-be28-4bcd-9155-0f7467b67a8b.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%2F163061%2F9fe54baa-be28-4bcd-9155-0f7467b67a8b.png"}},{"type_of":"article","id":3519850,"title":"I've been building an animation library for years — here's SmoothUI","description":"TL;DR — SmoothUI is a free, open-source collection of 75+ animated React components. shadcn/ui...","readable_publish_date":"Apr 18","slug":"ive-been-building-an-animation-library-for-years-heres-smoothui-2mi2","path":"/educalvolpz/ive-been-building-an-animation-library-for-years-heres-smoothui-2mi2","url":"https://dev.to/educalvolpz/ive-been-building-an-animation-library-for-years-heres-smoothui-2mi2","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T15:12:02Z","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%2F770t1nxwyei658jwewt5.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%2F770t1nxwyei658jwewt5.png","canonical_url":"https://dev.to/educalvolpz/ive-been-building-an-animation-library-for-years-heres-smoothui-2mi2","created_at":"2026-04-18T15:12:02Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T15:12:02Z","last_comment_at":"2026-04-18T15:12:02Z","reading_time_minutes":4,"tag_list":["react","animation","tailwindcss","opensource"],"tags":"react, animation, tailwindcss, opensource","user":{"name":"Edu Calvo","username":"educalvolpz","twitter_username":"educalvolpz","github_username":"educlopez","user_id":605472,"website_url":"https://educalvolopez.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%2F605472%2F80a27dcd-e7aa-4001-82e8-d05d3a03f2e3.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%2F605472%2F80a27dcd-e7aa-4001-82e8-d05d3a03f2e3.png"}},{"type_of":"article","id":3520747,"title":"What if Your Commute Had a Co-Rider? Building CommuteShare for Earth Day","description":"This is a submission for Weekend Challenge: Earth Day Edition           What I Built           ...","readable_publish_date":"Apr 18","slug":"what-if-your-commute-had-a-co-rider-building-commuteshare-for-earth-day-40pd","path":"/mfdilawar/what-if-your-commute-had-a-co-rider-building-commuteshare-for-earth-day-40pd","url":"https://dev.to/mfdilawar/what-if-your-commute-had-a-co-rider-building-commuteshare-for-earth-day-40pd","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T21:38:59Z","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%2Fotjqio2gogv3l2jlof6i.png","canonical_url":"https://dev.to/mfdilawar/what-if-your-commute-had-a-co-rider-building-commuteshare-for-earth-day-40pd","created_at":"2026-04-18T21:38:59Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T21:38:59Z","last_comment_at":"2026-04-18T21:38:59Z","reading_time_minutes":4,"tag_list":["devchallenge","weekendchallenge","go","react"],"tags":"devchallenge, weekendchallenge, go, react","user":{"name":"Faisal Dilawar","username":"mfdilawar","twitter_username":null,"github_username":"kathbigra","user_id":2913958,"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%2F2913958%2F5afc6bda-60b2-4182-a749-6ea5118310cf.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%2F2913958%2F5afc6bda-60b2-4182-a749-6ea5118310cf.jpg"}},{"type_of":"article","id":3515365,"title":"I let Claude write my React compiler. I only reviewed the tests.","description":"Open the React DevTools \"highlight updates\" panel on any React app you've ever worked on. Count the...","readable_publish_date":"Apr 17","slug":"i-let-claude-write-my-react-compiler-i-only-reviewed-the-tests-11c0","path":"/bs_ktigerwest_b90c3366/i-let-claude-write-my-react-compiler-i-only-reviewed-the-tests-11c0","url":"https://dev.to/bs_ktigerwest_b90c3366/i-let-claude-write-my-react-compiler-i-only-reviewed-the-tests-11c0","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T15:46:41Z","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%2Fnxsp7xfcu0ve5wtzs0yw.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%2Fnxsp7xfcu0ve5wtzs0yw.png","canonical_url":"https://dev.to/bs_ktigerwest_b90c3366/i-let-claude-write-my-react-compiler-i-only-reviewed-the-tests-11c0","created_at":"2026-04-17T11:41:55Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T15:46:41Z","last_comment_at":"2026-04-17T15:46:41Z","reading_time_minutes":10,"tag_list":["react","frontend","typescript","ai"],"tags":"react, frontend, typescript, ai","user":{"name":"bs k (TigerWest)","username":"bs_ktigerwest_b90c3366","twitter_username":null,"github_username":null,"user_id":3884368,"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%2F3884368%2Fee72eeda-271b-4838-ba62-e2418030da27.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%2F3884368%2Fee72eeda-271b-4838-ba62-e2418030da27.png"}},{"type_of":"article","id":3520212,"title":"Authentication on the Frontend - More Than Just Tokens","description":"The decisions behind auth are more consequential than most developers realize.  In this article we'll...","readable_publish_date":"Apr 19","slug":"authentication-on-the-frontend-more-than-just-tokens-2kj7","path":"/codescoop/authentication-on-the-frontend-more-than-just-tokens-2kj7","url":"https://dev.to/codescoop/authentication-on-the-frontend-more-than-just-tokens-2kj7","comments_count":0,"public_reactions_count":0,"collection_id":38132,"published_timestamp":"2026-04-19T14:12:36Z","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%2Fmag3c2y2g19u5x57zkev.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%2Fmag3c2y2g19u5x57zkev.png","canonical_url":"https://medium.com/codescoop-dev/authentication-on-the-frontend-more-than-just-tokens-e363472d6f3a","created_at":"2026-04-18T17:20:16Z","edited_at":"2026-04-19T14:12:36Z","crossposted_at":null,"published_at":"2026-04-19T14:12:36Z","last_comment_at":"2026-04-20T17:06:00Z","reading_time_minutes":7,"tag_list":["frontend","authentication","react","javascript"],"tags":"frontend, authentication, react, javascript","user":{"name":"Yogesh Yadav","username":"yogeshyadav","twitter_username":"yogesh_yadv","github_username":"deltanode","user_id":415748,"website_url":"https://www.codescoop.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%2F415748%2F48df07d1-ab7c-442c-835a-95295cb8452a.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%2F415748%2F48df07d1-ab7c-442c-835a-95295cb8452a.jpg"},"organization":{"name":"CodeScoop.dev","username":"codescoop","slug":"codescoop","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%2Forganization%2Fprofile_image%2F2578%2F79cddd4e-7cf7-4c07-b40c-fe749dbd00a6.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%2Forganization%2Fprofile_image%2F2578%2F79cddd4e-7cf7-4c07-b40c-fe749dbd00a6.png"}},{"type_of":"article","id":3518231,"title":"The Unfiltered Log of Shipping Open-Source v2 with AI Agents","description":"Six weeks, 146 commits, and every hallucination along the way     Sometime in 2024 I opened a GitHub...","readable_publish_date":"Apr 18","slug":"the-unfiltered-log-of-shipping-open-source-v2-with-ai-agents-3i0o","path":"/yunhyeon_lee_ef1d57c43a41/the-unfiltered-log-of-shipping-open-source-v2-with-ai-agents-3i0o","url":"https://dev.to/yunhyeon_lee_ef1d57c43a41/the-unfiltered-log-of-shipping-open-source-v2-with-ai-agents-3i0o","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T06:37:51Z","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%2Fllpcqruknozuyg6egdk5.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%2Fllpcqruknozuyg6egdk5.png","canonical_url":"https://musgravte.hashnode.dev/the-unfiltered-log-of-shipping-open-source-v2-with-ai-agents","created_at":"2026-04-18T06:13:25Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T06:37:51Z","last_comment_at":"2026-04-18T06:37:51Z","reading_time_minutes":6,"tag_list":["webdev","react","opensource"],"tags":"webdev, react, opensource","user":{"name":"YunHyeon Lee","username":"yunhyeon_lee_ef1d57c43a41","twitter_username":null,"github_username":null,"user_id":3885573,"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%2F3885573%2F35e9db91-5c2a-40b8-8784-4167959c804b.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%2F3885573%2F35e9db91-5c2a-40b8-8784-4167959c804b.png"}},{"type_of":"article","id":3521921,"title":"React Concepts That Finally Click (Vite, JSX, Components \u0026 Folder Structure, npm vs npx and Dev Server)","description":"You know that moment…  You open a React project, stare at the files, run a command, and everything...","readable_publish_date":"Apr 19","slug":"react-concepts-that-finally-click-vite-jsx-components-folder-structure-and-npm-vs-npx-19pg","path":"/kathirvel-s/react-concepts-that-finally-click-vite-jsx-components-folder-structure-and-npm-vs-npx-19pg","url":"https://dev.to/kathirvel-s/react-concepts-that-finally-click-vite-jsx-components-folder-structure-and-npm-vs-npx-19pg","comments_count":0,"public_reactions_count":4,"collection_id":null,"published_timestamp":"2026-04-19T08:38:59Z","language":"en","subforem_id":1,"positive_reactions_count":4,"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%2Fa5rs6llwws3byyhrotr1.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%2Fa5rs6llwws3byyhrotr1.png","canonical_url":"https://dev.to/kathirvel-s/react-concepts-that-finally-click-vite-jsx-components-folder-structure-and-npm-vs-npx-19pg","created_at":"2026-04-19T08:38:59Z","edited_at":"2026-04-19T09:00:25Z","crossposted_at":null,"published_at":"2026-04-19T08:38:59Z","last_comment_at":"2026-04-19T08:38:59Z","reading_time_minutes":10,"tag_list":["react","javascript","webdev","beginners"],"tags":"react, javascript, webdev, beginners","user":{"name":"Kathirvel S","username":"kathirvel-s","twitter_username":null,"github_username":null,"user_id":3689425,"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%2F3689425%2F49462e6b-f95a-4bb0-b5e3-080ad3919937.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%2F3689425%2F49462e6b-f95a-4bb0-b5e3-080ad3919937.jpeg"}},{"type_of":"article","id":3522280,"title":"Building a Windows yt-dlp GUI with Tauri, React, and Rust","description":"I built HalalDL because I wanted a Windows-first desktop workflow for yt-dlp that did not hide what...","readable_publish_date":"Apr 19","slug":"building-a-windows-yt-dlp-gui-with-tauri-react-and-rust-3bh6","path":"/halal_frfr/building-a-windows-yt-dlp-gui-with-tauri-react-and-rust-3bh6","url":"https://dev.to/halal_frfr/building-a-windows-yt-dlp-gui-with-tauri-react-and-rust-3bh6","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-19T10:23:09Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fmk251vlg5qiwqmiircqg.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%2Fmk251vlg5qiwqmiircqg.png","canonical_url":"https://dev.to/halal_frfr/building-a-windows-yt-dlp-gui-with-tauri-react-and-rust-3bh6","created_at":"2026-04-19T10:23:09Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-19T10:23:09Z","last_comment_at":"2026-04-19T10:23:09Z","reading_time_minutes":3,"tag_list":["showdev","tauri","opensource","react"],"tags":"showdev, tauri, opensource, react","user":{"name":"HalalFrFr","username":"halal_frfr","twitter_username":null,"github_username":"Asdmir786","user_id":1793811,"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%2F1793811%2F1747c120-aa6f-41ad-8486-9bb585b82909.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%2F1793811%2F1747c120-aa6f-41ad-8486-9bb585b82909.jpg"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":3517995,"title":"Stop Using Loading Spinners: Master Optimistic UI in React ⚡","description":"The Problem with Loading Spinners  In traditional web development, the user interaction loop is...","readable_publish_date":"Apr 18","slug":"stop-using-loading-spinners-master-optimistic-ui-in-react-4m9c","path":"/iprajapatiparesh/stop-using-loading-spinners-master-optimistic-ui-in-react-4m9c","url":"https://dev.to/iprajapatiparesh/stop-using-loading-spinners-master-optimistic-ui-in-react-4m9c","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-18T04:23:40Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fgsqsv17e8yacq6ii5cdt.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%2Fgsqsv17e8yacq6ii5cdt.png","canonical_url":"https://smarttechdevs.in/blog/optimistic-ui-updates-react-tanstack-query-frontend","created_at":"2026-04-18T04:23:40Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T04:23:40Z","last_comment_at":"2026-04-18T04:23:40Z","reading_time_minutes":3,"tag_list":["react","frontend","ux","webdev"],"tags":"react, frontend, ux, webdev","user":{"name":"Prajapati Paresh","username":"iprajapatiparesh","twitter_username":null,"github_username":null,"user_id":3818348,"website_url":"https://smarttechdevs.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%2F3818348%2F98e76f01-e2fd-4f05-bc05-ea804d4fc2a5.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%2F3818348%2F98e76f01-e2fd-4f05-bc05-ea804d4fc2a5.jpg"}},{"type_of":"article","id":3520082,"title":"# Serving React as Static Files from NestJS — Te Underrated Production Pattern","description":"Most tutorials about NestJS and React (or Vue, Angular, Svelte — pick your SPA) assume you'll deploy...","readable_publish_date":"Apr 18","slug":"-serving-react-as-static-files-from-nestjs-te-underrated-production-pattern-2o3h","path":"/csar_zoleko_e6c3bb497f0d/-serving-react-as-static-files-from-nestjs-te-underrated-production-pattern-2o3h","url":"https://dev.to/csar_zoleko_e6c3bb497f0d/-serving-react-as-static-files-from-nestjs-te-underrated-production-pattern-2o3h","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-18T16:33:20Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2F8ohptr0mtfms8g04eljj.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%2F8ohptr0mtfms8g04eljj.png","canonical_url":"https://dev.to/csar_zoleko_e6c3bb497f0d/-serving-react-as-static-files-from-nestjs-te-underrated-production-pattern-2o3h","created_at":"2026-04-18T16:33:20Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T16:33:20Z","last_comment_at":"2026-04-18T16:33:20Z","reading_time_minutes":6,"tag_list":["architecture","node","react","webdev"],"tags":"architecture, node, react, webdev","user":{"name":"César Zoleko","username":"csar_zoleko_e6c3bb497f0d","twitter_username":null,"github_username":null,"user_id":2586469,"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%2F2586469%2F68f4a2c7-fb38-4422-84c9-ff1de8090fae.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%2F2586469%2F68f4a2c7-fb38-4422-84c9-ff1de8090fae.jpg"}},{"type_of":"article","id":3520441,"title":"Headless CMS for TanStack Start: Build a Blog with Cosmic","description":"You want SSR, fast routing, and a CMS your whole team can edit without touching code. Here's how to...","readable_publish_date":"Apr 18","slug":"headless-cms-for-tanstack-start-build-a-blog-with-cosmic-k6f","path":"/tonyspiro/headless-cms-for-tanstack-start-build-a-blog-with-cosmic-k6f","url":"https://dev.to/tonyspiro/headless-cms-for-tanstack-start-build-a-blog-with-cosmic-k6f","comments_count":1,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-18T19:08:53Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fccorx3wq1t2hdc1h6qxd.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%2Fccorx3wq1t2hdc1h6qxd.jpg","canonical_url":"https://www.cosmicjs.com/blog/headless-cms-tanstack-start","created_at":"2026-04-18T19:08:53Z","edited_at":"2026-04-18T19:10:30Z","crossposted_at":null,"published_at":"2026-04-18T19:08:53Z","last_comment_at":"2026-04-18T19:10:52Z","reading_time_minutes":4,"tag_list":["tanstack","cosmicjs","react","typescript"],"tags":"tanstack, cosmicjs, react, typescript","user":{"name":"Tony Spiro","username":"tonyspiro","twitter_username":"TonySpiro","github_username":null,"user_id":36636,"website_url":"https://www.cosmicjs.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%2F36636%2F37a4c910-90d9-40b1-9a8b-69e1ad31b4f6.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%2F36636%2F37a4c910-90d9-40b1-9a8b-69e1ad31b4f6.jpeg"}},{"type_of":"article","id":3519920,"title":"Building MovieMonk-AI: From Idea to a Production-Ready AI Movie Discovery Platform","description":"Over the past several months, I built and shipped MovieMonk-AI — an AI-powered movie and TV discovery...","readable_publish_date":"Apr 18","slug":"building-moviemonk-ai-from-idea-to-a-production-ready-ai-movie-discovery-platform-af2","path":"/mfscpayload690/building-moviemonk-ai-from-idea-to-a-production-ready-ai-movie-discovery-platform-af2","url":"https://dev.to/mfscpayload690/building-moviemonk-ai-from-idea-to-a-production-ready-ai-movie-discovery-platform-af2","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-18T15:45:46Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2F04idudm1x9ps8ildf4yk.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%2F04idudm1x9ps8ildf4yk.png","canonical_url":"https://dev.to/mfscpayload690/building-moviemonk-ai-from-idea-to-a-production-ready-ai-movie-discovery-platform-af2","created_at":"2026-04-18T15:45:46Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T15:45:46Z","last_comment_at":"2026-04-18T15:45:46Z","reading_time_minutes":3,"tag_list":["react","typescript","ai","webdev"],"tags":"react, typescript, ai, webdev","user":{"name":"Aravind Lal","username":"mfscpayload690","twitter_username":null,"github_username":"mfscpayload-690","user_id":3881807,"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%2F3881807%2Fc8afb431-783b-4415-9448-511ae32aaf07.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%2F3881807%2Fc8afb431-783b-4415-9448-511ae32aaf07.jpeg"}},{"type_of":"article","id":3516428,"title":"How I Optimized a React App from Slow to Lightning Fast (Real Performance Guide)","description":"Most React tutorials focus on building apps. Very few teach you how to fix performance issues which...","readable_publish_date":"Apr 17","slug":"how-i-optimized-a-react-app-from-slow-to-lightning-fast-real-performance-guide-l8","path":"/sajeed_syed_9a49d71ee4474/how-i-optimized-a-react-app-from-slow-to-lightning-fast-real-performance-guide-l8","url":"https://dev.to/sajeed_syed_9a49d71ee4474/how-i-optimized-a-react-app-from-slow-to-lightning-fast-real-performance-guide-l8","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-17T16:31:26Z","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%2F9dksuerbaoxosse2grh2.png","canonical_url":"https://dev.to/sajeed_syed_9a49d71ee4474/how-i-optimized-a-react-app-from-slow-to-lightning-fast-real-performance-guide-l8","created_at":"2026-04-17T16:31:26Z","edited_at":"2026-04-17T16:57:17Z","crossposted_at":null,"published_at":"2026-04-17T16:31:26Z","last_comment_at":"2026-04-17T16:31:26Z","reading_time_minutes":3,"tag_list":["webdev","react","javascript"],"tags":"webdev, react, javascript","user":{"name":"Sajeed Syed","username":"sajeed_syed_9a49d71ee4474","twitter_username":null,"github_username":null,"user_id":3884856,"website_url":"https://sajeedsyed.netlify.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%2F3884856%2F408f72d3-d601-46e3-a776-817a5e9f0402.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%2F3884856%2F408f72d3-d601-46e3-a776-817a5e9f0402.jpg"}},{"type_of":"article","id":3516999,"title":"Building an Unshielded Token dApp with UI on Midnight","description":"Building an Unshielded Token dApp with UI on Midnight   Midnight is best known for its...","readable_publish_date":"Apr 17","slug":"building-an-unshielded-token-dapp-with-ui-on-midnight-4ae2","path":"/mmoo9/building-an-unshielded-token-dapp-with-ui-on-midnight-4ae2","url":"https://dev.to/mmoo9/building-an-unshielded-token-dapp-with-ui-on-midnight-4ae2","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T20:26:08Z","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%2F1rlaglijst7tb3uq7cqg.png","canonical_url":"https://dev.to/mmoo9/building-an-unshielded-token-dapp-with-ui-on-midnight-4ae2","created_at":"2026-04-17T20:26:08Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T20:26:08Z","last_comment_at":"2026-04-17T20:26:08Z","reading_time_minutes":6,"tag_list":["midnight","blockchain","typescript","react"],"tags":"midnight, blockchain, typescript, react","user":{"name":"mmoo9","username":"mmoo9","twitter_username":null,"github_username":null,"user_id":3885148,"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%2F3885148%2Fb7cb4876-3ed7-47bb-9616-3c932c7758d7.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%2F3885148%2Fb7cb4876-3ed7-47bb-9616-3c932c7758d7.jpg"}},{"type_of":"article","id":3518490,"title":"I Built “Sousa” — a Detective-Style Investigation Board App","description":"You know that board from crime dramas? I made it into an app.   You’ve probably seen it in...","readable_publish_date":"Apr 18","slug":"i-built-sousa-a-detective-style-investigation-board-app-221d","path":"/apu-and-opu/i-built-sousa-a-detective-style-investigation-board-app-221d","url":"https://dev.to/apu-and-opu/i-built-sousa-a-detective-style-investigation-board-app-221d","comments_count":1,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T08:25:16Z","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%2Ff30qo03qwzs7llqveyco.png","canonical_url":"https://dev.to/apu-and-opu/i-built-sousa-a-detective-style-investigation-board-app-221d","created_at":"2026-04-18T07:56:01Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T08:25:16Z","last_comment_at":"2026-04-18T14:11:24Z","reading_time_minutes":3,"tag_list":["opensource","react","webdev","productivity"],"tags":"opensource, react, webdev, productivity","user":{"name":"Apu \u0026 Opu","username":"apu-and-opu","twitter_username":null,"github_username":null,"user_id":3885677,"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%2F3885677%2F65460723-950e-4b2f-9790-89e9535076c8.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%2F3885677%2F65460723-950e-4b2f-9790-89e9535076c8.png"}},{"type_of":"article","id":3518839,"title":"I Built a TikTok Downloader with Go — Here's What I Learned","description":"Why I Built ClipTool   I needed a simple way to download TikTok videos without watermarks....","readable_publish_date":"Apr 18","slug":"i-built-a-tiktok-downloader-with-go-heres-what-i-learned-o93","path":"/duc_t_356dc5761ba67044724/i-built-a-tiktok-downloader-with-go-heres-what-i-learned-o93","url":"https://dev.to/duc_t_356dc5761ba67044724/i-built-a-tiktok-downloader-with-go-heres-what-i-learned-o93","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T09:32: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%2Fd4dx72jwt21xto242xr7.png","canonical_url":"https://dev.to/duc_t_356dc5761ba67044724/i-built-a-tiktok-downloader-with-go-heres-what-i-learned-o93","created_at":"2026-04-18T09:32:47Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T09:32:47Z","last_comment_at":"2026-04-18T09:32:47Z","reading_time_minutes":1,"tag_list":["go","webdev","react","showdev"],"tags":"go, webdev, react, showdev","user":{"name":"Thanh Duc","username":"duc_t_356dc5761ba67044724","twitter_username":null,"github_username":null,"user_id":2270168,"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%2F2270168%2Feacdfffc-bf37-48a5-b973-182fc287b988.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%2F2270168%2Feacdfffc-bf37-48a5-b973-182fc287b988.png"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":3519447,"title":"Building Cuevora: what a teleprompter taught me about building software people can trust","description":"I did not start out trying to build something impressive.  If I am being honest, I just wanted to...","readable_publish_date":"Apr 18","slug":"building-cuevora-what-a-teleprompter-taught-me-about-building-software-people-can-trust-2hap","path":"/intelgreatnez/building-cuevora-what-a-teleprompter-taught-me-about-building-software-people-can-trust-2hap","url":"https://dev.to/intelgreatnez/building-cuevora-what-a-teleprompter-taught-me-about-building-software-people-can-trust-2hap","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T12:49:37Z","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%2Fnqi9q8e7c0a5yxgx18nv.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%2Fnqi9q8e7c0a5yxgx18nv.png","canonical_url":"https://dev.to/intelgreatnez/building-cuevora-what-a-teleprompter-taught-me-about-building-software-people-can-trust-2hap","created_at":"2026-04-18T12:49:37Z","edited_at":"2026-04-18T13:13:36Z","crossposted_at":null,"published_at":"2026-04-18T12:49:37Z","last_comment_at":"2026-04-18T12:49:37Z","reading_time_minutes":3,"tag_list":["react","opensource","webdev","typescript"],"tags":"react, opensource, webdev, typescript","user":{"name":"Ibim","username":"intelgreatnez","twitter_username":"Intelgreatnez","github_username":"iclectic","user_id":199160,"website_url":"https://ibimbraide.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%2F199160%2Fd7e3e64e-a11f-4422-8dda-df91758b889b.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%2F199160%2Fd7e3e64e-a11f-4422-8dda-df91758b889b.jpg"}},{"type_of":"article","id":3519927,"title":"Font Files in Frontend: A Practical Guide Every Developer Should Know","description":"Fonts are often treated as a simple design choice, but in frontend they influence much more...","readable_publish_date":"Apr 18","slug":"font-files-in-frontend-a-practical-guide-every-developer-should-know-3nic","path":"/vishwark/font-files-in-frontend-a-practical-guide-every-developer-should-know-3nic","url":"https://dev.to/vishwark/font-files-in-frontend-a-practical-guide-every-developer-should-know-3nic","comments_count":2,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-18T15:49:09Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2Fzp4dzo1k3i9rdwg53f2f.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%2Fzp4dzo1k3i9rdwg53f2f.jpeg","canonical_url":"https://dev.to/vishwark/font-files-in-frontend-a-practical-guide-every-developer-should-know-3nic","created_at":"2026-04-18T15:49:09Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T15:49:09Z","last_comment_at":"2026-04-18T17:21:42Z","reading_time_minutes":4,"tag_list":["frontend","webdev","react"],"tags":"frontend, webdev, react","user":{"name":"Vishwark","username":"vishwark","twitter_username":null,"github_username":null,"user_id":3116261,"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%2F3116261%2F7660d70c-7d62-47b0-b862-83d53e492293.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%2F3116261%2F7660d70c-7d62-47b0-b862-83d53e492293.png"}},{"type_of":"article","id":3519618,"title":"[DeskFlow]Scaling Up: Making My React Canvas App 6x Larger (v1.1.6)","description":"I am building DeskFlow, a browser-based visual planner for desk setups and cable management.   As the...","readable_publish_date":"Apr 18","slug":"deskflowscaling-up-making-my-react-canvas-app-6x-larger-v116-268a","path":"/rocketsquirreldev/deskflowscaling-up-making-my-react-canvas-app-6x-larger-v116-268a","url":"https://dev.to/rocketsquirreldev/deskflowscaling-up-making-my-react-canvas-app-6x-larger-v116-268a","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T14:02:24Z","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%2Fn5zjg6pcms4dm1rtajus.png","canonical_url":"https://dev.to/rocketsquirreldev/deskflowscaling-up-making-my-react-canvas-app-6x-larger-v116-268a","created_at":"2026-04-18T14:02:24Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T14:02:24Z","last_comment_at":"2026-04-18T14:02:24Z","reading_time_minutes":2,"tag_list":["webdev","react","ui","indiehackers"],"tags":"webdev, react, ui, indiehackers","user":{"name":"rocketsquirreldev","username":"rocketsquirreldev","twitter_username":"kRocketSquirrel","github_username":null,"user_id":3849271,"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%2F3849271%2F5c7a54bb-000b-44cb-ac7c-e19347a618a9.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%2F3849271%2F5c7a54bb-000b-44cb-ac7c-e19347a618a9.jpg"}},{"type_of":"article","id":3519862,"title":"AI-Assisted Debugging in Next.js 16 with Experimental Agent DevTools","description":"Next.js 16 introduces a foundational shift in how developers and AI agents interact with application...","readable_publish_date":"Apr 18","slug":"ai-assisted-debugging-in-nextjs-16-with-experimental-agent-devtools-1obg","path":"/mericcintosun/ai-assisted-debugging-in-nextjs-16-with-experimental-agent-devtools-1obg","url":"https://dev.to/mericcintosun/ai-assisted-debugging-in-nextjs-16-with-experimental-agent-devtools-1obg","comments_count":1,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-18T15:21:20Z","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%2F8t2hxgi48rmich9b4h9c.png","canonical_url":"https://mericcintosun.com/blog/nextjs-16-experimental-agent-devtools","created_at":"2026-04-18T15:21:20Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T15:21:20Z","last_comment_at":"2026-04-18T23:54:16Z","reading_time_minutes":11,"tag_list":["agents","ai","nextjs","react"],"tags":"agents, ai, nextjs, react","user":{"name":"Meriç Cintosun","username":"mericcintosun","twitter_username":null,"github_username":"mericcintosun","user_id":3854042,"website_url":"https://mericcintosun.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%2F3854042%2F4711d921-320e-44bc-a2a8-8aec225d1770.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%2F3854042%2F4711d921-320e-44bc-a2a8-8aec225d1770.jpeg"}},{"type_of":"article","id":3510024,"title":"Next.js 16 App Router: The Complete Guide for 2026","description":"Everything you need to know about Next.js 16 App Router — from server components to the new params API changes.","readable_publish_date":"Apr 19","slug":"nextjs-16-app-router-the-complete-guide-for-2026-2hi3","path":"/getcraftly/nextjs-16-app-router-the-complete-guide-for-2026-2hi3","url":"https://dev.to/getcraftly/nextjs-16-app-router-the-complete-guide-for-2026-2hi3","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-19T07:19:55Z","language":"en","subforem_id":1,"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%2Fgetcraftly.dev%2Fog-devto%3Ftitle%3DNext.js%2B16%2BApp%2BRouter%253A%2BThe%2BComplete%2BGuide%2Bfor%2B2026%26tag%3DNext.js%26readTime%3D8%2Bmin%2Bread","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fgetcraftly.dev%2Fog-devto%3Ftitle%3DNext.js%2B16%2BApp%2BRouter%253A%2BThe%2BComplete%2BGuide%2Bfor%2B2026%26tag%3DNext.js%26readTime%3D8%2Bmin%2Bread","canonical_url":"https://getcraftly.dev/blog/nextjs-16-app-router-guide","created_at":"2026-04-16T11:07:57Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-19T07:19:55Z","last_comment_at":"2026-04-19T07:19:55Z","reading_time_minutes":4,"tag_list":["nextjs","typescript","react"],"tags":"nextjs, typescript, react","user":{"name":"Craftly-dev","username":"getcraftly","twitter_username":null,"github_username":null,"user_id":3882284,"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%2F3882284%2F785110de-e7b7-4a25-bd47-94b3e2c1a13e.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%2F3882284%2F785110de-e7b7-4a25-bd47-94b3e2c1a13e.png"}},{"type_of":"article","id":3502905,"title":"ReactJs Performance ~ State Management~","description":"・The choice of state management can have a dramatic effect on React performance, but most comparisons...","readable_publish_date":"Apr 17","slug":"reactjs-performance-state-management-3bj2","path":"/kkr0423/reactjs-performance-state-management-3bj2","url":"https://dev.to/kkr0423/reactjs-performance-state-management-3bj2","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-04-17T20:45:57Z","language":"en","subforem_id":1,"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.amazonaws.com%2Fuploads%2Farticles%2F7vku19d7w8tk2c53e24w.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%2F7vku19d7w8tk2c53e24w.jpg","canonical_url":"https://dev.to/kkr0423/reactjs-performance-state-management-3bj2","created_at":"2026-04-15T05:27:23Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T20:45:57Z","last_comment_at":"2026-04-17T20:45:57Z","reading_time_minutes":2,"tag_list":["webdev","react","learning","performance"],"tags":"webdev, react, learning, performance","user":{"name":"Ogasawara Kakeru","username":"kkr0423","twitter_username":null,"github_username":null,"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.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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2091087%2F848260f3-b067-4b18-8dbc-34f77d4456a3.jpg"}},{"type_of":"article","id":3516973,"title":".NET Application Architectures: Complete Guide to Monolithic, Layered, Clean, and More","description":"Choosing the right application architecture is one of the most critical decisions you'll make when...","readable_publish_date":"Apr 17","slug":"net-application-architectures-complete-guide-to-monolithic-layered-clean-and-more-eio","path":"/vikrant_bagal_afae3e25ca7/net-application-architectures-complete-guide-to-monolithic-layered-clean-and-more-eio","url":"https://dev.to/vikrant_bagal_afae3e25ca7/net-application-architectures-complete-guide-to-monolithic-layered-clean-and-more-eio","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-17T20:17:49Z","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%2Fvikrantb.x02.me%2Fi%2F7KTT.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fvikrantb.x02.me%2Fi%2F7KTT.png","canonical_url":"https://dev.to/vikrant_bagal_afae3e25ca7/net-application-architectures-complete-guide-to-monolithic-layered-clean-and-more-eio","created_at":"2026-04-17T20:11:48Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T20:17:49Z","last_comment_at":"2026-04-17T20:17:49Z","reading_time_minutes":8,"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":3517352,"title":"React Unlocked: A Beginner’s Guide to Concepts, Tools \u0026 Modern Development","description":"What is React?  React is a JavaScript library used to build user interfaces (UI), especially for...","readable_publish_date":"Apr 17","slug":"react-unlocked-a-beginners-guide-to-concepts-tools-modern-development-1fdp","path":"/bala_murugan_/react-unlocked-a-beginners-guide-to-concepts-tools-modern-development-1fdp","url":"https://dev.to/bala_murugan_/react-unlocked-a-beginners-guide-to-concepts-tools-modern-development-1fdp","comments_count":0,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-04-17T23:06:25Z","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%2Fwtllcjbrlzbo3u8hd05f.png","canonical_url":"https://dev.to/bala_murugan_/react-unlocked-a-beginners-guide-to-concepts-tools-modern-development-1fdp","created_at":"2026-04-17T23:06:26Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-17T23:06:25Z","last_comment_at":"2026-04-17T23:06:25Z","reading_time_minutes":2,"tag_list":["webdev","react","beginners"],"tags":"webdev, react, beginners","user":{"name":"Bala Murugan","username":"bala_murugan_","twitter_username":null,"github_username":null,"user_id":3689423,"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%2F3689423%2F44a7af24-50e6-4639-90bc-de906d6b849f.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%2F3689423%2F44a7af24-50e6-4639-90bc-de906d6b849f.png"}},{"type_of":"article","id":3521717,"title":"Smart Venue – AI-Powered Crowd Navigation \u0026 Queue Prediction Assistant","description":"Excited to share my project Smart Venue, developed as part of the Prompt Wars innovation challenge by...","readable_publish_date":"Apr 19","slug":"smart-venue-ai-powered-crowd-navigation-queue-prediction-assistant-35fj","path":"/bujji_kancharla_25d0ef14f/smart-venue-ai-powered-crowd-navigation-queue-prediction-assistant-35fj","url":"https://dev.to/bujji_kancharla_25d0ef14f/smart-venue-ai-powered-crowd-navigation-queue-prediction-assistant-35fj","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-19T07:15:43Z","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%2Fulsi6z8ciaqmgsjgktqe.png","canonical_url":"https://dev.to/bujji_kancharla_25d0ef14f/smart-venue-ai-powered-crowd-navigation-queue-prediction-assistant-35fj","created_at":"2026-04-19T07:15:43Z","edited_at":"2026-04-19T07:24:13Z","crossposted_at":null,"published_at":"2026-04-19T07:15:43Z","last_comment_at":"2026-04-19T07:15:43Z","reading_time_minutes":1,"tag_list":["ai","devchallenge","react","showdev"],"tags":"ai, devchallenge, react, showdev","user":{"name":"Bujji Kancharla","username":"bujji_kancharla_25d0ef14f","twitter_username":null,"github_username":null,"user_id":3887012,"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%2F3887012%2F22090af4-acaf-4a6b-a9f2-1fd949ec0ffe.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%2F3887012%2F22090af4-acaf-4a6b-a9f2-1fd949ec0ffe.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":3518985,"title":"Reading and Reacting to Contract State from a Frontend","description":"Reading and Reacting to Contract State from a Frontend   When I first tried to display live...","readable_publish_date":"Apr 18","slug":"reading-and-reacting-to-contract-state-from-a-frontend-3aj7","path":"/tosh2308/reading-and-reacting-to-contract-state-from-a-frontend-3aj7","url":"https://dev.to/tosh2308/reading-and-reacting-to-contract-state-from-a-frontend-3aj7","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T10:01:52Z","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%2F0eie3rgpaf8kvjh07vfn.png","canonical_url":"https://dev.to/tosh2308/reading-and-reacting-to-contract-state-from-a-frontend-3aj7","created_at":"2026-04-18T10:01:52Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T10:01:52Z","last_comment_at":"2026-04-18T10:01:52Z","reading_time_minutes":10,"tag_list":["midnight","react","typescript","tutorial"],"tags":"midnight, react, typescript, tutorial","user":{"name":"Tosh","username":"tosh2308","twitter_username":null,"github_username":null,"user_id":3882963,"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%2F3882963%2Ff98fa978-b1f1-431a-8433-c5817c02279f.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%2F3882963%2Ff98fa978-b1f1-431a-8433-c5817c02279f.png"}},{"type_of":"article","id":3520658,"title":"Building a Shielded Token dApp on Midnight: From Contract to React UI","description":"Building a Shielded Token dApp on Midnight: From Contract to React UI   Midnight flips the...","readable_publish_date":"Apr 18","slug":"building-a-shielded-token-dapp-on-midnight-from-contract-to-react-ui-46ba","path":"/tosh2308/building-a-shielded-token-dapp-on-midnight-from-contract-to-react-ui-46ba","url":"https://dev.to/tosh2308/building-a-shielded-token-dapp-on-midnight-from-contract-to-react-ui-46ba","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T20:55:55Z","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%2Fp11h6o8iiby2t8c6l6vb.png","canonical_url":"https://dev.to/tosh2308/building-a-shielded-token-dapp-on-midnight-from-contract-to-react-ui-46ba","created_at":"2026-04-18T20:55:55Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T20:55:55Z","last_comment_at":"2026-04-18T20:55:55Z","reading_time_minutes":11,"tag_list":["midnight","react","blockchain","privacy"],"tags":"midnight, react, blockchain, privacy","user":{"name":"Tosh","username":"tosh2308","twitter_username":null,"github_username":null,"user_id":3882963,"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%2F3882963%2Ff98fa978-b1f1-431a-8433-c5817c02279f.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%2F3882963%2Ff98fa978-b1f1-431a-8433-c5817c02279f.png"}},{"type_of":"article","id":3520495,"title":"Building a Shielded Token dApp on Midnight: From Contract to React UI","description":"Building a Shielded Token dApp on Midnight: From Contract to React UI   Midnight flips the...","readable_publish_date":"Apr 18","slug":"building-a-shielded-token-dapp-on-midnight-from-contract-to-react-ui-4fel","path":"/tosh2308/building-a-shielded-token-dapp-on-midnight-from-contract-to-react-ui-4fel","url":"https://dev.to/tosh2308/building-a-shielded-token-dapp-on-midnight-from-contract-to-react-ui-4fel","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-04-18T19:29:52Z","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%2F1p01x1j21gtu5bpouyz7.png","canonical_url":"https://dev.to/tosh2308/building-a-shielded-token-dapp-on-midnight-from-contract-to-react-ui-4fel","created_at":"2026-04-18T19:29:52Z","edited_at":null,"crossposted_at":null,"published_at":"2026-04-18T19:29:52Z","last_comment_at":"2026-04-18T19:29:52Z","reading_time_minutes":11,"tag_list":["midnight","blockchain","typescript","react"],"tags":"midnight, blockchain, typescript, react","user":{"name":"Tosh","username":"tosh2308","twitter_username":null,"github_username":null,"user_id":3882963,"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%2F3882963%2Ff98fa978-b1f1-431a-8433-c5817c02279f.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%2F3882963%2Ff98fa978-b1f1-431a-8433-c5817c02279f.png"}}]