[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"categories-en":3,"category:\u002Fcategory\u002Ffrontend:2":37},[4,11,17,24,30],{"id":5,"slug":6,"name":7,"colorHex":8,"iconName":9,"postCount":10},"0e2c1225-f78a-4c20-8c93-998ab9dc93b9","frontend","Frontend","#40484f",null,25,{"id":12,"slug":13,"name":14,"colorHex":15,"iconName":9,"postCount":16},"bc8df70e-b7fb-4d89-a80c-fd458d36d58c","code-development","Code & Development","#8b5cf6",23,{"id":18,"slug":19,"name":20,"colorHex":21,"iconName":22,"postCount":23},"550e8400-e29b-41d4-a716-446655440001","inteligencia-artificial","Artificial Intelligence","#6366f1","brain",14,{"id":25,"slug":26,"name":27,"colorHex":28,"iconName":9,"postCount":29},"ea63b69c-2eb4-4100-81f3-70ce52d33743","tech-news","Tech News","#e50606",4,{"id":31,"slug":32,"name":33,"colorHex":34,"iconName":35,"postCount":36},"550e8400-e29b-41d4-a716-446655440017","how-to-guides","How-To & Guides","#be123c","book-open",2,{"category":38,"featured":39,"posts":60,"total":182},{"id":5,"slug":6,"name":7,"colorHex":8,"iconName":9,"postCount":10},{"id":40,"slug":41,"title":42,"excerpt":43,"image":44,"featured":45,"groupId":46,"publishedAt":47,"readingTime":48,"views":49,"author":50,"category":52,"tags":53},"841890b2-1a8c-43d4-b434-b94714705605","debugging-css-the-forgotten-margin-and-frontend-lessons","Debugging CSS: The Forgotten Margin and Frontend Lessons","A forgotten CSS property turned a minor layout glitch into a two-week ordeal. Learn how to avoid emotional debugging and fix complex UI issues faster.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1767745741814-featured-i6p1gc.jpeg",false,"bcaf503a-15c1-4d28-8795-6ae3c2a3e06f","2026-08-02T16:09:35.153874+00:00",8,0,{"name":51,"avatar":9},"Genildo Souza",{"slug":6,"name":7,"color":8},[54,57],{"slug":55,"name":56},"css","CSS",{"slug":58,"name":59},"performance","Performance",[61,80,102,118,131,149,163],{"id":62,"slug":63,"title":64,"excerpt":65,"image":66,"featured":45,"groupId":67,"publishedAt":68,"readingTime":69,"views":49,"author":70,"category":71,"tags":72},"6a3e8858-431f-4508-b85b-3a446efc81e6","the-end-of-handoff-the-product-design-and-development-framework-for-2026","The End of Handoff: The Product Design and Development Framework for 2026","For decades, building a product was a relay race—from research to design, coding to QA—and the baton was dropped at every stage. By 2026, these silos will vanish.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1781767222525-featured-xpfgj5.webp","736ffbfc-02f3-47ee-8935-b41f3a7f5eb1","2026-06-18T07:02:56.527941+00:00",9,{"name":51,"avatar":9},{"slug":6,"name":7,"color":8},[73,76,77],{"slug":74,"name":75},"ai","AI",{"slug":55,"name":56},{"slug":78,"name":79},"llm","LLM",{"id":81,"slug":82,"title":83,"excerpt":84,"image":85,"featured":45,"groupId":86,"publishedAt":87,"readingTime":88,"views":49,"author":89,"category":90,"tags":91},"98f6dff5-36ab-4c11-88cc-9303210f5558","lazy-loading-load-less-to-deliver-more","Lazy Loading: load less to deliver more","The web has never been so fast, yet never swallowed so many megabytes. The way out isn't speeding up delivery, but deferring what doesn't matter now.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1781223190438-featured-0vuabu.webp","9d929438-44e5-45d5-9fae-0c0575255130","2026-06-16T01:28:29.299376+00:00",13,{"name":51,"avatar":9},{"slug":6,"name":7,"color":8},[92,93,96,99],{"slug":55,"name":56},{"slug":94,"name":95},"javascript","JavaScript",{"slug":97,"name":98},"nextjs","Next.js",{"slug":100,"name":101},"typescript","TypeScript",{"id":103,"slug":104,"title":105,"excerpt":106,"image":107,"featured":45,"groupId":108,"publishedAt":109,"readingTime":69,"views":49,"author":110,"category":111,"tags":112},"439adab5-cb0c-42cd-960b-92299d13b313","typescript-with-zustand-tanstack-query-the-types-tutorials-dont-show-you","TypeScript with Zustand + TanStack Query: the types tutorials don't show you","Every tutorial shows the happy path. The real work starts when you split stores, add middleware, and try to keep TanStack Query keys honest.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1776576783650-featured-vhtiiw.webp","041fe219-e732-46d2-8050-42e63cec235a","2026-06-11T23:33:26.99398+00:00",{"name":51,"avatar":9},{"slug":6,"name":7,"color":8},[113,114,117],{"slug":94,"name":95},{"slug":115,"name":116},"react","React",{"slug":100,"name":101},{"id":119,"slug":120,"title":121,"excerpt":122,"image":123,"featured":45,"groupId":124,"publishedAt":125,"readingTime":126,"views":49,"author":127,"category":128,"tags":129},"1180b487-38a1-43fb-b5ea-8be010044414","youve-been-sizing-elements-the-wrong-way-and-css-has-had-the-fix-for-years","You've been sizing elements the wrong way. And CSS has had the fix for years.","You set width: 200px. It works... until it becomes min-width, max-width and some unreadable calc(). What if the content called the ideal size?","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1776608913866-featured-uxbjol.jpeg","3c4cdd6a-ceb3-434d-bf87-a02e8aa74c9d","2026-06-11T10:59:12.865699+00:00",12,{"name":51,"avatar":9},{"slug":6,"name":7,"color":8},[130],{"slug":55,"name":56},{"id":132,"slug":133,"title":134,"excerpt":135,"image":136,"featured":45,"groupId":137,"publishedAt":138,"readingTime":139,"views":49,"author":140,"category":141,"tags":142},"23140d39-dff7-4f1a-af5f-24d6daf5f7b6","zustand-and-tanstack-query-the-dynamic-duo-that-simplified-my-react-state-management","Zustand and TanStack Query: The Dynamic Duo That Simplified My React State Management","How combining Zustand for client state and TanStack Query for server state eliminates Redux boilerplate and creates a cleaner, more scalable React architecture.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1776129459608-featured-si4qda.png","5b08225d-8ac4-4f08-bd86-817418215733","2026-04-14T01:17:41.684+00:00",10,{"name":51,"avatar":9},{"slug":6,"name":7,"color":8},[143,144,145,146],{"slug":94,"name":95},{"slug":100,"name":101},{"slug":115,"name":116},{"slug":147,"name":148},"programming","Programming",{"id":150,"slug":151,"title":152,"excerpt":153,"image":154,"featured":45,"groupId":155,"publishedAt":156,"readingTime":157,"views":49,"author":158,"category":159,"tags":160},"25c0209a-404d-46d6-b163-22e1e184ca59","6-secret-useeffect-techniques","6 Secret useEffect Techniques","Beyond fetch and event listeners. What the docs show — and what they don't explain properly.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1776079320434-featured-3gqn6r.jpeg","97df5bae-fb25-4753-90d9-9632e75b1c14","2026-04-13T12:48:51.27+00:00",6,{"name":51,"avatar":9},{"slug":6,"name":7,"color":8},[161,162],{"slug":115,"name":116},{"slug":94,"name":95},{"id":164,"slug":165,"title":166,"excerpt":167,"image":168,"featured":45,"groupId":169,"publishedAt":170,"readingTime":29,"views":171,"author":172,"category":173,"tags":174},"236a0e47-856e-4f18-8d4e-5d68d2c04004","angular-vs-nextjs-which-to-choose","Angular vs Next.js: Which to choose?","Angular and Next.js are two dominant technologies in web development, but they shine in distinct scenarios. Angular is ideal for complex enterprise applications, focusing on consistency and long lifecycles. Next.js, on the other hand, excels in content-heavy sites, MVPs, and projects requiring high performance and SEO. The right choice depends on your project's context.","https:\u002F\u002Fmfgiomkkbihnlpfdxwrt.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-assets\u002Fmedia\u002Ffeatured\u002F1771369943174-featured-rl2sad.jpeg","1c4c39a8-20ae-4b56-9001-c44d6d7ed5ec","2026-03-26T03:40:05.431+00:00",214,{"name":51,"avatar":9},{"slug":6,"name":7,"color":8},[175,176,177,178,179],{"slug":94,"name":95},{"slug":100,"name":101},{"slug":115,"name":116},{"slug":97,"name":98},{"slug":180,"name":181},"angular","Angular",24]