[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"verticals":3,"games":44,"search-suggestions":117},[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":115},[46,60,74,86,97,108],{"id":47,"slug":48,"title":49,"tagline":50,"genre":51,"surface":52,"coverUrl":53,"accentFrom":38,"accentTo":11,"motif":54,"weekKey":55,"featured":17,"sessionSeconds":56,"freeLevels":43,"playCount":57,"playerCount":31,"releaseAt":58,"publishedAt":59},"01a09b23-9e30-76d8-8b1d-b3abd9d61c37","neon-snake","Neon Snake","The one everybody already knows how to play.","ARCADE","CANVAS","\u002Fcovers\u002Fgames\u002Fneon-snake.png","snake","2026-W37",90,8,"2026-09-08T09:00:00.000Z","2026-09-13T14:21:47.710Z",{"id":61,"slug":62,"title":63,"tagline":64,"genre":65,"surface":66,"coverUrl":67,"accentFrom":68,"accentTo":69,"motif":70,"weekKey":71,"featured":18,"sessionSeconds":72,"freeLevels":71,"playCount":19,"playerCount":19,"releaseAt":73,"publishedAt":71},"01a09b23-a070-72da-824c-732950e5dfbe","reaction-time","Reaction Time","Green means click. Everything else is you being too eager.","REFLEX","DOM","\u002Fcovers\u002Fgames\u002Freaction-time.png","rose-400","red-500","pulse",null,45,"2026-09-22T09:00:00.000Z",{"id":75,"slug":76,"title":77,"tagline":78,"genre":79,"surface":66,"coverUrl":80,"accentFrom":81,"accentTo":10,"motif":82,"weekKey":55,"featured":18,"sessionSeconds":83,"freeLevels":84,"playCount":84,"playerCount":84,"releaseAt":58,"publishedAt":85},"01a09b23-a030-7352-b796-a475b5d99aac","block-fit","Block Fit","Three shapes at a time. No falling, no timer, no mercy.","PUZZLE","\u002Fcovers\u002Fgames\u002Fblock-fit.png","fuchsia-400","blocks",300,1,"2026-09-13T15:08:36.615Z",{"id":87,"slug":88,"title":89,"tagline":90,"genre":91,"surface":66,"coverUrl":92,"accentFrom":93,"accentTo":94,"motif":95,"weekKey":55,"featured":18,"sessionSeconds":96,"freeLevels":71,"playCount":84,"playerCount":84,"releaseAt":58,"publishedAt":59},"01a09b23-9ff2-74bf-b26c-989fa40d0d4e","daily-word","Daily Word","One five-letter word. Six guesses. Everybody gets the same one.","WORD","\u002Fcovers\u002Fgames\u002Fdaily-word.png","lime-400","emerald-500","letters",180,{"id":98,"slug":99,"title":100,"tagline":101,"genre":79,"surface":66,"coverUrl":102,"accentFrom":103,"accentTo":104,"motif":105,"weekKey":55,"featured":18,"sessionSeconds":106,"freeLevels":31,"playCount":107,"playerCount":84,"releaseAt":58,"publishedAt":59},"01a09b23-9fb2-73cc-9755-81a427f2b7c4","minesweeper","Minesweeper","Thirty years old and still the best logic puzzle on a computer.","\u002Fcovers\u002Fgames\u002Fminesweeper.png","sky-400","indigo-500","grid",240,22,{"id":109,"slug":110,"title":110,"tagline":111,"genre":79,"surface":66,"coverUrl":112,"accentFrom":26,"accentTo":113,"motif":114,"weekKey":55,"featured":18,"sessionSeconds":83,"freeLevels":84,"playCount":19,"playerCount":19,"releaseAt":58,"publishedAt":59},"01a09b23-9f6f-74a5-a27a-21414662f65c","2048","Slide, merge, and try to stop at exactly the wrong moment.","\u002Fcovers\u002Fgames\u002F2048.png","orange-500","tiles",{"total":116,"nextDropAt":73},6,[118,122,126,130,134,138,142,146,150,153,156,159],{"slug":119,"name":120,"articles":121},"webdev","Webdev",93,{"slug":123,"name":124,"articles":125},"javascript","Javascript",78,{"slug":127,"name":128,"articles":129},"frontend","Frontend",70,{"slug":131,"name":132,"articles":133},"css","Css",32,{"slug":135,"name":136,"articles":137},"tutorial","Tutorial",24,{"slug":139,"name":140,"articles":141},"typescript","Typescript",14,{"slug":143,"name":144,"articles":145},"performance","Performance",12,{"slug":147,"name":148,"articles":149},"react","React",11,{"slug":151,"name":152,"articles":57},"browser","Browser",{"slug":154,"name":155,"articles":57},"node","Node",{"slug":157,"name":158,"articles":116},"grammar","Grammar",{"slug":160,"name":161,"articles":116},"programming","Programming"]