[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"verticals":3,"tag-intl-1":44,"tags-all":82,"search-suggestions":195},[4,20,32],{"id":5,"slug":6,"name":7,"tagline":8,"description":9,"accentFrom":10,"accentTo":11,"icon":12,"defaultLocale":13,"locales":14,"features":16,"position":19},"019fe637-3d33-714b-b57f-23e163ffca0c","dev","Web Development","Read it. Run it. Prove it.","A post a day on modern web development — most with an editable playground and a quiz that explains every answer. Free, no account needed.","violet-500","cyan-400","◇","en",[13,15],"fa",{"courses":17,"paths":17,"articles":17,"exams":18,"flashcards":18,"packages":17,"community":17,"certificates":17,"teams":17,"commerce":17},true,false,0,{"id":21,"slug":22,"name":23,"tagline":24,"description":25,"accentFrom":26,"accentTo":10,"icon":27,"defaultLocale":13,"locales":28,"features":30,"position":31},"019fe637-3dc2-754c-8657-0f175bfee7c6","lang","Languages","Learn a language the way you learn a codebase.","Grammar explained the way good documentation explains an API — one idea at a time, each with a quiz.","amber-400","⌘",[13,15,29],"es",{"courses":18,"paths":18,"articles":17,"exams":18,"flashcards":17,"packages":18,"community":17,"certificates":17,"teams":18,"commerce":18},2,{"id":33,"slug":34,"name":35,"tagline":36,"description":37,"accentFrom":38,"accentTo":39,"icon":40,"defaultLocale":13,"locales":41,"features":42,"position":43},"7b3c16f2-931d-410e-802e-e1fa4edab7de","soft","Soft Skills","The half of the job nobody wrote documentation for.","Weekly, on the parts of working life that decide more than your code does — first weeks, meetings, interviews, promotions, and the people around you. Written from what actually happens, and recorded as a podcast you can listen to on the walk.","emerald-400","teal-300","◉",[13],{"courses":18,"paths":18,"articles":17,"exams":18,"flashcards":18,"packages":18,"community":17,"certificates":18,"teams":18,"commerce":18},3,{"items":45,"meta":80},[46],{"id":47,"slug":48,"title":49,"subtitle":50,"excerpt":51,"coverUrl":52,"locale":13,"readingMinutes":53,"publishedAt":54,"viewCount":55,"likeCount":19,"commentCount":19,"author":56,"vertical":61,"topic":62,"tags":65,"_count":77,"playground":79,"hasQuiz":17,"hasPlayground":17},"019fe660-edbb-714e-b0e8-8488ccbb6940","intl-relativetimeformat-relative-dates","You're installing date-fns for 'X hours ago'. `Intl.RelativeTimeFormat` does it natively.",null,"Most apps display relative timestamps — '3 minutes ago', 'last week'. Developers still reach for date-fns or moment for this. The Intl.RelativeTimeFormat API handles it natively, with full locale support and zero dependencies.","\u002Fmedia\u002Fcovers\u002Fintl-relativetimeformat-relative-dates.png",4,"2026-08-07T07:22:54.352Z",329,{"id":57,"name":58,"username":59,"avatarUrl":50,"headline":60},"019fe637-3c25-7088-9034-39c9f15dc3c8","Parsa Jiravand","parsa","Frontend engineer · building bestpractic",{"slug":6,"name":7,"accentFrom":10,"accentTo":11},{"slug":63,"name":64},"javascript","JavaScript",[66,68,71,74],{"slug":63,"name":67,"color":50},"Javascript",{"slug":69,"name":70,"color":50},"webdev","Webdev",{"slug":72,"name":73,"color":50},"frontend","Frontend",{"slug":75,"name":76,"color":50},"intl","Intl",{"assessments":78},1,{"slug":48},{"page":78,"perPage":81,"total":78,"totalPages":78},12,[83,85,87,89,93,97,101,105,108,112,115,119,122,126,129,132,135,138,141,144,147,150,153,156,159,162,165,168,171,174,177,180,183,186,189,192],{"slug":69,"name":70,"color":50,"articles":84},107,{"slug":63,"name":67,"color":50,"articles":86},89,{"slug":72,"name":73,"color":50,"articles":88},72,{"slug":90,"name":91,"color":50,"articles":92},"css","Css",36,{"slug":94,"name":95,"color":50,"articles":96},"tutorial","Tutorial",35,{"slug":98,"name":99,"color":50,"articles":100},"typescript","Typescript",15,{"slug":102,"name":103,"color":50,"articles":104},"react","React",13,{"slug":106,"name":107,"color":50,"articles":81},"performance","Performance",{"slug":109,"name":110,"color":50,"articles":111},"node","Node",9,{"slug":113,"name":114,"color":50,"articles":111},"browser","Browser",{"slug":116,"name":117,"color":50,"articles":118},"html","Html",7,{"slug":120,"name":121,"color":50,"articles":118},"accessibility","Accessibility",{"slug":123,"name":124,"color":50,"articles":125},"programming","Programming",6,{"slug":127,"name":128,"color":50,"articles":125},"grammar","Grammar",{"slug":130,"name":131,"color":50,"articles":53},"nestjs","Nestjs",{"slug":133,"name":134,"color":50,"articles":53},"nextjs","Nextjs",{"slug":136,"name":137,"color":50,"articles":53},"apis","Apis",{"slug":139,"name":140,"color":50,"articles":43},"nuxt","Nuxt",{"slug":142,"name":143,"color":50,"articles":43},"ssr","SSR",{"slug":145,"name":146,"color":50,"articles":43},"ai","Ai",{"slug":148,"name":149,"color":50,"articles":43},"vue","Vue",{"slug":151,"name":152,"color":50,"articles":31},"security","Security",{"slug":154,"name":155,"color":50,"articles":31},"async","Async",{"slug":157,"name":158,"color":50,"articles":31},"forms","Forms",{"slug":160,"name":161,"color":50,"articles":31},"api","API",{"slug":163,"name":164,"color":50,"articles":31},"english","English",{"slug":166,"name":167,"color":50,"articles":31},"verbs","Verbs",{"slug":169,"name":170,"color":50,"articles":31},"spanish","Spanish",{"slug":172,"name":173,"color":50,"articles":31},"a1","A1",{"slug":175,"name":176,"color":50,"articles":31},"a2","A2",{"slug":178,"name":179,"color":50,"articles":31},"tenses","Tenses",{"slug":181,"name":182,"color":50,"articles":31},"turkish","Turkish",{"slug":184,"name":185,"color":50,"articles":31},"career","Career",{"slug":187,"name":188,"color":50,"articles":31},"beginners","Beginners",{"slug":190,"name":191,"color":50,"articles":31},"productivity","Productivity",{"slug":193,"name":194,"color":50,"articles":31},"discuss","Discuss",[196,197,198,199,200,201,202,203,204,205,206,207],{"slug":69,"name":70,"articles":84},{"slug":63,"name":67,"articles":86},{"slug":72,"name":73,"articles":88},{"slug":90,"name":91,"articles":92},{"slug":94,"name":95,"articles":96},{"slug":98,"name":99,"articles":100},{"slug":102,"name":103,"articles":104},{"slug":106,"name":107,"articles":81},{"slug":113,"name":114,"articles":111},{"slug":109,"name":110,"articles":111},{"slug":116,"name":117,"articles":118},{"slug":120,"name":121,"articles":118}]