[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"summary-b2b55b8570894cdc-software-factories-balancing-ai-autonomy-with-huma-summary":3,"summaries-facets-categories":106,"summary-related-b2b55b8570894cdc-software-factories-balancing-ai-autonomy-with-huma-summary":5868},{"id":4,"title":5,"ai":6,"body":13,"categories":54,"created_at":56,"date_modified":56,"description":47,"extension":57,"faq":56,"featured":58,"kicker_label":56,"meta":59,"navigation":88,"path":89,"published_at":90,"question":56,"scraped_at":90,"seo":91,"sitemap":92,"source_id":93,"source_name":94,"source_type":95,"source_url":96,"stem":97,"tags":98,"thumbnail_url":56,"tldr":103,"tweet":56,"unknown_tags":104,"__hash__":105},"summaries\u002Fsummaries\u002Fb2b55b8570894cdc-software-factories-balancing-ai-autonomy-with-huma-summary.md","Software Factories: Balancing AI Autonomy with Human Oversight",{"provider":7,"model":8,"input_tokens":9,"output_tokens":10,"processing_time_ms":11,"cost_usd":12},"openrouter","google\u002Fgemini-3.1-flash-lite",8129,806,4129,0.00324125,{"type":14,"value":15,"toc":46},"minimark",[16,21,25,29,32,36,39,43],[17,18,20],"h2",{"id":19},"the-architecture-of-the-software-factory","The Architecture of the Software Factory",[22,23,24],"p",{},"Modern software development is shifting from individual coding to building 'factories'—systems of harnessed loops. A loop is a single agentic unit (context, action, check, repeat). A harness provides the environment (sandbox, tools, memory, gates). A software factory is the orchestration of these loops at scale. The fundamental challenge is not generation capacity, but verification. As generation becomes cheap and automated, the bottleneck shifts to the 'review gate'—the expensive, non-scaling resource of human judgment.",[17,26,28],{"id":27},"dark-vs-lit-factories","Dark vs. Lit Factories",[22,30,31],{},"The distinction between 'dark' and 'lit' factories is a matter of human visibility. A 'dark' factory ships code verified only by machines, which can create the illusion of massive throughput. However, this leads to 'comprehension debt'—the widening gap between the amount of code in a system and the amount any human actually understands. While dark factories work for simple, isolated tasks, they fail in complex, long-lived enterprise systems where architectural integrity is paramount. A 'lit' factory keeps humans in the loop for high-stakes decisions, moving judgment upstream to the design and architectural phases before agents begin execution.",[17,33,35],{"id":34},"managing-back-pressure-and-control-flow","Managing Back Pressure and Control Flow",[22,37,38],{},"'Back pressure' dictates that an agent should only have as much autonomy as can be cheaply and reliably verified. To manage this, engineers must move from 'vibe coding'—where the model wanders through tool calls—to structured 'graph-based' workflows. By defining explicit nodes and conditional edges (state machines), engineers create a predictable path for agents. This structure acts as a safety net, allowing for automated verification through types, test seams, and well-defined component boundaries.",[17,40,42],{"id":41},"the-evolving-role-of-the-engineer","The Evolving Role of the Engineer",[22,44,45],{},"Engineers are no longer just writing diffs; they are now 'outer loop' operators. The inner loop (investigation, implementation, testing) is increasingly automated, but the outer loop (deciding the right approach, verifying soundness, and owning long-term consequences) remains a human responsibility. The most effective strategy is to reserve 'dark' automation for low-risk, high-frequency tasks (like linting or minor refactors) while keeping the 'lights on' for critical systems like authentication, billing, or public APIs where the cost of a wrong decision is high.",{"title":47,"searchDepth":48,"depth":48,"links":49},"",2,[50,51,52,53],{"id":19,"depth":48,"text":20},{"id":27,"depth":48,"text":28},{"id":34,"depth":48,"text":35},{"id":41,"depth":48,"text":42},[55],"Software Engineering",null,"md",false,{"group":60,"content_references":61,"triage":83},"addy-osmani",[62,68,72,77,81],{"type":63,"title":64,"author":65,"url":66,"context":67},"other","Harness Engineering is not Enough: Why Software Factories Fail","Dex Horthy","https:\u002F\u002Fyoutu.be\u002FhtM02KMNZnk?t=27219","recommended",{"type":63,"title":69,"author":70,"context":71},"The economics of program production","Bob Bemer","cited",{"type":73,"title":74,"author":75,"publisher":76,"context":67},"book","Beyond Vibe Coding","Addy Osmani","O'Reilly",{"type":78,"title":79,"context":80},"tool","LangGraph","mentioned",{"type":78,"title":82,"context":80},"LlamaIndex Workflows",{"relevance":84,"novelty":85,"quality":85,"actionability":85,"composite":86,"reasoning":87},5,4,4.35,"Category: Software Engineering. The article provides a deep exploration of software factories and their architecture, addressing the audience's need for understanding how to balance AI autonomy with human oversight in product development. It offers actionable insights on managing 'back pressure' and structuring workflows, which are directly applicable to building AI-powered products.",true,"\u002Fsummaries\u002Fb2b55b8570894cdc-software-factories-balancing-ai-autonomy-with-huma-summary","2026-07-23 17:59:58",{"title":5,"description":47},{"loc":89},"b2b55b8570894cdc","Addy Osmani Blog","article","https:\u002F\u002Faddyosmani.com\u002Fblog\u002Fsoftware-factories\u002F","summaries\u002Fb2b55b8570894cdc-software-factories-balancing-ai-autonomy-with-huma-summary",[99,100,101,102],"automation","ai-agents","software-engineering","dev-productivity","Software factories scale agentic loops, but success depends on managing 'back pressure'—the limit of what can be reliably verified. You must choose between 'dark' factories (fully automated) and 'lit' ones (human-reviewed) based on the cost of failure.",[100,101,102],"3_ZnrJC2lu-e7iImbhFTKVXcAVOcd1WsDPd5NYabYv8",[107,110,113,116,119,122,124,126,128,130,132,134,136,138,141,143,145,147,149,152,154,156,158,160,162,164,166,168,170,172,174,176,178,180,182,184,186,188,190,193,196,198,200,202,204,206,208,210,212,214,216,218,221,223,225,227,229,231,233,235,237,239,241,243,245,247,249,251,253,256,258,260,262,264,266,268,270,272,274,276,278,280,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,313,315,317,319,321,323,325,327,329,331,333,335,337,339,342,344,346,348,350,352,354,356,358,360,363,365,367,369,371,373,375,377,379,381,383,385,387,390,392,394,396,398,400,402,404,407,409,411,413,415,417,419,421,423,425,427,429,431,433,435,437,439,441,443,445,447,449,451,453,455,458,460,462,465,467,469,471,473,475,477,479,481,483,485,487,489,491,494,496,498,500,502,504,506,508,510,512,514,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563,565,567,569,571,573,575,577,579,581,583,585,587,589,591,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653,655,657,659,661,663,665,667,669,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,735,737,739,741,743,745,747,749,751,753,755,758,760,762,764,766,769,771,773,775,777,779,781,783,785,787,790,792,794,796,798,800,802,804,806,808,810,812,814,816,818,820,822,824,826,828,830,832,834,836,838,840,842,844,846,848,850,852,854,856,858,860,862,864,866,868,870,872,874,876,878,880,882,884,886,888,890,892,894,896,898,900,902,904,906,908,910,912,914,916,918,920,922,924,926,928,930,932,934,936,938,940,942,944,946,948,950,952,954,956,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044,1047,1049,1051,1053,1055,1057,1059,1061,1063,1065,1067,1069,1071,1073,1075,1077,1079,1081,1083,1085,1087,1089,1091,1093,1095,1097,1099,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1208,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1327,1329,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349,1351,1353,1355,1357,1359,1361,1363,1365,1367,1369,1371,1373,1375,1377,1379,1381,1383,1385,1387,1389,1391,1393,1395,1397,1399,1401,1403,1405,1407,1409,1411,1413,1415,1417,1419,1421,1423,1425,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449,1452,1454,1456,1458,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533,1535,1537,1539,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565,1567,1569,1571,1573,1575,1577,1579,1581,1583,1585,1587,1589,1591,1593,1595,1597,1599,1601,1603,1605,1607,1609,1611,1613,1615,1617,1619,1621,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641,1643,1645,1647,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683,1685,1687,1689,1691,1693,1695,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731,1733,1735,1737,1739,1741,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761,1763,1765,1767,1769,1771,1773,1775,1777,1779,1781,1783,1785,1787,1789,1791,1793,1795,1797,1799,1801,1803,1805,1807,1809,1811,1813,1815,1817,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1839,1841,1843,1845,1847,1849,1851,1853,1855,1858,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1937,1939,1941,1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999,2001,2003,2005,2007,2009,2011,2013,2015,2017,2019,2021,2023,2025,2027,2029,2031,2033,2035,2038,2040,2042,2044,2046,2048,2050,2052,2054,2056,2058,2060,2062,2064,2066,2068,2070,2072,2075,2077,2079,2081,2083,2085,2087,2089,2091,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111,2113,2115,2117,2119,2121,2123,2125,2127,2129,2131,2133,2135,2137,2139,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159,2161,2163,2165,2167,2169,2171,2173,2175,2177,2179,2181,2183,2185,2187,2189,2191,2193,2195,2197,2199,2201,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225,2227,2229,2231,2233,2235,2237,2239,2241,2243,2245,2247,2249,2251,2253,2255,2257,2259,2261,2263,2265,2267,2269,2271,2273,2275,2277,2279,2281,2283,2285,2287,2289,2291,2293,2295,2297,2299,2301,2303,2305,2307,2309,2311,2313,2315,2317,2319,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347,2349,2351,2353,2355,2357,2359,2361,2363,2365,2367,2369,2371,2373,2375,2377,2379,2381,2383,2385,2387,2389,2391,2393,2395,2397,2399,2401,2403,2405,2407,2409,2411,2413,2415,2417,2419,2421,2423,2425,2427,2429,2431,2433,2435,2437,2439,2441,2443,2445,2447,2449,2451,2453,2455,2457,2459,2461,2463,2465,2467,2469,2471,2473,2475,2477,2479,2481,2483,2485,2487,2489,2491,2493,2495,2497,2499,2501,2503,2505,2507,2509,2511,2513,2515,2517,2519,2521,2523,2525,2527,2529,2531,2533,2535,2537,2539,2541,2543,2545,2547,2549,2551,2553,2555,2557,2559,2561,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599,2601,2603,2605,2608,2610,2612,2614,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648,2650,2652,2654,2656,2658,2660,2662,2664,2666,2668,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2707,2709,2711,2713,2715,2717,2719,2721,2723,2725,2727,2729,2731,2733,2735,2737,2739,2741,2743,2745,2747,2749,2751,2753,2755,2757,2759,2761,2763,2765,2767,2769,2771,2773,2775,2777,2779,2781,2783,2785,2787,2789,2791,2793,2795,2797,2799,2801,2803,2805,2807,2809,2811,2813,2815,2817,2819,2821,2823,2825,2827,2829,2831,2833,2835,2837,2839,2841,2843,2845,2847,2849,2851,2853,2855,2857,2859,2861,2863,2865,2867,2869,2871,2873,2875,2877,2879,2881,2883,2885,2887,2889,2891,2893,2895,2897,2899,2901,2903,2905,2907,2909,2911,2913,2915,2917,2919,2921,2923,2925,2927,2929,2931,2933,2935,2937,2939,2941,2943,2945,2947,2949,2951,2953,2955,2957,2959,2961,2963,2965,2967,2969,2971,2973,2975,2977,2979,2981,2983,2985,2987,2989,2991,2993,2995,2997,2999,3001,3003,3005,3007,3009,3011,3013,3015,3017,3019,3021,3023,3025,3027,3029,3031,3033,3035,3037,3039,3041,3043,3045,3047,3049,3051,3053,3055,3057,3059,3061,3063,3065,3067,3069,3071,3073,3075,3077,3079,3081,3083,3085,3087,3089,3091,3093,3095,3097,3099,3101,3103,3105,3107,3109,3111,3113,3115,3117,3119,3121,3123,3125,3127,3129,3131,3133,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155,3157,3159,3161,3163,3165,3167,3169,3171,3173,3175,3177,3179,3181,3183,3185,3187,3189,3191,3193,3195,3197,3199,3201,3203,3205,3207,3209,3211,3213,3215,3217,3219,3221,3223,3225,3227,3229,3231,3233,3235,3237,3239,3241,3243,3245,3247,3249,3251,3253,3255,3257,3259,3261,3263,3265,3267,3269,3271,3273,3275,3277,3279,3281,3283,3285,3287,3289,3291,3293,3295,3297,3299,3301,3303,3305,3307,3309,3311,3313,3315,3317,3319,3321,3323,3325,3327,3329,3331,3333,3335,3337,3339,3341,3343,3345,3347,3349,3351,3353,3355,3357,3359,3361,3363,3365,3367,3369,3371,3373,3375,3377,3379,3381,3383,3385,3387,3389,3391,3393,3395,3397,3399,3401,3403,3405,3407,3409,3411,3413,3415,3417,3419,3421,3423,3425,3427,3429,3431,3433,3435,3437,3439,3441,3443,3445,3447,3449,3451,3453,3455,3457,3459,3461,3463,3465,3467,3469,3471,3473,3475,3477,3479,3481,3483,3485,3487,3489,3491,3493,3495,3497,3499,3501,3503,3505,3507,3509,3511,3513,3515,3517,3519,3521,3523,3525,3527,3529,3531,3533,3535,3537,3539,3541,3543,3545,3547,3549,3551,3553,3555,3557,3559,3561,3563,3565,3567,3569,3571,3573,3575,3577,3579,3581,3583,3585,3587,3589,3591,3593,3595,3597,3599,3601,3603,3605,3607,3609,3611,3613,3615,3617,3619,3621,3623,3625,3627,3629,3631,3633,3635,3637,3639,3641,3643,3645,3647,3649,3651,3653,3655,3657,3659,3661,3663,3665,3667,3669,3671,3673,3675,3677,3679,3681,3683,3685,3687,3689,3691,3693,3695,3697,3699,3701,3703,3705,3707,3709,3711,3713,3715,3717,3719,3721,3723,3725,3727,3729,3731,3733,3735,3737,3739,3741,3743,3745,3747,3749,3751,3753,3755,3757,3759,3761,3763,3765,3767,3769,3771,3773,3775,3777,3780,3782,3784,3786,3788,3790,3792,3794,3796,3798,3800,3802,3804,3806,3808,3810,3812,3814,3816,3818,3820,3822,3824,3826,3828,3830,3832,3834,3836,3838,3840,3842,3844,3846,3848,3850,3852,3854,3856,3858,3860,3862,3864,3866,3868,3870,3872,3874,3876,3878,3880,3882,3884,3886,3888,3890,3892,3894,3896,3898,3900,3902,3904,3906,3908,3910,3912,3914,3916,3918,3920,3922,3924,3926,3928,3930,3932,3934,3936,3938,3940,3942,3944,3946,3948,3950,3952,3954,3956,3958,3960,3962,3964,3966,3968,3970,3972,3974,3976,3978,3980,3982,3984,3986,3988,3990,3992,3994,3996,3998,4000,4002,4004,4006,4008,4010,4012,4014,4016,4018,4020,4022,4024,4026,4028,4030,4032,4034,4036,4038,4040,4042,4044,4046,4048,4050,4052,4054,4056,4058,4060,4062,4064,4066,4068,4070,4072,4074,4076,4078,4080,4082,4084,4086,4088,4090,4092,4094,4096,4098,4100,4102,4104,4106,4108,4110,4112,4114,4116,4118,4120,4122,4124,4126,4128,4130,4132,4134,4136,4138,4140,4142,4144,4146,4148,4150,4152,4154,4156,4158,4160,4162,4164,4166,4168,4170,4172,4174,4176,4178,4180,4182,4184,4186,4188,4190,4192,4194,4196,4198,4200,4202,4204,4206,4208,4210,4212,4214,4216,4218,4220,4222,4224,4226,4228,4230,4232,4234,4236,4238,4240,4242,4244,4246,4248,4250,4252,4254,4256,4258,4260,4262,4264,4266,4268,4270,4272,4274,4276,4278,4280,4282,4284,4286,4288,4290,4292,4294,4296,4298,4300,4302,4304,4306,4308,4310,4312,4314,4316,4318,4320,4322,4324,4326,4328,4330,4332,4334,4336,4338,4340,4342,4344,4346,4348,4350,4352,4354,4356,4358,4360,4362,4364,4366,4368,4370,4372,4374,4376,4378,4380,4382,4384,4386,4388,4390,4392,4394,4396,4398,4400,4402,4404,4406,4408,4410,4412,4414,4416,4418,4420,4422,4424,4426,4428,4430,4432,4434,4436,4438,4440,4442,4444,4446,4448,4450,4452,4454,4456,4458,4460,4462,4464,4466,4468,4470,4472,4474,4476,4478,4480,4482,4484,4486,4488,4490,4492,4494,4496,4498,4500,4502,4504,4507,4509,4511,4513,4515,4517,4519,4521,4523,4525,4527,4529,4531,4533,4535,4537,4539,4541,4543,4545,4547,4549,4551,4553,4555,4557,4559,4561,4563,4565,4567,4569,4571,4573,4575,4577,4579,4581,4583,4585,4587,4589,4591,4593,4595,4597,4599,4601,4603,4605,4607,4609,4611,4613,4615,4617,4619,4621,4623,4625,4627,4629,4631,4633,4635,4637,4639,4641,4643,4645,4647,4649,4651,4653,4655,4657,4659,4661,4663,4665,4667,4669,4672,4674,4676,4678,4680,4682,4684,4686,4688,4690,4692,4694,4696,4698,4700,4702,4704,4706,4708,4710,4712,4714,4716,4718,4720,4722,4724,4726,4728,4730,4732,4734,4736,4738,4740,4742,4744,4746,4748,4750,4752,4754,4756,4758,4760,4762,4764,4766,4768,4770,4772,4774,4776,4778,4780,4782,4784,4786,4788,4790,4792,4794,4796,4798,4800,4802,4804,4806,4808,4810,4812,4814,4816,4818,4820,4822,4824,4826,4828,4830,4832,4834,4836,4838,4840,4842,4844,4846,4848,4850,4852,4854,4856,4858,4860,4862,4864,4866,4868,4870,4872,4874,4876,4878,4880,4882,4884,4886,4888,4890,4892,4894,4896,4898,4900,4902,4904,4906,4908,4910,4912,4914,4916,4918,4920,4922,4924,4926,4928,4930,4932,4934,4936,4938,4940,4942,4944,4946,4948,4950,4952,4954,4956,4958,4960,4962,4964,4966,4968,4970,4972,4974,4976,4978,4980,4982,4984,4986,4988,4990,4992,4994,4996,4998,5000,5002,5004,5006,5008,5010,5012,5014,5016,5018,5020,5022,5024,5026,5028,5030,5032,5034,5036,5038,5040,5042,5044,5046,5048,5050,5052,5054,5056,5058,5060,5062,5064,5066,5068,5070,5072,5074,5076,5078,5080,5082,5084,5086,5088,5090,5092,5094,5096,5098,5100,5102,5104,5106,5108,5110,5112,5114,5116,5118,5120,5122,5124,5126,5128,5130,5132,5134,5136,5138,5140,5142,5144,5146,5148,5150,5152,5154,5156,5158,5160,5162,5164,5166,5168,5170,5172,5174,5176,5178,5180,5182,5184,5186,5188,5190,5192,5194,5196,5198,5200,5202,5204,5206,5208,5210,5212,5214,5216,5218,5220,5222,5224,5226,5228,5230,5232,5234,5236,5238,5240,5242,5244,5246,5248,5250,5252,5254,5256,5258,5260,5262,5264,5266,5268,5270,5272,5274,5276,5278,5280,5282,5284,5286,5288,5290,5292,5294,5296,5298,5300,5302,5304,5306,5308,5310,5312,5314,5316,5318,5320,5322,5324,5326,5328,5330,5332,5334,5336,5338,5340,5342,5344,5346,5348,5350,5352,5354,5356,5358,5360,5362,5364,5366,5368,5370,5372,5374,5376,5378,5380,5382,5384,5386,5388,5390,5392,5394,5396,5398,5400,5402,5404,5406,5408,5410,5412,5414,5416,5418,5420,5422,5424,5426,5428,5430,5432,5434,5436,5438,5440,5442,5444,5446,5448,5450,5452,5454,5456,5458,5460,5462,5464,5466,5468,5470,5472,5474,5476,5478,5480,5482,5484,5486,5488,5490,5492,5494,5496,5498,5500,5502,5504,5506,5508,5510,5512,5514,5516,5518,5520,5522,5524,5526,5528,5530,5532,5534,5536,5538,5540,5542,5544,5546,5548,5550,5552,5554,5556,5558,5560,5562,5564,5566,5568,5570,5572,5574,5576,5578,5580,5582,5584,5586,5588,5590,5592,5594,5596,5598,5600,5602,5604,5606,5608,5610,5612,5614,5616,5618,5620,5622,5624,5626,5628,5630,5632,5634,5636,5638,5640,5642,5644,5646,5648,5650,5652,5654,5656,5658,5660,5662,5664,5666,5668,5670,5672,5674,5676,5678,5680,5682,5684,5686,5688,5690,5692,5694,5696,5698,5700,5702,5704,5706,5708,5710,5712,5714,5716,5718,5720,5722,5724,5726,5728,5730,5732,5734,5736,5738,5740,5742,5744,5746,5748,5750,5752,5754,5756,5758,5760,5762,5764,5766,5768,5770,5772,5774,5776,5778,5780,5782,5784,5786,5788,5790,5792,5794,5796,5798,5800,5802,5804,5806,5808,5810,5812,5814,5816,5818,5820,5822,5824,5826,5828,5830,5832,5834,5836,5838,5840,5842,5844,5846,5848,5850,5852,5854,5856,5858,5860,5862,5864,5866],{"categories":108},[109],"Developer Productivity",{"categories":111},[112],"Business & SaaS",{"categories":114},[115],"AI & LLMs",{"categories":117},[118],"AI Automation",{"categories":120},[121],"Product Strategy",{"categories":123},[115],{"categories":125},[109],{"categories":127},[118],{"categories":129},[55],{"categories":131},[115],{"categories":133},[112],{"categories":135},[],{"categories":137},[115],{"categories":139},[140],"Inference & Serving",{"categories":142},[115],{"categories":144},[115],{"categories":146},[118],{"categories":148},[],{"categories":150},[151],"AI News & Trends",{"categories":153},[118],{"categories":155},[115],{"categories":157},[112],{"categories":159},[109],{"categories":161},[115],{"categories":163},[118],{"categories":165},[151],{"categories":167},[118],{"categories":169},[118],{"categories":171},[115],{"categories":173},[118],{"categories":175},[115],{"categories":177},[115],{"categories":179},[115],{"categories":181},[151],{"categories":183},[115],{"categories":185},[115],{"categories":187},[115],{"categories":189},[],{"categories":191},[192],"Design & Frontend",{"categories":194},[195],"Data Science & Visualization",{"categories":197},[151],{"categories":199},[115],{"categories":201},[115],{"categories":203},[115],{"categories":205},[],{"categories":207},[115],{"categories":209},[118],{"categories":211},[55],{"categories":213},[115],{"categories":215},[118],{"categories":217},[115],{"categories":219},[220],"Marketing & Growth",{"categories":222},[192],{"categories":224},[115],{"categories":226},[118],{"categories":228},[115],{"categories":230},[55],{"categories":232},[],{"categories":234},[],{"categories":236},[192],{"categories":238},[115],{"categories":240},[118],{"categories":242},[109],{"categories":244},[55],{"categories":246},[192],{"categories":248},[121],{"categories":250},[115],{"categories":252},[55],{"categories":254},[255],"DevOps & Cloud",{"categories":257},[118],{"categories":259},[121],{"categories":261},[151],{"categories":263},[115],{"categories":265},[],{"categories":267},[115],{"categories":269},[],{"categories":271},[118],{"categories":273},[55],{"categories":275},[],{"categories":277},[55],{"categories":279},[115],{"categories":281},[282],"Governance & Standards",{"categories":284},[112],{"categories":286},[],{"categories":288},[],{"categories":290},[115],{"categories":292},[115],{"categories":294},[118],{"categories":296},[115],{"categories":298},[115],{"categories":300},[118],{"categories":302},[115],{"categories":304},[115],{"categories":306},[115],{"categories":308},[],{"categories":310},[55],{"categories":312},[],{"categories":314},[],{"categories":316},[55],{"categories":318},[],{"categories":320},[55],{"categories":322},[115],{"categories":324},[115],{"categories":326},[220],{"categories":328},[115],{"categories":330},[192],{"categories":332},[192],{"categories":334},[115],{"categories":336},[55],{"categories":338},[118],{"categories":340},[341],"GovTech & Public-Sector Adoption",{"categories":343},[55],{"categories":345},[115],{"categories":347},[115],{"categories":349},[118],{"categories":351},[118],{"categories":353},[195],{"categories":355},[115],{"categories":357},[151],{"categories":359},[118],{"categories":361},[362],"Legal AI Tools",{"categories":364},[118],{"categories":366},[220],{"categories":368},[118],{"categories":370},[121],{"categories":372},[55],{"categories":374},[341],{"categories":376},[],{"categories":378},[118],{"categories":380},[],{"categories":382},[112],{"categories":384},[118],{"categories":386},[118],{"categories":388},[389],"RAG & Retrieval",{"categories":391},[112],{"categories":393},[115],{"categories":395},[55],{"categories":397},[255],{"categories":399},[192],{"categories":401},[115],{"categories":403},[],{"categories":405},[406],"Agents & Orchestration",{"categories":408},[55],{"categories":410},[115],{"categories":412},[],{"categories":414},[118],{"categories":416},[112],{"categories":418},[],{"categories":420},[115],{"categories":422},[],{"categories":424},[109],{"categories":426},[55],{"categories":428},[112],{"categories":430},[115],{"categories":432},[115],{"categories":434},[151],{"categories":436},[115],{"categories":438},[],{"categories":440},[115],{"categories":442},[],{"categories":444},[55],{"categories":446},[115],{"categories":448},[195],{"categories":450},[],{"categories":452},[115],{"categories":454},[192],{"categories":456},[457],"Models & Frontier Labs",{"categories":459},[],{"categories":461},[192],{"categories":463},[464],"Regulation & Governance of AI",{"categories":466},[118],{"categories":468},[],{"categories":470},[115],{"categories":472},[115],{"categories":474},[118],{"categories":476},[151],{"categories":478},[112],{"categories":480},[115],{"categories":482},[],{"categories":484},[55],{"categories":486},[118],{"categories":488},[115],{"categories":490},[121],{"categories":492},[493],"AI Policy & Regulation",{"categories":495},[],{"categories":497},[115],{"categories":499},[121],{"categories":501},[118],{"categories":503},[115],{"categories":505},[115],{"categories":507},[115],{"categories":509},[118],{"categories":511},[],{"categories":513},[195],{"categories":515},[516],"Evals & Reliability",{"categories":518},[115],{"categories":520},[],{"categories":522},[109],{"categories":524},[341],{"categories":526},[493],{"categories":528},[115],{"categories":530},[112],{"categories":532},[115],{"categories":534},[118],{"categories":536},[115],{"categories":538},[118],{"categories":540},[406],{"categories":542},[115],{"categories":544},[55],{"categories":546},[115],{"categories":548},[],{"categories":550},[],{"categories":552},[115],{"categories":554},[341],{"categories":556},[115],{"categories":558},[115],{"categories":560},[],{"categories":562},[192],{"categories":564},[],{"categories":566},[115],{"categories":568},[],{"categories":570},[118],{"categories":572},[115],{"categories":574},[192],{"categories":576},[],{"categories":578},[115],{"categories":580},[118],{"categories":582},[115],{"categories":584},[112],{"categories":586},[118],{"categories":588},[115],{"categories":590},[115],{"categories":592},[55],{"categories":594},[192],{"categories":596},[118],{"categories":598},[],{"categories":600},[55],{"categories":602},[118],{"categories":604},[],{"categories":606},[151],{"categories":608},[],{"categories":610},[115],{"categories":612},[115],{"categories":614},[115],{"categories":616},[112,220],{"categories":618},[],{"categories":620},[115],{"categories":622},[115],{"categories":624},[118],{"categories":626},[],{"categories":628},[],{"categories":630},[115],{"categories":632},[192],{"categories":634},[115],{"categories":636},[],{"categories":638},[115],{"categories":640},[255],{"categories":642},[],{"categories":644},[118],{"categories":646},[151],{"categories":648},[115],{"categories":650},[192],{"categories":652},[],{"categories":654},[151],{"categories":656},[115],{"categories":658},[140],{"categories":660},[115],{"categories":662},[118],{"categories":664},[151],{"categories":666},[457],{"categories":668},[115],{"categories":670},[220],{"categories":672},[],{"categories":674},[118],{"categories":676},[112],{"categories":678},[55],{"categories":680},[115],{"categories":682},[118],{"categories":684},[],{"categories":686},[115,255],{"categories":688},[115],{"categories":690},[115],{"categories":692},[115],{"categories":694},[118],{"categories":696},[115,55],{"categories":698},[195],{"categories":700},[115],{"categories":702},[115],{"categories":704},[55],{"categories":706},[118],{"categories":708},[493],{"categories":710},[220],{"categories":712},[115],{"categories":714},[118],{"categories":716},[115],{"categories":718},[115],{"categories":720},[118],{"categories":722},[],{"categories":724},[115],{"categories":726},[118],{"categories":728},[115],{"categories":730},[115,112],{"categories":732},[112],{"categories":734},[],{"categories":736},[192],{"categories":738},[192],{"categories":740},[115],{"categories":742},[],{"categories":744},[],{"categories":746},[151],{"categories":748},[],{"categories":750},[109],{"categories":752},[115],{"categories":754},[55],{"categories":756},[757],"Generative UI & Design-to-Code",{"categories":759},[115],{"categories":761},[115],{"categories":763},[192],{"categories":765},[115],{"categories":767},[768],"Algorithmic Accountability",{"categories":770},[118],{"categories":772},[55],{"categories":774},[151],{"categories":776},[192],{"categories":778},[],{"categories":780},[115],{"categories":782},[115],{"categories":784},[115],{"categories":786},[118],{"categories":788},[789],"MLOps & Infrastructure",{"categories":791},[115],{"categories":793},[115],{"categories":795},[115],{"categories":797},[115],{"categories":799},[115],{"categories":801},[151],{"categories":803},[109],{"categories":805},[115],{"categories":807},[118],{"categories":809},[255],{"categories":811},[112],{"categories":813},[115],{"categories":815},[192],{"categories":817},[115],{"categories":819},[118],{"categories":821},[],{"categories":823},[],{"categories":825},[140],{"categories":827},[192],{"categories":829},[151],{"categories":831},[195],{"categories":833},[],{"categories":835},[115],{"categories":837},[115],{"categories":839},[112],{"categories":841},[115],{"categories":843},[115],{"categories":845},[115],{"categories":847},[151],{"categories":849},[140],{"categories":851},[115],{"categories":853},[192],{"categories":855},[],{"categories":857},[118],{"categories":859},[55],{"categories":861},[],{"categories":863},[115],{"categories":865},[115],{"categories":867},[118],{"categories":869},[55],{"categories":871},[115],{"categories":873},[195],{"categories":875},[],{"categories":877},[115],{"categories":879},[],{"categories":881},[115],{"categories":883},[],{"categories":885},[121],{"categories":887},[112],{"categories":889},[118],{"categories":891},[118],{"categories":893},[],{"categories":895},[109],{"categories":897},[115],{"categories":899},[112],{"categories":901},[151],{"categories":903},[109],{"categories":905},[],{"categories":907},[115],{"categories":909},[],{"categories":911},[],{"categories":913},[151],{"categories":915},[151],{"categories":917},[],{"categories":919},[406],{"categories":921},[115],{"categories":923},[192],{"categories":925},[55],{"categories":927},[],{"categories":929},[362],{"categories":931},[112],{"categories":933},[],{"categories":935},[],{"categories":937},[109],{"categories":939},[195],{"categories":941},[],{"categories":943},[220],{"categories":945},[118],{"categories":947},[112],{"categories":949},[118],{"categories":951},[112],{"categories":953},[55],{"categories":955},[],{"categories":957},[140],{"categories":959},[121],{"categories":961},[115],{"categories":963},[192],{"categories":965},[55],{"categories":967},[112],{"categories":969},[115],{"categories":971},[118],{"categories":973},[112],{"categories":975},[115],{"categories":977},[115],{"categories":979},[115],{"categories":981},[],{"categories":983},[],{"categories":985},[55],{"categories":987},[195],{"categories":989},[121],{"categories":991},[115],{"categories":993},[118],{"categories":995},[115],{"categories":997},[],{"categories":999},[151],{"categories":1001},[121],{"categories":1003},[115],{"categories":1005},[516],{"categories":1007},[255],{"categories":1009},[],{"categories":1011},[118],{"categories":1013},[],{"categories":1015},[109],{"categories":1017},[],{"categories":1019},[115],{"categories":1021},[115],{"categories":1023},[192],{"categories":1025},[220],{"categories":1027},[55],{"categories":1029},[118],{"categories":1031},[],{"categories":1033},[55],{"categories":1035},[109],{"categories":1037},[],{"categories":1039},[112],{"categories":1041},[151],{"categories":1043},[115,255],{"categories":1045},[1046],"Design Systems for AI",{"categories":1048},[115],{"categories":1050},[151],{"categories":1052},[115],{"categories":1054},[115],{"categories":1056},[112],{"categories":1058},[115],{"categories":1060},[],{"categories":1062},[115],{"categories":1064},[115],{"categories":1066},[112],{"categories":1068},[115],{"categories":1070},[],{"categories":1072},[118],{"categories":1074},[55],{"categories":1076},[55],{"categories":1078},[192],{"categories":1080},[151],{"categories":1082},[195],{"categories":1084},[115],{"categories":1086},[109],{"categories":1088},[493],{"categories":1090},[115],{"categories":1092},[118],{"categories":1094},[115],{"categories":1096},[55],{"categories":1098},[55],{"categories":1100},[],{"categories":1102},[],{"categories":1104},[118],{"categories":1106},[121],{"categories":1108},[],{"categories":1110},[115],{"categories":1112},[],{"categories":1114},[192],{"categories":1116},[118],{"categories":1118},[55],{"categories":1120},[192],{"categories":1122},[115],{"categories":1124},[115],{"categories":1126},[192],{"categories":1128},[],{"categories":1130},[],{"categories":1132},[151],{"categories":1134},[118],{"categories":1136},[118],{"categories":1138},[115],{"categories":1140},[115],{"categories":1142},[115],{"categories":1144},[112],{"categories":1146},[115],{"categories":1148},[115],{"categories":1150},[],{"categories":1152},[55],{"categories":1154},[55],{"categories":1156},[115],{"categories":1158},[55],{"categories":1160},[112],{"categories":1162},[],{"categories":1164},[115],{"categories":1166},[115],{"categories":1168},[115],{"categories":1170},[115],{"categories":1172},[118],{"categories":1174},[109],{"categories":1176},[112],{"categories":1178},[151],{"categories":1180},[118],{"categories":1182},[140],{"categories":1184},[220],{"categories":1186},[115],{"categories":1188},[118],{"categories":1190},[],{"categories":1192},[192],{"categories":1194},[],{"categories":1196},[115],{"categories":1198},[115],{"categories":1200},[],{"categories":1202},[55],{"categories":1204},[112],{"categories":1206},[1207],"Visual & Generative Media",{"categories":1209},[118],{"categories":1211},[],{"categories":1213},[115],{"categories":1215},[115],{"categories":1217},[55],{"categories":1219},[255],{"categories":1221},[195],{"categories":1223},[493],{"categories":1225},[55],{"categories":1227},[220],{"categories":1229},[115],{"categories":1231},[192],{"categories":1233},[115],{"categories":1235},[115],{"categories":1237},[55],{"categories":1239},[118],{"categories":1241},[115],{"categories":1243},[],{"categories":1245},[],{"categories":1247},[118],{"categories":1249},[109],{"categories":1251},[118],{"categories":1253},[457],{"categories":1255},[115],{"categories":1257},[121],{"categories":1259},[112],{"categories":1261},[],{"categories":1263},[115],{"categories":1265},[121],{"categories":1267},[115],{"categories":1269},[115],{"categories":1271},[115],{"categories":1273},[115],{"categories":1275},[115],{"categories":1277},[220],{"categories":1279},[115],{"categories":1281},[406],{"categories":1283},[115],{"categories":1285},[115],{"categories":1287},[115],{"categories":1289},[115],{"categories":1291},[115],{"categories":1293},[192],{"categories":1295},[118],{"categories":1297},[],{"categories":1299},[118],{"categories":1301},[],{"categories":1303},[255],{"categories":1305},[55],{"categories":1307},[],{"categories":1309},[457],{"categories":1311},[118],{"categories":1313},[115],{"categories":1315},[192,115],{"categories":1317},[109],{"categories":1319},[],{"categories":1321},[115],{"categories":1323},[109],{"categories":1325},[1326],"Medical Imaging & Radiology",{"categories":1328},[192],{"categories":1330},[118],{"categories":1332},[55],{"categories":1334},[],{"categories":1336},[115],{"categories":1338},[115],{"categories":1340},[115],{"categories":1342},[],{"categories":1344},[],{"categories":1346},[115],{"categories":1348},[406],{"categories":1350},[115],{"categories":1352},[109],{"categories":1354},[115],{"categories":1356},[115],{"categories":1358},[],{"categories":1360},[118],{"categories":1362},[115],{"categories":1364},[121],{"categories":1366},[55],{"categories":1368},[115],{"categories":1370},[406],{"categories":1372},[115],{"categories":1374},[118],{"categories":1376},[115],{"categories":1378},[192],{"categories":1380},[118],{"categories":1382},[255],{"categories":1384},[192],{"categories":1386},[112],{"categories":1388},[118],{"categories":1390},[115],{"categories":1392},[115],{"categories":1394},[115],{"categories":1396},[115],{"categories":1398},[115],{"categories":1400},[118],{"categories":1402},[55],{"categories":1404},[115],{"categories":1406},[121],{"categories":1408},[],{"categories":1410},[151],{"categories":1412},[],{"categories":1414},[121],{"categories":1416},[118],{"categories":1418},[1046],{"categories":1420},[1046],{"categories":1422},[192],{"categories":1424},[115],{"categories":1426},[115],{"categories":1428},[118],{"categories":1430},[55],{"categories":1432},[192],{"categories":1434},[118],{"categories":1436},[151],{"categories":1438},[],{"categories":1440},[115],{"categories":1442},[],{"categories":1444},[115],{"categories":1446},[115],{"categories":1448},[115],{"categories":1450},[1451],"Contract Review & E-Discovery",{"categories":1453},[192],{"categories":1455},[115],{"categories":1457},[109],{"categories":1459},[151],{"categories":1461},[115],{"categories":1463},[115],{"categories":1465},[220],{"categories":1467},[55],{"categories":1469},[115],{"categories":1471},[115],{"categories":1473},[118],{"categories":1475},[118],{"categories":1477},[768],{"categories":1479},[118],{"categories":1481},[118],{"categories":1483},[115],{"categories":1485},[115],{"categories":1487},[118],{"categories":1489},[115],{"categories":1491},[406],{"categories":1493},[389],{"categories":1495},[115],{"categories":1497},[118],{"categories":1499},[115],{"categories":1501},[1502],"Law-Firm Practice & Adoption",{"categories":1504},[115],{"categories":1506},[118],{"categories":1508},[192],{"categories":1510},[115],{"categories":1512},[115],{"categories":1514},[],{"categories":1516},[],{"categories":1518},[55],{"categories":1520},[],{"categories":1522},[109],{"categories":1524},[255],{"categories":1526},[115],{"categories":1528},[],{"categories":1530},[109],{"categories":1532},[112],{"categories":1534},[115],{"categories":1536},[220],{"categories":1538},[],{"categories":1540},[112],{"categories":1542},[112],{"categories":1544},[],{"categories":1546},[115],{"categories":1548},[115],{"categories":1550},[55],{"categories":1552},[],{"categories":1554},[],{"categories":1556},[],{"categories":1558},[],{"categories":1560},[115],{"categories":1562},[118],{"categories":1564},[255],{"categories":1566},[115],{"categories":1568},[109],{"categories":1570},[55],{"categories":1572},[115],{"categories":1574},[115],{"categories":1576},[55],{"categories":1578},[121],{"categories":1580},[115],{"categories":1582},[789],{"categories":1584},[115],{"categories":1586},[220],{"categories":1588},[55],{"categories":1590},[112],{"categories":1592},[115],{"categories":1594},[115],{"categories":1596},[192],{"categories":1598},[115],{"categories":1600},[115],{"categories":1602},[115],{"categories":1604},[118],{"categories":1606},[115,109],{"categories":1608},[406],{"categories":1610},[115],{"categories":1612},[115],{"categories":1614},[55],{"categories":1616},[55],{"categories":1618},[192],{"categories":1620},[118],{"categories":1622},[55],{"categories":1624},[115],{"categories":1626},[115],{"categories":1628},[],{"categories":1630},[],{"categories":1632},[115],{"categories":1634},[],{"categories":1636},[115],{"categories":1638},[55],{"categories":1640},[195],{"categories":1642},[151],{"categories":1644},[192],{"categories":1646},[115],{"categories":1648},[55],{"categories":1650},[],{"categories":1652},[118],{"categories":1654},[115],{"categories":1656},[115],{"categories":1658},[115],{"categories":1660},[115],{"categories":1662},[],{"categories":1664},[118],{"categories":1666},[115],{"categories":1668},[115],{"categories":1670},[],{"categories":1672},[118],{"categories":1674},[115],{"categories":1676},[115],{"categories":1678},[112],{"categories":1680},[115],{"categories":1682},[],{"categories":1684},[109],{"categories":1686},[115],{"categories":1688},[192],{"categories":1690},[55],{"categories":1692},[115],{"categories":1694},[109],{"categories":1696},[115],{"categories":1698},[55],{"categories":1700},[220],{"categories":1702},[118],{"categories":1704},[118],{"categories":1706},[115,192],{"categories":1708},[115],{"categories":1710},[151],{"categories":1712},[115],{"categories":1714},[151],{"categories":1716},[118],{"categories":1718},[192],{"categories":1720},[],{"categories":1722},[55],{"categories":1724},[255],{"categories":1726},[192],{"categories":1728},[55],{"categories":1730},[115],{"categories":1732},[121],{"categories":1734},[115],{"categories":1736},[118],{"categories":1738},[],{"categories":1740},[],{"categories":1742},[115],{"categories":1744},[],{"categories":1746},[],{"categories":1748},[121],{"categories":1750},[55],{"categories":1752},[115],{"categories":1754},[118],{"categories":1756},[118],{"categories":1758},[112],{"categories":1760},[118],{"categories":1762},[255],{"categories":1764},[115],{"categories":1766},[115],{"categories":1768},[140],{"categories":1770},[115],{"categories":1772},[115],{"categories":1774},[118],{"categories":1776},[115],{"categories":1778},[115],{"categories":1780},[362],{"categories":1782},[768],{"categories":1784},[],{"categories":1786},[192],{"categories":1788},[1502],{"categories":1790},[55],{"categories":1792},[],{"categories":1794},[],{"categories":1796},[118],{"categories":1798},[],{"categories":1800},[],{"categories":1802},[220],{"categories":1804},[115],{"categories":1806},[220],{"categories":1808},[118],{"categories":1810},[115],{"categories":1812},[55],{"categories":1814},[],{"categories":1816},[115],{"categories":1818},[115],{"categories":1820},[55],{"categories":1822},[1451],{"categories":1824},[192],{"categories":1826},[192],{"categories":1828},[115],{"categories":1830},[118],{"categories":1832},[109],{"categories":1834},[115],{"categories":1836},[115],{"categories":1838},[115],{"categories":1840},[192],{"categories":1842},[192],{"categories":1844},[118],{"categories":1846},[118],{"categories":1848},[115],{"categories":1850},[],{"categories":1852},[115],{"categories":1854},[],{"categories":1856},[1857],"Interaction & Product Design",{"categories":1859},[115],{"categories":1861},[118],{"categories":1863},[282],{"categories":1865},[151],{"categories":1867},[55],{"categories":1869},[115],{"categories":1871},[115],{"categories":1873},[55],{"categories":1875},[109],{"categories":1877},[118],{"categories":1879},[115],{"categories":1881},[],{"categories":1883},[118],{"categories":1885},[118],{"categories":1887},[],{"categories":1889},[55],{"categories":1891},[115],{"categories":1893},[109],{"categories":1895},[1857],{"categories":1897},[115],{"categories":1899},[109],{"categories":1901},[109],{"categories":1903},[],{"categories":1905},[55],{"categories":1907},[],{"categories":1909},[118],{"categories":1911},[151],{"categories":1913},[115],{"categories":1915},[118],{"categories":1917},[115],{"categories":1919},[118],{"categories":1921},[115],{"categories":1923},[115],{"categories":1925},[151],{"categories":1927},[195],{"categories":1929},[115],{"categories":1931},[121],{"categories":1933},[55],{"categories":1935},[1936],"Coding Agents & Dev Productivity",{"categories":1938},[151],{"categories":1940},[192],{"categories":1942},[],{"categories":1944},[115],{"categories":1946},[768],{"categories":1948},[],{"categories":1950},[115],{"categories":1952},[115],{"categories":1954},[151],{"categories":1956},[],{"categories":1958},[],{"categories":1960},[115],{"categories":1962},[],{"categories":1964},[118],{"categories":1966},[115],{"categories":1968},[],{"categories":1970},[55],{"categories":1972},[55],{"categories":1974},[115],{"categories":1976},[195],{"categories":1978},[],{"categories":1980},[115],{"categories":1982},[115],{"categories":1984},[115],{"categories":1986},[195],{"categories":1988},[55],{"categories":1990},[],{"categories":1992},[],{"categories":1994},[115],{"categories":1996},[118],{"categories":1998},[118],{"categories":2000},[341],{"categories":2002},[55],{"categories":2004},[55],{"categories":2006},[118],{"categories":2008},[151],{"categories":2010},[151],{"categories":2012},[118],{"categories":2014},[118],{"categories":2016},[115],{"categories":2018},[109],{"categories":2020},[1857],{"categories":2022},[115,255],{"categories":2024},[],{"categories":2026},[192],{"categories":2028},[55],{"categories":2030},[109],{"categories":2032},[115],{"categories":2034},[118],{"categories":2036},[2037],"The Designer's Role & Craft",{"categories":2039},[192],{"categories":2041},[],{"categories":2043},[118],{"categories":2045},[115],{"categories":2047},[118],{"categories":2049},[118],{"categories":2051},[115],{"categories":2053},[220],{"categories":2055},[115],{"categories":2057},[55],{"categories":2059},[192],{"categories":2061},[115],{"categories":2063},[],{"categories":2065},[118],{"categories":2067},[192],{"categories":2069},[115],{"categories":2071},[115],{"categories":2073},[2074],"AI UX Patterns",{"categories":2076},[118],{"categories":2078},[118],{"categories":2080},[118],{"categories":2082},[118],{"categories":2084},[220],{"categories":2086},[195],{"categories":2088},[115],{"categories":2090},[118],{"categories":2092},[115],{"categories":2094},[1046],{"categories":2096},[],{"categories":2098},[220],{"categories":2100},[151],{"categories":2102},[55],{"categories":2104},[115],{"categories":2106},[118],{"categories":2108},[],{"categories":2110},[],{"categories":2112},[115],{"categories":2114},[118],{"categories":2116},[115],{"categories":2118},[118],{"categories":2120},[341],{"categories":2122},[192],{"categories":2124},[151],{"categories":2126},[55],{"categories":2128},[115],{"categories":2130},[118],{"categories":2132},[118],{"categories":2134},[],{"categories":2136},[115],{"categories":2138},[],{"categories":2140},[],{"categories":2142},[115],{"categories":2144},[115],{"categories":2146},[118],{"categories":2148},[55],{"categories":2150},[],{"categories":2152},[],{"categories":2154},[195],{"categories":2156},[140],{"categories":2158},[115],{"categories":2160},[195],{"categories":2162},[151],{"categories":2164},[115],{"categories":2166},[115],{"categories":2168},[118],{"categories":2170},[118],{"categories":2172},[115],{"categories":2174},[115],{"categories":2176},[118],{"categories":2178},[],{"categories":2180},[],{"categories":2182},[115],{"categories":2184},[255],{"categories":2186},[115],{"categories":2188},[],{"categories":2190},[],{"categories":2192},[192],{"categories":2194},[789],{"categories":2196},[118],{"categories":2198},[109],{"categories":2200},[2037],{"categories":2202},[],{"categories":2204},[],{"categories":2206},[115],{"categories":2208},[],{"categories":2210},[],{"categories":2212},[55],{"categories":2214},[151],{"categories":2216},[220],{"categories":2218},[112],{"categories":2220},[115],{"categories":2222},[115],{"categories":2224},[112],{"categories":2226},[],{"categories":2228},[192],{"categories":2230},[115],{"categories":2232},[115],{"categories":2234},[118],{"categories":2236},[112],{"categories":2238},[115],{"categories":2240},[115],{"categories":2242},[109],{"categories":2244},[115],{"categories":2246},[],{"categories":2248},[109],{"categories":2250},[115],{"categories":2252},[220],{"categories":2254},[118],{"categories":2256},[151],{"categories":2258},[115],{"categories":2260},[112],{"categories":2262},[115],{"categories":2264},[115],{"categories":2266},[115],{"categories":2268},[118],{"categories":2270},[],{"categories":2272},[115],{"categories":2274},[55],{"categories":2276},[109],{"categories":2278},[115],{"categories":2280},[115],{"categories":2282},[],{"categories":2284},[115],{"categories":2286},[406],{"categories":2288},[151],{"categories":2290},[115],{"categories":2292},[115],{"categories":2294},[],{"categories":2296},[112],{"categories":2298},[112],{"categories":2300},[115],{"categories":2302},[115],{"categories":2304},[121],{"categories":2306},[115],{"categories":2308},[115],{"categories":2310},[55],{"categories":2312},[55],{"categories":2314},[115],{"categories":2316},[],{"categories":2318},[55],{"categories":2320},[115],{"categories":2322},[55],{"categories":2324},[493],{"categories":2326},[],{"categories":2328},[],{"categories":2330},[115],{"categories":2332},[151],{"categories":2334},[],{"categories":2336},[255],{"categories":2338},[115],{"categories":2340},[115],{"categories":2342},[192],{"categories":2344},[757],{"categories":2346},[],{"categories":2348},[115],{"categories":2350},[115],{"categories":2352},[115],{"categories":2354},[55],{"categories":2356},[115],{"categories":2358},[115],{"categories":2360},[115,255],{"categories":2362},[115],{"categories":2364},[115],{"categories":2366},[192],{"categories":2368},[118],{"categories":2370},[],{"categories":2372},[118],{"categories":2374},[118],{"categories":2376},[115],{"categories":2378},[115],{"categories":2380},[115],{"categories":2382},[195],{"categories":2384},[115],{"categories":2386},[2074],{"categories":2388},[109],{"categories":2390},[195],{"categories":2392},[109],{"categories":2394},[55],{"categories":2396},[192],{"categories":2398},[118],{"categories":2400},[115],{"categories":2402},[],{"categories":2404},[115],{"categories":2406},[115],{"categories":2408},[151],{"categories":2410},[115],{"categories":2412},[118],{"categories":2414},[115],{"categories":2416},[115],{"categories":2418},[112],{"categories":2420},[],{"categories":2422},[255],{"categories":2424},[115],{"categories":2426},[341],{"categories":2428},[192],{"categories":2430},[192],{"categories":2432},[55],{"categories":2434},[118],{"categories":2436},[115],{"categories":2438},[112],{"categories":2440},[151],{"categories":2442},[115],{"categories":2444},[192],{"categories":2446},[118],{"categories":2448},[115],{"categories":2450},[115],{"categories":2452},[457],{"categories":2454},[],{"categories":2456},[115],{"categories":2458},[115],{"categories":2460},[115],{"categories":2462},[],{"categories":2464},[],{"categories":2466},[115],{"categories":2468},[115],{"categories":2470},[115],{"categories":2472},[115],{"categories":2474},[55],{"categories":2476},[115],{"categories":2478},[115],{"categories":2480},[118],{"categories":2482},[115],{"categories":2484},[115],{"categories":2486},[115],{"categories":2488},[115],{"categories":2490},[115],{"categories":2492},[],{"categories":2494},[55],{"categories":2496},[195],{"categories":2498},[115],{"categories":2500},[118],{"categories":2502},[115],{"categories":2504},[],{"categories":2506},[],{"categories":2508},[115],{"categories":2510},[115],{"categories":2512},[115],{"categories":2514},[151],{"categories":2516},[],{"categories":2518},[115],{"categories":2520},[192],{"categories":2522},[115],{"categories":2524},[255],{"categories":2526},[1502],{"categories":2528},[151],{"categories":2530},[55],{"categories":2532},[55],{"categories":2534},[55],{"categories":2536},[151],{"categories":2538},[151],{"categories":2540},[255],{"categories":2542},[],{"categories":2544},[151],{"categories":2546},[115],{"categories":2548},[109],{"categories":2550},[55],{"categories":2552},[115],{"categories":2554},[151],{"categories":2556},[],{"categories":2558},[115],{"categories":2560},[55],{"categories":2562},[195],{"categories":2564},[115],{"categories":2566},[151],{"categories":2568},[115],{"categories":2570},[55],{"categories":2572},[118],{"categories":2574},[151],{"categories":2576},[118],{"categories":2578},[255],{"categories":2580},[118],{"categories":2582},[115],{"categories":2584},[115],{"categories":2586},[55],{"categories":2588},[115],{"categories":2590},[],{"categories":2592},[112],{"categories":2594},[55],{"categories":2596},[],{"categories":2598},[],{"categories":2600},[115],{"categories":2602},[118],{"categories":2604},[115],{"categories":2606},[2607],"Frameworks & Tooling",{"categories":2609},[115],{"categories":2611},[115],{"categories":2613},[55],{"categories":2615},[115],{"categories":2617},[115],{"categories":2619},[],{"categories":2621},[195],{"categories":2623},[195],{"categories":2625},[109],{"categories":2627},[118],{"categories":2629},[192],{"categories":2631},[],{"categories":2633},[1502],{"categories":2635},[115],{"categories":2637},[55],{"categories":2639},[115],{"categories":2641},[255],{"categories":2643},[255],{"categories":2645},[],{"categories":2647},[118],{"categories":2649},[151],{"categories":2651},[151],{"categories":2653},[115],{"categories":2655},[118],{"categories":2657},[],{"categories":2659},[192],{"categories":2661},[115],{"categories":2663},[115],{"categories":2665},[],{"categories":2667},[115],{"categories":2669},[115],{"categories":2671},[],{"categories":2673},[55],{"categories":2675},[115],{"categories":2677},[55],{"categories":2679},[255],{"categories":2681},[115],{"categories":2683},[55],{"categories":2685},[112],{"categories":2687},[115],{"categories":2689},[1502],{"categories":2691},[],{"categories":2693},[118],{"categories":2695},[109],{"categories":2697},[109],{"categories":2699},[],{"categories":2701},[118],{"categories":2703},[115],{"categories":2705},[2706],"AI Design Tooling",{"categories":2708},[192],{"categories":2710},[115],{"categories":2712},[115],{"categories":2714},[55],{"categories":2716},[192],{"categories":2718},[115],{"categories":2720},[55],{"categories":2722},[151],{"categories":2724},[121],{"categories":2726},[55],{"categories":2728},[118],{"categories":2730},[],{"categories":2732},[115],{"categories":2734},[115],{"categories":2736},[118],{"categories":2738},[115],{"categories":2740},[115],{"categories":2742},[],{"categories":2744},[118],{"categories":2746},[2607],{"categories":2748},[115],{"categories":2750},[118],{"categories":2752},[118],{"categories":2754},[55],{"categories":2756},[55],{"categories":2758},[],{"categories":2760},[55],{"categories":2762},[115],{"categories":2764},[115],{"categories":2766},[118],{"categories":2768},[112],{"categories":2770},[115],{"categories":2772},[],{"categories":2774},[115],{"categories":2776},[115],{"categories":2778},[1857],{"categories":2780},[],{"categories":2782},[115],{"categories":2784},[115],{"categories":2786},[115],{"categories":2788},[],{"categories":2790},[115],{"categories":2792},[115],{"categories":2794},[115],{"categories":2796},[220],{"categories":2798},[151],{"categories":2800},[115],{"categories":2802},[115],{"categories":2804},[1502],{"categories":2806},[109],{"categories":2808},[115],{"categories":2810},[115],{"categories":2812},[195],{"categories":2814},[115],{"categories":2816},[151],{"categories":2818},[118],{"categories":2820},[],{"categories":2822},[115],{"categories":2824},[115],{"categories":2826},[192],{"categories":2828},[115],{"categories":2830},[220],{"categories":2832},[115],{"categories":2834},[118],{"categories":2836},[],{"categories":2838},[],{"categories":2840},[],{"categories":2842},[109],{"categories":2844},[151],{"categories":2846},[118],{"categories":2848},[115],{"categories":2850},[115],{"categories":2852},[115],{"categories":2854},[362],{"categories":2856},[192],{"categories":2858},[118],{"categories":2860},[115],{"categories":2862},[],{"categories":2864},[118],{"categories":2866},[118],{"categories":2868},[],{"categories":2870},[115],{"categories":2872},[118],{"categories":2874},[115],{"categories":2876},[],{"categories":2878},[115],{"categories":2880},[115],{"categories":2882},[151],{"categories":2884},[192],{"categories":2886},[118],{"categories":2888},[192],{"categories":2890},[118],{"categories":2892},[115],{"categories":2894},[112],{"categories":2896},[],{"categories":2898},[],{"categories":2900},[115],{"categories":2902},[115],{"categories":2904},[109],{"categories":2906},[118],{"categories":2908},[151],{"categories":2910},[],{"categories":2912},[192],{"categories":2914},[],{"categories":2916},[55],{"categories":2918},[55],{"categories":2920},[192],{"categories":2922},[55],{"categories":2924},[115],{"categories":2926},[],{"categories":2928},[115],{"categories":2930},[115],{"categories":2932},[],{"categories":2934},[220],{"categories":2936},[115],{"categories":2938},[255],{"categories":2940},[55],{"categories":2942},[],{"categories":2944},[118],{"categories":2946},[115],{"categories":2948},[109],{"categories":2950},[457],{"categories":2952},[118],{"categories":2954},[118],{"categories":2956},[115],{"categories":2958},[115],{"categories":2960},[],{"categories":2962},[115],{"categories":2964},[109],{"categories":2966},[115],{"categories":2968},[112],{"categories":2970},[55],{"categories":2972},[192],{"categories":2974},[],{"categories":2976},[],{"categories":2978},[],{"categories":2980},[118],{"categories":2982},[55],{"categories":2984},[192],{"categories":2986},[151],{"categories":2988},[115],{"categories":2990},[151],{"categories":2992},[118],{"categories":2994},[192],{"categories":2996},[115],{"categories":2998},[],{"categories":3000},[115],{"categories":3002},[140],{"categories":3004},[118],{"categories":3006},[192],{"categories":3008},[151],{"categories":3010},[112],{"categories":3012},[55],{"categories":3014},[115],{"categories":3016},[151],{"categories":3018},[220],{"categories":3020},[],{"categories":3022},[],{"categories":3024},[195],{"categories":3026},[406],{"categories":3028},[115],{"categories":3030},[118],{"categories":3032},[115,55],{"categories":3034},[151],{"categories":3036},[115],{"categories":3038},[115],{"categories":3040},[115],{"categories":3042},[115],{"categories":3044},[118],{"categories":3046},[115],{"categories":3048},[118],{"categories":3050},[115],{"categories":3052},[115],{"categories":3054},[],{"categories":3056},[115],{"categories":3058},[1046],{"categories":3060},[55],{"categories":3062},[192],{"categories":3064},[115],{"categories":3066},[115],{"categories":3068},[115],{"categories":3070},[195],{"categories":3072},[118],{"categories":3074},[220],{"categories":3076},[255],{"categories":3078},[],{"categories":3080},[115],{"categories":3082},[112],{"categories":3084},[118],{"categories":3086},[109],{"categories":3088},[118],{"categories":3090},[115],{"categories":3092},[118],{"categories":3094},[121],{"categories":3096},[55],{"categories":3098},[115],{"categories":3100},[115],{"categories":3102},[],{"categories":3104},[],{"categories":3106},[],{"categories":3108},[255],{"categories":3110},[115],{"categories":3112},[151],{"categories":3114},[115],{"categories":3116},[115],{"categories":3118},[115],{"categories":3120},[115],{"categories":3122},[],{"categories":3124},[195],{"categories":3126},[112],{"categories":3128},[118],{"categories":3130},[115],{"categories":3132},[],{"categories":3134},[115],{"categories":3136},[118],{"categories":3138},[115],{"categories":3140},[255],{"categories":3142},[],{"categories":3144},[192],{"categories":3146},[192],{"categories":3148},[],{"categories":3150},[55],{"categories":3152},[115],{"categories":3154},[192],{"categories":3156},[115],{"categories":3158},[112],{"categories":3160},[118],{"categories":3162},[115],{"categories":3164},[],{"categories":3166},[151],{"categories":3168},[115],{"categories":3170},[115],{"categories":3172},[115],{"categories":3174},[192],{"categories":3176},[118],{"categories":3178},[151],{"categories":3180},[],{"categories":3182},[118],{"categories":3184},[112],{"categories":3186},[118],{"categories":3188},[192],{"categories":3190},[115],{"categories":3192},[115],{"categories":3194},[115],{"categories":3196},[406],{"categories":3198},[115],{"categories":3200},[],{"categories":3202},[115],{"categories":3204},[115],{"categories":3206},[255],{"categories":3208},[151],{"categories":3210},[195],{"categories":3212},[493],{"categories":3214},[195],{"categories":3216},[],{"categories":3218},[],{"categories":3220},[],{"categories":3222},[118],{"categories":3224},[118],{"categories":3226},[55],{"categories":3228},[115],{"categories":3230},[389],{"categories":3232},[55],{"categories":3234},[115],{"categories":3236},[115],{"categories":3238},[115],{"categories":3240},[115],{"categories":3242},[118],{"categories":3244},[],{"categories":3246},[],{"categories":3248},[115],{"categories":3250},[],{"categories":3252},[115],{"categories":3254},[118],{"categories":3256},[192],{"categories":3258},[115],{"categories":3260},[115],{"categories":3262},[],{"categories":3264},[118],{"categories":3266},[121],{"categories":3268},[115],{"categories":3270},[192],{"categories":3272},[115],{"categories":3274},[118],{"categories":3276},[112],{"categories":3278},[115],{"categories":3280},[220],{"categories":3282},[118],{"categories":3284},[115],{"categories":3286},[757],{"categories":3288},[115],{"categories":3290},[118],{"categories":3292},[115],{"categories":3294},[55],{"categories":3296},[115],{"categories":3298},[457],{"categories":3300},[192],{"categories":3302},[],{"categories":3304},[151],{"categories":3306},[406],{"categories":3308},[118],{"categories":3310},[115],{"categories":3312},[],{"categories":3314},[151],{"categories":3316},[341],{"categories":3318},[118],{"categories":3320},[118],{"categories":3322},[115],{"categories":3324},[115],{"categories":3326},[118],{"categories":3328},[],{"categories":3330},[115],{"categories":3332},[112],{"categories":3334},[118],{"categories":3336},[],{"categories":3338},[55],{"categories":3340},[115],{"categories":3342},[115],{"categories":3344},[109],{"categories":3346},[151],{"categories":3348},[255],{"categories":3350},[140],{"categories":3352},[118],{"categories":3354},[118],{"categories":3356},[115],{"categories":3358},[118],{"categories":3360},[115],{"categories":3362},[109],{"categories":3364},[],{"categories":3366},[115],{"categories":3368},[115],{"categories":3370},[],{"categories":3372},[],{"categories":3374},[192],{"categories":3376},[115,112],{"categories":3378},[118],{"categories":3380},[115],{"categories":3382},[],{"categories":3384},[109],{"categories":3386},[195],{"categories":3388},[112],{"categories":3390},[115],{"categories":3392},[55],{"categories":3394},[115],{"categories":3396},[118],{"categories":3398},[115],{"categories":3400},[115],{"categories":3402},[115],{"categories":3404},[151],{"categories":3406},[1046],{"categories":3408},[118],{"categories":3410},[115],{"categories":3412},[],{"categories":3414},[],{"categories":3416},[118],{"categories":3418},[115],{"categories":3420},[255],{"categories":3422},[],{"categories":3424},[115],{"categories":3426},[118],{"categories":3428},[140],{"categories":3430},[118],{"categories":3432},[406],{"categories":3434},[],{"categories":3436},[362],{"categories":3438},[118],{"categories":3440},[115],{"categories":3442},[220],{"categories":3444},[115],{"categories":3446},[195],{"categories":3448},[118],{"categories":3450},[115],{"categories":3452},[406],{"categories":3454},[115],{"categories":3456},[255],{"categories":3458},[],{"categories":3460},[115],{"categories":3462},[220],{"categories":3464},[192],{"categories":3466},[115],{"categories":3468},[115],{"categories":3470},[],{"categories":3472},[220],{"categories":3474},[151],{"categories":3476},[115],{"categories":3478},[115],{"categories":3480},[493],{"categories":3482},[109],{"categories":3484},[115],{"categories":3486},[],{"categories":3488},[],{"categories":3490},[192],{"categories":3492},[115],{"categories":3494},[195],{"categories":3496},[220],{"categories":3498},[118],{"categories":3500},[220],{"categories":3502},[151],{"categories":3504},[],{"categories":3506},[115],{"categories":3508},[115],{"categories":3510},[],{"categories":3512},[115],{"categories":3514},[516],{"categories":3516},[115],{"categories":3518},[115],{"categories":3520},[118],{"categories":3522},[55],{"categories":3524},[406],{"categories":3526},[115],{"categories":3528},[115],{"categories":3530},[115],{"categories":3532},[],{"categories":3534},[115,55],{"categories":3536},[151],{"categories":3538},[118],{"categories":3540},[55],{"categories":3542},[118],{"categories":3544},[789],{"categories":3546},[55],{"categories":3548},[115],{"categories":3550},[109],{"categories":3552},[],{"categories":3554},[],{"categories":3556},[118],{"categories":3558},[115],{"categories":3560},[55],{"categories":3562},[109],{"categories":3564},[55],{"categories":3566},[55],{"categories":3568},[115],{"categories":3570},[220],{"categories":3572},[115],{"categories":3574},[55],{"categories":3576},[],{"categories":3578},[115],{"categories":3580},[192,115],{"categories":3582},[255],{"categories":3584},[109],{"categories":3586},[],{"categories":3588},[115],{"categories":3590},[115],{"categories":3592},[112],{"categories":3594},[112],{"categories":3596},[115],{"categories":3598},[115],{"categories":3600},[341],{"categories":3602},[115],{"categories":3604},[55],{"categories":3606},[195],{"categories":3608},[118],{"categories":3610},[55],{"categories":3612},[115],{"categories":3614},[115],{"categories":3616},[151],{"categories":3618},[220],{"categories":3620},[192],{"categories":3622},[115],{"categories":3624},[115],{"categories":3626},[115],{"categories":3628},[115],{"categories":3630},[109],{"categories":3632},[115],{"categories":3634},[118],{"categories":3636},[118],{"categories":3638},[55],{"categories":3640},[151],{"categories":3642},[55],{"categories":3644},[55],{"categories":3646},[],{"categories":3648},[],{"categories":3650},[195],{"categories":3652},[115],{"categories":3654},[55],{"categories":3656},[115],{"categories":3658},[192],{"categories":3660},[406],{"categories":3662},[362],{"categories":3664},[341],{"categories":3666},[115],{"categories":3668},[115],{"categories":3670},[115],{"categories":3672},[195],{"categories":3674},[115],{"categories":3676},[115],{"categories":3678},[115],{"categories":3680},[115],{"categories":3682},[115],{"categories":3684},[118],{"categories":3686},[109],{"categories":3688},[118],{"categories":3690},[115,112],{"categories":3692},[],{"categories":3694},[192],{"categories":3696},[],{"categories":3698},[121],{"categories":3700},[115],{"categories":3702},[151],{"categories":3704},[109],{"categories":3706},[109],{"categories":3708},[118],{"categories":3710},[118],{"categories":3712},[118],{"categories":3714},[115],{"categories":3716},[115],{"categories":3718},[112],{"categories":3720},[55],{"categories":3722},[220],{"categories":3724},[115],{"categories":3726},[],{"categories":3728},[151],{"categories":3730},[115],{"categories":3732},[115],{"categories":3734},[115],{"categories":3736},[115],{"categories":3738},[115],{"categories":3740},[55],{"categories":3742},[151],{"categories":3744},[55],{"categories":3746},[55],{"categories":3748},[115],{"categories":3750},[115],{"categories":3752},[115],{"categories":3754},[362],{"categories":3756},[115],{"categories":3758},[118],{"categories":3760},[151],{"categories":3762},[115],{"categories":3764},[115],{"categories":3766},[115],{"categories":3768},[118],{"categories":3770},[115],{"categories":3772},[115],{"categories":3774},[115],{"categories":3776},[2607],{"categories":3778},[3779],"Clinical AI",{"categories":3781},[192],{"categories":3783},[115],{"categories":3785},[115],{"categories":3787},[115],{"categories":3789},[255],{"categories":3791},[2074],{"categories":3793},[115],{"categories":3795},[121],{"categories":3797},[115],{"categories":3799},[118],{"categories":3801},[115],{"categories":3803},[115],{"categories":3805},[151],{"categories":3807},[115],{"categories":3809},[118],{"categories":3811},[55],{"categories":3813},[220],{"categories":3815},[115],{"categories":3817},[115],{"categories":3819},[112],{"categories":3821},[115],{"categories":3823},[115],{"categories":3825},[457],{"categories":3827},[115],{"categories":3829},[],{"categories":3831},[115],{"categories":3833},[55],{"categories":3835},[109],{"categories":3837},[115],{"categories":3839},[],{"categories":3841},[],{"categories":3843},[115],{"categories":3845},[],{"categories":3847},[112],{"categories":3849},[115],{"categories":3851},[118],{"categories":3853},[151],{"categories":3855},[151],{"categories":3857},[151],{"categories":3859},[151],{"categories":3861},[],{"categories":3863},[109],{"categories":3865},[118],{"categories":3867},[151],{"categories":3869},[115],{"categories":3871},[516],{"categories":3873},[121],{"categories":3875},[115],{"categories":3877},[109],{"categories":3879},[118],{"categories":3881},[115],{"categories":3883},[115],{"categories":3885},[115,118],{"categories":3887},[118],{"categories":3889},[255],{"categories":3891},[151],{"categories":3893},[118],{"categories":3895},[151],{"categories":3897},[118],{"categories":3899},[115],{"categories":3901},[],{"categories":3903},[151],{"categories":3905},[220],{"categories":3907},[109],{"categories":3909},[115],{"categories":3911},[115],{"categories":3913},[],{"categories":3915},[55],{"categories":3917},[],{"categories":3919},[109],{"categories":3921},[118],{"categories":3923},[151],{"categories":3925},[115],{"categories":3927},[151],{"categories":3929},[109],{"categories":3931},[151],{"categories":3933},[151],{"categories":3935},[],{"categories":3937},[112],{"categories":3939},[118],{"categories":3941},[151],{"categories":3943},[151],{"categories":3945},[151],{"categories":3947},[151],{"categories":3949},[151],{"categories":3951},[151],{"categories":3953},[151],{"categories":3955},[151],{"categories":3957},[151],{"categories":3959},[151],{"categories":3961},[195],{"categories":3963},[109],{"categories":3965},[115],{"categories":3967},[115],{"categories":3969},[118],{"categories":3971},[118],{"categories":3973},[],{"categories":3975},[115,109],{"categories":3977},[],{"categories":3979},[118],{"categories":3981},[151],{"categories":3983},[118],{"categories":3985},[789],{"categories":3987},[115],{"categories":3989},[115],{"categories":3991},[115],{"categories":3993},[115],{"categories":3995},[115],{"categories":3997},[341],{"categories":3999},[115],{"categories":4001},[118],{"categories":4003},[112],{"categories":4005},[118],{"categories":4007},[118],{"categories":4009},[],{"categories":4011},[118],{"categories":4013},[192],{"categories":4015},[151],{"categories":4017},[115],{"categories":4019},[],{"categories":4021},[121],{"categories":4023},[],{"categories":4025},[55],{"categories":4027},[118],{"categories":4029},[192],{"categories":4031},[115],{"categories":4033},[],{"categories":4035},[115],{"categories":4037},[],{"categories":4039},[220],{"categories":4041},[115],{"categories":4043},[],{"categories":4045},[],{"categories":4047},[151],{"categories":4049},[109],{"categories":4051},[115],{"categories":4053},[115],{"categories":4055},[112],{"categories":4057},[115],{"categories":4059},[115],{"categories":4061},[115],{"categories":4063},[112],{"categories":4065},[192],{"categories":4067},[],{"categories":4069},[115],{"categories":4071},[151],{"categories":4073},[],{"categories":4075},[115],{"categories":4077},[115],{"categories":4079},[192],{"categories":4081},[115],{"categories":4083},[220],{"categories":4085},[115],{"categories":4087},[255],{"categories":4089},[],{"categories":4091},[118],{"categories":4093},[220],{"categories":4095},[55],{"categories":4097},[],{"categories":4099},[115],{"categories":4101},[],{"categories":4103},[118],{"categories":4105},[192],{"categories":4107},[55],{"categories":4109},[],{"categories":4111},[2607],{"categories":4113},[112],{"categories":4115},[109],{"categories":4117},[115],{"categories":4119},[195],{"categories":4121},[118],{"categories":4123},[192],{"categories":4125},[55],{"categories":4127},[],{"categories":4129},[],{"categories":4131},[115],{"categories":4133},[109],{"categories":4135},[115],{"categories":4137},[220],{"categories":4139},[],{"categories":4141},[118],{"categories":4143},[118],{"categories":4145},[118],{"categories":4147},[115],{"categories":4149},[151],{"categories":4151},[55],{"categories":4153},[115],{"categories":4155},[118],{"categories":4157},[121],{"categories":4159},[115],{"categories":4161},[115],{"categories":4163},[118],{"categories":4165},[115],{"categories":4167},[121],{"categories":4169},[220],{"categories":4171},[151],{"categories":4173},[],{"categories":4175},[220],{"categories":4177},[],{"categories":4179},[55],{"categories":4181},[118],{"categories":4183},[],{"categories":4185},[115],{"categories":4187},[115],{"categories":4189},[115],{"categories":4191},[115],{"categories":4193},[118],{"categories":4195},[112],{"categories":4197},[109],{"categories":4199},[115],{"categories":4201},[192],{"categories":4203},[55],{"categories":4205},[55],{"categories":4207},[115],{"categories":4209},[195],{"categories":4211},[118],{"categories":4213},[115],{"categories":4215},[115],{"categories":4217},[118],{"categories":4219},[115],{"categories":4221},[112],{"categories":4223},[192],{"categories":4225},[55],{"categories":4227},[118],{"categories":4229},[115],{"categories":4231},[121],{"categories":4233},[115],{"categories":4235},[118],{"categories":4237},[115],{"categories":4239},[151],{"categories":4241},[],{"categories":4243},[109],{"categories":4245},[115],{"categories":4247},[115],{"categories":4249},[115],{"categories":4251},[55],{"categories":4253},[55],{"categories":4255},[115],{"categories":4257},[55],{"categories":4259},[115],{"categories":4261},[118],{"categories":4263},[115],{"categories":4265},[115],{"categories":4267},[115],{"categories":4269},[115],{"categories":4271},[],{"categories":4273},[115],{"categories":4275},[192],{"categories":4277},[112],{"categories":4279},[151],{"categories":4281},[118],{"categories":4283},[115],{"categories":4285},[115],{"categories":4287},[192],{"categories":4289},[118],{"categories":4291},[115],{"categories":4293},[220],{"categories":4295},[115],{"categories":4297},[195],{"categories":4299},[115],{"categories":4301},[115],{"categories":4303},[151],{"categories":4305},[115],{"categories":4307},[115],{"categories":4309},[115],{"categories":4311},[118],{"categories":4313},[255],{"categories":4315},[115],{"categories":4317},[55],{"categories":4319},[118],{"categories":4321},[195],{"categories":4323},[],{"categories":4325},[118],{"categories":4327},[55],{"categories":4329},[115],{"categories":4331},[1936],{"categories":4333},[192],{"categories":4335},[282],{"categories":4337},[115],{"categories":4339},[115],{"categories":4341},[109],{"categories":4343},[55],{"categories":4345},[112],{"categories":4347},[55],{"categories":4349},[115],{"categories":4351},[],{"categories":4353},[118],{"categories":4355},[118],{"categories":4357},[115],{"categories":4359},[115],{"categories":4361},[195],{"categories":4363},[],{"categories":4365},[151],{"categories":4367},[],{"categories":4369},[151],{"categories":4371},[115],{"categories":4373},[115],{"categories":4375},[118],{"categories":4377},[115],{"categories":4379},[118],{"categories":4381},[118],{"categories":4383},[],{"categories":4385},[151],{"categories":4387},[115],{"categories":4389},[],{"categories":4391},[115],{"categories":4393},[115],{"categories":4395},[],{"categories":4397},[192],{"categories":4399},[55],{"categories":4401},[118],{"categories":4403},[115],{"categories":4405},[115],{"categories":4407},[220],{"categories":4409},[115],{"categories":4411},[115],{"categories":4413},[109],{"categories":4415},[],{"categories":4417},[115],{"categories":4419},[115],{"categories":4421},[],{"categories":4423},[109],{"categories":4425},[151],{"categories":4427},[55],{"categories":4429},[121],{"categories":4431},[406],{"categories":4433},[115],{"categories":4435},[115],{"categories":4437},[115],{"categories":4439},[55],{"categories":4441},[151],{"categories":4443},[192],{"categories":4445},[115],{"categories":4447},[115],{"categories":4449},[115],{"categories":4451},[151],{"categories":4453},[192],{"categories":4455},[115],{"categories":4457},[151],{"categories":4459},[192],{"categories":4461},[115],{"categories":4463},[151],{"categories":4465},[118],{"categories":4467},[118],{"categories":4469},[118],{"categories":4471},[55],{"categories":4473},[151],{"categories":4475},[118],{"categories":4477},[118],{"categories":4479},[115],{"categories":4481},[55],{"categories":4483},[192],{"categories":4485},[115],{"categories":4487},[],{"categories":4489},[118],{"categories":4491},[],{"categories":4493},[115],{"categories":4495},[],{"categories":4497},[],{"categories":4499},[118],{"categories":4501},[112],{"categories":4503},[118],{"categories":4505},[4506],"Liability & Ethics",{"categories":4508},[115],{"categories":4510},[118],{"categories":4512},[109],{"categories":4514},[118],{"categories":4516},[112],{"categories":4518},[220],{"categories":4520},[118],{"categories":4522},[],{"categories":4524},[493],{"categories":4526},[118],{"categories":4528},[],{"categories":4530},[109],{"categories":4532},[118],{"categories":4534},[],{"categories":4536},[118],{"categories":4538},[115],{"categories":4540},[115],{"categories":4542},[151],{"categories":4544},[115],{"categories":4546},[115],{"categories":4548},[118],{"categories":4550},[115],{"categories":4552},[115],{"categories":4554},[151],{"categories":4556},[118],{"categories":4558},[55],{"categories":4560},[192],{"categories":4562},[109],{"categories":4564},[115],{"categories":4566},[115],{"categories":4568},[],{"categories":4570},[118],{"categories":4572},[118],{"categories":4574},[406],{"categories":4576},[192],{"categories":4578},[255],{"categories":4580},[151],{"categories":4582},[115],{"categories":4584},[192],{"categories":4586},[115],{"categories":4588},[109],{"categories":4590},[],{"categories":4592},[118],{"categories":4594},[115],{"categories":4596},[115],{"categories":4598},[118],{"categories":4600},[115],{"categories":4602},[192],{"categories":4604},[],{"categories":4606},[118],{"categories":4608},[121],{"categories":4610},[151],{"categories":4612},[118],{"categories":4614},[112],{"categories":4616},[],{"categories":4618},[115],{"categories":4620},[121],{"categories":4622},[115],{"categories":4624},[118],{"categories":4626},[151],{"categories":4628},[109],{"categories":4630},[255],{"categories":4632},[115],{"categories":4634},[115],{"categories":4636},[115],{"categories":4638},[151],{"categories":4640},[112],{"categories":4642},[115],{"categories":4644},[192],{"categories":4646},[151],{"categories":4648},[255],{"categories":4650},[115],{"categories":4652},[118],{"categories":4654},[],{"categories":4656},[457],{"categories":4658},[],{"categories":4660},[115],{"categories":4662},[255],{"categories":4664},[195],{"categories":4666},[118],{"categories":4668},[118],{"categories":4670},[4671],"Design News & Tools",{"categories":4673},[115],{"categories":4675},[151],{"categories":4677},[115],{"categories":4679},[115],{"categories":4681},[109],{"categories":4683},[115],{"categories":4685},[192],{"categories":4687},[118],{"categories":4689},[118],{"categories":4691},[192],{"categories":4693},[115],{"categories":4695},[406],{"categories":4697},[115],{"categories":4699},[115],{"categories":4701},[406],{"categories":4703},[115],{"categories":4705},[220],{"categories":4707},[115],{"categories":4709},[118],{"categories":4711},[],{"categories":4713},[115],{"categories":4715},[115],{"categories":4717},[115],{"categories":4719},[151],{"categories":4721},[109],{"categories":4723},[],{"categories":4725},[115],{"categories":4727},[115],{"categories":4729},[55],{"categories":4731},[516],{"categories":4733},[55],{"categories":4735},[192],{"categories":4737},[115],{"categories":4739},[115,118],{"categories":4741},[220,112],{"categories":4743},[115],{"categories":4745},[115],{"categories":4747},[115],{"categories":4749},[],{"categories":4751},[118],{"categories":4753},[],{"categories":4755},[55],{"categories":4757},[115],{"categories":4759},[55],{"categories":4761},[],{"categories":4763},[118],{"categories":4765},[115],{"categories":4767},[151],{"categories":4769},[115],{"categories":4771},[],{"categories":4773},[118],{"categories":4775},[115],{"categories":4777},[],{"categories":4779},[192],{"categories":4781},[115],{"categories":4783},[118],{"categories":4785},[115],{"categories":4787},[115],{"categories":4789},[109],{"categories":4791},[118],{"categories":4793},[115],{"categories":4795},[],{"categories":4797},[255],{"categories":4799},[220],{"categories":4801},[112],{"categories":4803},[112],{"categories":4805},[115],{"categories":4807},[109],{"categories":4809},[109],{"categories":4811},[115],{"categories":4813},[118],{"categories":4815},[115],{"categories":4817},[115],{"categories":4819},[115],{"categories":4821},[55],{"categories":4823},[115],{"categories":4825},[109],{"categories":4827},[118],{"categories":4829},[115],{"categories":4831},[220],{"categories":4833},[115],{"categories":4835},[151],{"categories":4837},[115],{"categories":4839},[115],{"categories":4841},[118],{"categories":4843},[115],{"categories":4845},[],{"categories":4847},[55],{"categories":4849},[],{"categories":4851},[55],{"categories":4853},[118],{"categories":4855},[109],{"categories":4857},[],{"categories":4859},[195],{"categories":4861},[255],{"categories":4863},[115],{"categories":4865},[55],{"categories":4867},[115],{"categories":4869},[],{"categories":4871},[151],{"categories":4873},[118],{"categories":4875},[55],{"categories":4877},[192],{"categories":4879},[115],{"categories":4881},[115],{"categories":4883},[118],{"categories":4885},[55],{"categories":4887},[118],{"categories":4889},[151],{"categories":4891},[115],{"categories":4893},[109],{"categories":4895},[151],{"categories":4897},[55],{"categories":4899},[115],{"categories":4901},[192],{"categories":4903},[112],{"categories":4905},[115],{"categories":4907},[115],{"categories":4909},[115],{"categories":4911},[115],{"categories":4913},[115],{"categories":4915},[118],{"categories":4917},[115],{"categories":4919},[118],{"categories":4921},[115],{"categories":4923},[115],{"categories":4925},[109],{"categories":4927},[115],{"categories":4929},[118],{"categories":4931},[118],{"categories":4933},[192],{"categories":4935},[118],{"categories":4937},[118],{"categories":4939},[109],{"categories":4941},[118],{"categories":4943},[192],{"categories":4945},[],{"categories":4947},[115],{"categories":4949},[195],{"categories":4951},[406],{"categories":4953},[115],{"categories":4955},[115],{"categories":4957},[115],{"categories":4959},[55],{"categories":4961},[115],{"categories":4963},[],{"categories":4965},[118],{"categories":4967},[220],{"categories":4969},[115],{"categories":4971},[151],{"categories":4973},[118],{"categories":4975},[115],{"categories":4977},[220],{"categories":4979},[118],{"categories":4981},[112],{"categories":4983},[112],{"categories":4985},[115],{"categories":4987},[115],{"categories":4989},[115],{"categories":4991},[109],{"categories":4993},[],{"categories":4995},[115],{"categories":4997},[115],{"categories":4999},[118],{"categories":5001},[118],{"categories":5003},[115],{"categories":5005},[115],{"categories":5007},[115],{"categories":5009},[55],{"categories":5011},[],{"categories":5013},[109],{"categories":5015},[115],{"categories":5017},[115],{"categories":5019},[118],{"categories":5021},[118],{"categories":5023},[],{"categories":5025},[55],{"categories":5027},[55],{"categories":5029},[115],{"categories":5031},[220],{"categories":5033},[112],{"categories":5035},[192],{"categories":5037},[],{"categories":5039},[115],{"categories":5041},[118],{"categories":5043},[109],{"categories":5045},[115],{"categories":5047},[55],{"categories":5049},[109],{"categories":5051},[151],{"categories":5053},[195],{"categories":5055},[151],{"categories":5057},[118],{"categories":5059},[],{"categories":5061},[151],{"categories":5063},[118],{"categories":5065},[192],{"categories":5067},[195],{"categories":5069},[115],{"categories":5071},[],{"categories":5073},[118],{"categories":5075},[118],{"categories":5077},[2607],{"categories":5079},[151],{"categories":5081},[55],{"categories":5083},[115],{"categories":5085},[115],{"categories":5087},[115],{"categories":5089},[115],{"categories":5091},[112],{"categories":5093},[115],{"categories":5095},[109],{"categories":5097},[1502],{"categories":5099},[255],{"categories":5101},[109],{"categories":5103},[],{"categories":5105},[],{"categories":5107},[151],{"categories":5109},[118],{"categories":5111},[151],{"categories":5113},[],{"categories":5115},[118],{"categories":5117},[118],{"categories":5119},[118],{"categories":5121},[],{"categories":5123},[115],{"categories":5125},[],{"categories":5127},[151],{"categories":5129},[109],{"categories":5131},[192],{"categories":5133},[115],{"categories":5135},[118],{"categories":5137},[151],{"categories":5139},[115],{"categories":5141},[151],{"categories":5143},[],{"categories":5145},[151],{"categories":5147},[109],{"categories":5149},[406],{"categories":5151},[118],{"categories":5153},[115],{"categories":5155},[],{"categories":5157},[55],{"categories":5159},[118],{"categories":5161},[121],{"categories":5163},[118],{"categories":5165},[109],{"categories":5167},[],{"categories":5169},[],{"categories":5171},[],{"categories":5173},[192],{"categories":5175},[118],{"categories":5177},[115],{"categories":5179},[115],{"categories":5181},[],{"categories":5183},[],{"categories":5185},[],{"categories":5187},[192],{"categories":5189},[115],{"categories":5191},[],{"categories":5193},[118],{"categories":5195},[115],{"categories":5197},[109],{"categories":5199},[],{"categories":5201},[],{"categories":5203},[192],{"categories":5205},[115],{"categories":5207},[151],{"categories":5209},[],{"categories":5211},[220],{"categories":5213},[151],{"categories":5215},[220],{"categories":5217},[195],{"categories":5219},[115],{"categories":5221},[115],{"categories":5223},[],{"categories":5225},[],{"categories":5227},[118],{"categories":5229},[],{"categories":5231},[115],{"categories":5233},[406],{"categories":5235},[115],{"categories":5237},[115],{"categories":5239},[115],{"categories":5241},[115],{"categories":5243},[],{"categories":5245},[118],{"categories":5247},[115],{"categories":5249},[115],{"categories":5251},[],{"categories":5253},[118],{"categories":5255},[115],{"categories":5257},[151],{"categories":5259},[115],{"categories":5261},[220],{"categories":5263},[112],{"categories":5265},[115],{"categories":5267},[115],{"categories":5269},[118],{"categories":5271},[195],{"categories":5273},[118],{"categories":5275},[118],{"categories":5277},[],{"categories":5279},[118],{"categories":5281},[],{"categories":5283},[115],{"categories":5285},[],{"categories":5287},[151],{"categories":5289},[112],{"categories":5291},[],{"categories":5293},[115],{"categories":5295},[],{"categories":5297},[192],{"categories":5299},[109],{"categories":5301},[],{"categories":5303},[112],{"categories":5305},[220],{"categories":5307},[115],{"categories":5309},[55],{"categories":5311},[109],{"categories":5313},[195],{"categories":5315},[112],{"categories":5317},[55],{"categories":5319},[55],{"categories":5321},[],{"categories":5323},[115],{"categories":5325},[],{"categories":5327},[118],{"categories":5329},[109],{"categories":5331},[192],{"categories":5333},[115],{"categories":5335},[109],{"categories":5337},[118],{"categories":5339},[255],{"categories":5341},[115],{"categories":5343},[115],{"categories":5345},[115],{"categories":5347},[109],{"categories":5349},[195],{"categories":5351},[118],{"categories":5353},[],{"categories":5355},[115],{"categories":5357},[115],{"categories":5359},[55],{"categories":5361},[118],{"categories":5363},[151],{"categories":5365},[55],{"categories":5367},[115],{"categories":5369},[121],{"categories":5371},[],{"categories":5373},[192],{"categories":5375},[151],{"categories":5377},[109],{"categories":5379},[118],{"categories":5381},[115],{"categories":5383},[115],{"categories":5385},[118],{"categories":5387},[121],{"categories":5389},[115],{"categories":5391},[118],{"categories":5393},[115],{"categories":5395},[112],{"categories":5397},[118],{"categories":5399},[118,255],{"categories":5401},[115],{"categories":5403},[115],{"categories":5405},[118],{"categories":5407},[55],{"categories":5409},[115],{"categories":5411},[115],{"categories":5413},[195],{"categories":5415},[118],{"categories":5417},[220],{"categories":5419},[118],{"categories":5421},[112],{"categories":5423},[],{"categories":5425},[118],{"categories":5427},[115],{"categories":5429},[112],{"categories":5431},[],{"categories":5433},[],{"categories":5435},[55],{"categories":5437},[115],{"categories":5439},[115],{"categories":5441},[118],{"categories":5443},[195],{"categories":5445},[220],{"categories":5447},[115],{"categories":5449},[115],{"categories":5451},[118],{"categories":5453},[],{"categories":5455},[118],{"categories":5457},[151],{"categories":5459},[118],{"categories":5461},[],{"categories":5463},[151],{"categories":5465},[55],{"categories":5467},[2607],{"categories":5469},[109],{"categories":5471},[55],{"categories":5473},[115],{"categories":5475},[118],{"categories":5477},[115],{"categories":5479},[115],{"categories":5481},[220],{"categories":5483},[55],{"categories":5485},[],{"categories":5487},[151],{"categories":5489},[115],{"categories":5491},[],{"categories":5493},[118],{"categories":5495},[115],{"categories":5497},[115],{"categories":5499},[115],{"categories":5501},[115],{"categories":5503},[118],{"categories":5505},[115],{"categories":5507},[115],{"categories":5509},[121],{"categories":5511},[118],{"categories":5513},[115],{"categories":5515},[115],{"categories":5517},[115],{"categories":5519},[115],{"categories":5521},[115],{"categories":5523},[115],{"categories":5525},[112],{"categories":5527},[],{"categories":5529},[121],{"categories":5531},[151],{"categories":5533},[118],{"categories":5535},[115],{"categories":5537},[55],{"categories":5539},[],{"categories":5541},[55],{"categories":5543},[55],{"categories":5545},[118],{"categories":5547},[55],{"categories":5549},[115],{"categories":5551},[115],{"categories":5553},[55],{"categories":5555},[115],{"categories":5557},[118],{"categories":5559},[151],{"categories":5561},[115],{"categories":5563},[115],{"categories":5565},[115],{"categories":5567},[112],{"categories":5569},[115],{"categories":5571},[118],{"categories":5573},[192],{"categories":5575},[],{"categories":5577},[115],{"categories":5579},[195],{"categories":5581},[118],{"categories":5583},[115],{"categories":5585},[115],{"categories":5587},[],{"categories":5589},[115],{"categories":5591},[115],{"categories":5593},[151],{"categories":5595},[115],{"categories":5597},[115],{"categories":5599},[118],{"categories":5601},[220],{"categories":5603},[],{"categories":5605},[],{"categories":5607},[55],{"categories":5609},[115],{"categories":5611},[151],{"categories":5613},[55],{"categories":5615},[151],{"categories":5617},[115],{"categories":5619},[220],{"categories":5621},[195],{"categories":5623},[115],{"categories":5625},[109],{"categories":5627},[118],{"categories":5629},[115],{"categories":5631},[118],{"categories":5633},[118],{"categories":5635},[115],{"categories":5637},[112],{"categories":5639},[],{"categories":5641},[195],{"categories":5643},[115],{"categories":5645},[],{"categories":5647},[151],{"categories":5649},[115],{"categories":5651},[195],{"categories":5653},[115],{"categories":5655},[55],{"categories":5657},[55],{"categories":5659},[55],{"categories":5661},[118],{"categories":5663},[118],{"categories":5665},[118],{"categories":5667},[115],{"categories":5669},[115],{"categories":5671},[192],{"categories":5673},[195],{"categories":5675},[195],{"categories":5677},[],{"categories":5679},[151],{"categories":5681},[115],{"categories":5683},[115],{"categories":5685},[55],{"categories":5687},[],{"categories":5689},[151],{"categories":5691},[151],{"categories":5693},[151],{"categories":5695},[],{"categories":5697},[118],{"categories":5699},[115],{"categories":5701},[],{"categories":5703},[109],{"categories":5705},[112],{"categories":5707},[],{"categories":5709},[115],{"categories":5711},[115],{"categories":5713},[],{"categories":5715},[55],{"categories":5717},[],{"categories":5719},[],{"categories":5721},[],{"categories":5723},[],{"categories":5725},[115],{"categories":5727},[151],{"categories":5729},[],{"categories":5731},[],{"categories":5733},[115],{"categories":5735},[115],{"categories":5737},[115],{"categories":5739},[195],{"categories":5741},[115],{"categories":5743},[195],{"categories":5745},[],{"categories":5747},[195],{"categories":5749},[195],{"categories":5751},[255],{"categories":5753},[118],{"categories":5755},[55],{"categories":5757},[],{"categories":5759},[],{"categories":5761},[195],{"categories":5763},[55],{"categories":5765},[55],{"categories":5767},[55],{"categories":5769},[],{"categories":5771},[109],{"categories":5773},[55],{"categories":5775},[55],{"categories":5777},[109],{"categories":5779},[55],{"categories":5781},[112],{"categories":5783},[55],{"categories":5785},[55],{"categories":5787},[55],{"categories":5789},[195],{"categories":5791},[151],{"categories":5793},[151],{"categories":5795},[115],{"categories":5797},[55],{"categories":5799},[195],{"categories":5801},[255],{"categories":5803},[195],{"categories":5805},[195],{"categories":5807},[195],{"categories":5809},[],{"categories":5811},[112],{"categories":5813},[],{"categories":5815},[255],{"categories":5817},[55],{"categories":5819},[55],{"categories":5821},[55],{"categories":5823},[118],{"categories":5825},[151,112],{"categories":5827},[195],{"categories":5829},[],{"categories":5831},[],{"categories":5833},[195],{"categories":5835},[],{"categories":5837},[195],{"categories":5839},[151],{"categories":5841},[118],{"categories":5843},[],{"categories":5845},[55],{"categories":5847},[115],{"categories":5849},[192],{"categories":5851},[],{"categories":5853},[115],{"categories":5855},[],{"categories":5857},[151],{"categories":5859},[109],{"categories":5861},[195],{"categories":5863},[],{"categories":5865},[55],{"categories":5867},[151],[5869,5982,6112,6176],{"id":5870,"title":5871,"ai":5872,"body":5877,"categories":5955,"created_at":56,"date_modified":56,"description":47,"extension":57,"faq":56,"featured":58,"kicker_label":56,"meta":5956,"navigation":88,"path":5966,"published_at":5967,"question":56,"scraped_at":5968,"seo":5969,"sitemap":5970,"source_id":5971,"source_name":5972,"source_type":5973,"source_url":5974,"stem":5975,"tags":5976,"thumbnail_url":5977,"tldr":5978,"tweet":5979,"unknown_tags":5980,"__hash__":5981},"summaries\u002Fsummaries\u002Fb6656912ce659f03-managing-ai-agents-in-enterprise-codebases-summary.md","Managing AI Agents in Enterprise Codebases",{"provider":7,"model":8,"input_tokens":5873,"output_tokens":5874,"processing_time_ms":5875,"cost_usd":5876},5886,663,3395,0.002466,{"type":14,"value":5878,"toc":5949},[5879,5883,5886,5890,5907,5911,5931,5935],[17,5880,5882],{"id":5881},"shift-from-prompter-to-coach","Shift from Prompter to Coach",[22,5884,5885],{},"Working with AI in enterprise environments requires moving beyond simple prompting. Treat the agent as a 'digital intern' that requires a clear playbook, specific standards, and oversight. This shift allows for managing complex, living codebases rather than just generating toy applications.",[17,5887,5889],{"id":5888},"establishing-development-standards","Establishing Development Standards",[5891,5892,5893,5901],"ul",{},[5894,5895,5896,5900],"li",{},[5897,5898,5899],"strong",{},"Encode Team DNA:"," Create custom skills (simple markdown files) that codify your team's specific practices, such as Test-Driven Development (TDD) or design patterns. This ensures the agent adheres to organizational standards without repeated manual reminders.",[5894,5902,5903,5906],{},[5897,5904,5905],{},"Maintain a Paper Trail:"," Use the agent to generate implementation plans, architecture specs, and test plans. Save these directly into your Git branch to provide context for the agent's future iterations and to assist human reviewers during pull requests.",[17,5908,5910],{"id":5909},"automating-feedback-and-quality-assurance","Automating Feedback and Quality Assurance",[5891,5912,5913,5919,5925],{},[5894,5914,5915,5918],{},[5897,5916,5917],{},"Self-Correction Loops:"," Remove yourself from the feedback loop by providing the agent with access to linters, type checkers, and test suites. Instruct the agent to run these tools, read the errors, and iterate until all tests pass, effectively automating the 'test-and-fix' cycle.",[5894,5920,5921,5924],{},[5897,5922,5923],{},"Visual Verification:"," Use browser tools to allow the agent to 'see' the UI. If the environment is locked down, provide screenshots directly to the agent to help it identify layout issues or UI bugs before human review.",[5894,5926,5927,5930],{},[5897,5928,5929],{},"Pre-Review Refactoring:"," Use the agent to perform automated verification checks for security, library consistency, and code idioms. Dedicate significant time (up to 50%) to having the agent refactor code based on these checks, ensuring that only clean, high-quality code reaches human reviewers.",[17,5932,5934],{"id":5933},"architecture-and-workflow-optimization","Architecture and Workflow Optimization",[5891,5936,5937,5943],{},[5894,5938,5939,5942],{},[5897,5940,5941],{},"Async Task Management:"," Offload heavy integration or end-to-end test suites to background tasks. This prevents the agent from freezing your workspace, allowing you to continue working on other tasks while the agent handles resource-intensive processes.",[5894,5944,5945,5948],{},[5897,5946,5947],{},"Architectural Visualization:"," Utilize Mermaid diagrams to visualize module interactions. This helps identify circular dependencies or layering violations. These diagrams can also be embedded directly into pull request descriptions to improve team communication and code review efficiency.",{"title":47,"searchDepth":48,"depth":48,"links":5950},[5951,5952,5953,5954],{"id":5881,"depth":48,"text":5882},{"id":5888,"depth":48,"text":5889},{"id":5909,"depth":48,"text":5910},{"id":5933,"depth":48,"text":5934},[55],{"content_references":5957,"triage":5963},[5958,5960],{"type":78,"title":5959,"context":67},"Antigravity 2.0",{"type":78,"title":5961,"url":5962,"context":67},"Mermaid","https:\u002F\u002Fmermaid.js.org\u002F",{"relevance":84,"novelty":85,"quality":85,"actionability":84,"composite":5964,"reasoning":5965},4.55,"Category: AI Automation. The article provides a comprehensive framework for managing AI agents in enterprise codebases, addressing specific pain points like maintaining production-ready standards and automating feedback loops. It offers actionable strategies such as creating custom skills and implementing self-correction loops, making it highly relevant and practical for the target audience.","\u002Fsummaries\u002Fb6656912ce659f03-managing-ai-agents-in-enterprise-codebases-summary","2026-06-18 16:00:20","2026-06-19 12:56:38",{"title":5871,"description":47},{"loc":5966},"b6656912ce659f03","Google Cloud Tech","video","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=zvPyEKax914","summaries\u002Fb6656912ce659f03-managing-ai-agents-in-enterprise-codebases-summary",[99,100,101,102],"https:\u002F\u002Fi.ytimg.com\u002Fvi\u002FzvPyEKax914\u002Fhqdefault.jpg","Transition from 'prompting' to 'coaching' by treating AI agents as digital interns, using custom skills, automated self-correction loops, and background task management to maintain production-ready standards.","This video outlines seven workflow patterns for using [Antigravity 2.0](https:\u002F\u002Fgoo.gle\u002FServerlessExpeditions) to manage coding tasks within existing enterprise systems. The presenter focuses on treating the agent as a junior developer by formalizing team standards into reusable skills, automating test-correction loops, and utilizing background tasks to maintain development velocity.",[100,101,102],"RmyTvFtw_b-cxpi4Gi_eI0da-n0y-IFlpzDCGdMxMz0",{"id":5983,"title":5984,"ai":5985,"body":5990,"categories":6082,"created_at":56,"date_modified":56,"description":47,"extension":57,"faq":56,"featured":58,"kicker_label":56,"meta":6083,"navigation":88,"path":6098,"published_at":6099,"question":56,"scraped_at":6100,"seo":6101,"sitemap":6102,"source_id":6103,"source_name":5972,"source_type":5973,"source_url":6104,"stem":6105,"tags":6106,"thumbnail_url":6107,"tldr":6108,"tweet":6109,"unknown_tags":6110,"__hash__":6111},"summaries\u002Fsummaries\u002Fd65903184bf73842-scaling-development-with-google-antigravity-2-0-summary.md","Scaling Development with Google Antigravity 2.0",{"provider":7,"model":8,"input_tokens":5986,"output_tokens":5987,"processing_time_ms":5988,"cost_usd":5989},10123,1101,5815,0.00418225,{"type":14,"value":5991,"toc":6074},[5992,5996,5999,6003,6006,6010,6013,6017,6020,6024,6056,6060],[17,5993,5995],{"id":5994},"the-shift-to-agent-first-development","The Shift to Agent-First Development",[22,5997,5998],{},"Google Antigravity 2.0 represents a significant evolution in developer tooling, moving away from a single, bundled IDE experience toward a modular, \"agent-first\" ecosystem. By unbundling the platform into a standalone Agent Manager, CLI, SDK, and specialized IDE, Google allows developers to tailor their environment to their specific workflow. This architecture enables developers to manage complex, multi-folder projects where different agents handle distinct tasks—such as frontend, backend, and documentation—without forcing the project structure to conform to the tool.",[17,6000,6002],{"id":6001},"context-compression-via-skills-and-mcp","Context Compression via Skills and MCP",[22,6004,6005],{},"Central to Rody Davis's workflow is the concept of \"skills\"—reusable, triggerable workflows that act as a \"cheat sheet\" for AI agents. By embedding design systems, coding patterns, and specific library knowledge into these skills, developers can compress context for the model, leading to higher-quality outputs. The platform also integrates Model Context Protocol (MCP) servers, allowing agents to interact with external tools and dev environments (like Flutter hot-reloading or database administration) directly, which significantly reduces the friction of context switching.",[17,6007,6009],{"id":6008},"the-bonsai-approach-to-code-architecture","The Bonsai Approach to Code Architecture",[22,6011,6012],{},"Davis advocates for a \"bonsai\" approach to code review: constant, iterative pruning to keep architecture simple and maintainable. In an agent-assisted world, he argues that the role of the engineer is shifting toward architecting interfaces and API contracts. Once these foundations are solidified, agents can handle the bulk of implementation, provided they are guided by initial examples that establish the desired pattern. This allows the engineer to focus on high-level design and production stability rather than manual syntax generation.",[17,6014,6016],{"id":6015},"multi-agent-parallelism-and-cognitive-toil","Multi-Agent Parallelism and Cognitive Toil",[22,6018,6019],{},"Antigravity 2.0 enables parallel sub-agent orchestration, where a single voice prompt can trigger specialized agents—such as a dedicated DevOps engineer or QA tester—to build, localize, and deploy applications. This capability addresses the \"cognitive toil\" of managing complex, multi-language projects. By automating the repetitive, non-logic-heavy tasks (like marketing site generation or boilerplate setup), developers can reclaim time for creative problem-solving and deep research into building blocks that will serve them in future projects.",[17,6021,6023],{"id":6022},"key-takeaways","Key Takeaways",[5891,6025,6026,6032,6038,6044,6050],{},[5894,6027,6028,6031],{},[5897,6029,6030],{},"Adopt a Modular Workflow:"," Use the Antigravity CLI for server-side tasks and the Agent Manager for orchestration to avoid the overhead of a full IDE when it isn't needed.",[5894,6033,6034,6037],{},[5897,6035,6036],{},"Build Reusable Skills:"," Treat skills as compressed context cheat sheets. If you find yourself repeating a task, codify it into a skill or MCP server to offload the cognitive burden to an agent.",[5894,6039,6040,6043],{},[5897,6041,6042],{},"Architect for Collaboration:"," Design flat, decoupled architectures (state vs. UI vs. data) to make it easier to steer agents and verify their output.",[5894,6045,6046,6049],{},[5897,6047,6048],{},"Guide, Don't Just Prompt:"," Write the first few examples of a pattern yourself. Agents are excellent at extending established patterns but struggle with ambiguous requirements.",[5894,6051,6052,6055],{},[5897,6053,6054],{},"Focus on API Contracts:"," Prioritize the review of interfaces and API schemas. If the contract is solid, the implementation details are often secondary and easier to verify via automated tests.",[17,6057,6059],{"id":6058},"notable-quotes","Notable Quotes",[5891,6061,6062,6065,6068,6071],{},[5894,6063,6064],{},"\"One of the things I like to think about with skills is it's literally a cheat sheet for the agent.\"",[5894,6066,6067],{},"\"I like to view coding almost like being a bonsai artist. If there's things that are growing, I want to constantly be pruning it so I can work towards something that's simple.\"",[5894,6069,6070],{},"\"I'm viewing architecture as a way to find something that both the agents and I can collaborate on.\"",[5894,6072,6073],{},"\"The next hot job for software engineers would be consulting to solve production failures in AI-coded apps.\"",{"title":47,"searchDepth":48,"depth":48,"links":6075},[6076,6077,6078,6079,6080,6081],{"id":5994,"depth":48,"text":5995},{"id":6001,"depth":48,"text":6002},{"id":6008,"depth":48,"text":6009},{"id":6015,"depth":48,"text":6016},{"id":6022,"depth":48,"text":6023},{"id":6058,"depth":48,"text":6059},[115],{"content_references":6084,"triage":6096},[6085,6088,6090,6092,6094],{"type":78,"title":6086,"url":6087,"context":67},"Google Antigravity","https:\u002F\u002Fgoo.gle\u002F4fnXilj",{"type":78,"title":6089,"context":80},"Project IDX",{"type":78,"title":6091,"context":80},"Firebase Studio",{"type":78,"title":6093,"context":80},"Gemma",{"type":78,"title":6095,"context":80},"LM Studio",{"relevance":84,"novelty":85,"quality":85,"actionability":85,"composite":86,"reasoning":6097},"Category: AI Automation. The article discusses the modular, agent-first approach of Google Antigravity 2.0, which directly addresses the audience's need for practical AI tooling in development. It provides insights into how to leverage specialized agents and skills to enhance developer productivity, making it actionable for builders looking to implement these concepts.","\u002Fsummaries\u002Fd65903184bf73842-scaling-development-with-google-antigravity-2-0-summary","2026-06-08 16:00:01","2026-06-09 12:58:02",{"title":5984,"description":47},{"loc":6098},"d65903184bf73842","https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Dk4MD6TNiWE","summaries\u002Fd65903184bf73842-scaling-development-with-google-antigravity-2-0-summary",[99,100,102,101],"https:\u002F\u002Fi.ytimg.com\u002Fvi\u002FDk4MD6TNiWE\u002Fhqdefault.jpg","Google's Antigravity 2.0 shifts from a monolithic IDE to a modular ecosystem, enabling developers to use specialized agents, skills, and multi-folder orchestration to reduce cognitive toil and scale output.","This video is a promotional walkthrough of [Google Antigravity 2.0](https:\u002F\u002Fgoo.gle\u002F4fnXilj), a developer platform that unbundles agentic workflows into a desktop manager, CLI, SDK, and IDE. The host and guest demonstrate using \"skills\"—reusable context files—to guide agents through building and deploying applications, while discussing the shift toward \"vibe coding\" and agent-orchestrated architecture.\n\n- [Getting started with Antigravity](https:\u002F\u002Fgoo.gle\u002F4ol8em7) — Official documentation and setup guide.\n- [Rody’s skills repo](https:\u002F\u002Fgoo.gle\u002F4ugd7Ow) — Examples of the \"context cheat sheets\" used to steer agents.\n- [#NapkinChallenge](https:\u002F\u002Fgoo.gle\u002F4e0AGF6) — The community project mentioned for testing the platform's capabilities.",[100,102,101],"vk0BAUzkN29YlsPYW_LcAn73Z4XPmn6A2eapai1CDXA",{"id":6113,"title":6114,"ai":6115,"body":6120,"categories":6152,"created_at":56,"date_modified":56,"description":47,"extension":57,"faq":56,"featured":58,"kicker_label":56,"meta":6153,"navigation":88,"path":6163,"published_at":6164,"question":56,"scraped_at":90,"seo":6165,"sitemap":6166,"source_id":6167,"source_name":6168,"source_type":95,"source_url":6169,"stem":6170,"tags":6171,"thumbnail_url":56,"tldr":6173,"tweet":56,"unknown_tags":6174,"__hash__":6175},"summaries\u002Fsummaries\u002F050f975f8d6191b8-software-factories-balancing-agent-autonomy-and-hu-summary.md","Software Factories: Balancing Agent Autonomy and Human Oversight",{"provider":7,"model":8,"input_tokens":6116,"output_tokens":6117,"processing_time_ms":6118,"cost_usd":6119},8647,745,4030,0.00327925,{"type":14,"value":6121,"toc":6146},[6122,6124,6127,6129,6132,6136,6139,6143],[17,6123,20],{"id":19},[22,6125,6126],{},"Modern software development is shifting from individual craft to the construction of 'software factories'—systems of harnessed loops. A loop is the atomic unit of agentic work (gather context, act, check, repeat). A harness provides the environment (sandboxing, tools, memory, gates) that makes a loop safe and useful. A factory is the orchestration of these harnessed loops at scale. The fundamental constraint in this model is not code generation, but verification. As generation capacity increases, the bottleneck remains the human review gate, leading to 'back pressure' where autonomy must be limited by the ability to cheaply and reliably verify output.",[17,6128,28],{"id":27},[22,6130,6131],{},"The distinction between 'dark' and 'lit' factories refers to human visibility. A 'dark' factory operates without human review, relying entirely on automated checks. While this creates an illusion of infinite throughput, it ignores 'comprehension debt'—the gap between the volume of code produced and human understanding. Dark factories are viable for low-stakes, high-frequency tasks (e.g., linting, dependency updates), but they fail in complex, long-lived enterprise systems where architectural integrity and long-term maintainability are paramount. A 'lit' factory keeps human judgment in the loop, moving oversight upstream to the design and architectural phases to ensure that expensive, high-stakes decisions are vetted before code is generated.",[17,6133,6135],{"id":6134},"moving-from-loops-to-graphs","Moving from Loops to Graphs",[22,6137,6138],{},"To manage agent autonomy, engineers should move away from unconstrained loops toward structured workflows, often represented as directed graphs or state machines. By defining explicit nodes and conditional edges, developers create legible failure points and mandatory checks. This approach acknowledges that software has always required structure; attempting to bypass it with pure agentic loops often leads to chaotic, unmaintainable code. The most effective 'agentic' systems are often deterministic code with LLM steps sprinkled at critical decision points.",[17,6140,6142],{"id":6141},"the-human-role-owning-the-outer-loop","The Human Role: Owning the Outer Loop",[22,6144,6145],{},"Engineers must transition from writing individual diffs to owning the 'outer loop.' This involves designing the factory, setting the rubrics for verification, and guarding the final gate. By investing in traditional architectural practices—such as strong typing, well-defined component boundaries, and dependency injection—engineers create a safety net that allows agents to operate efficiently within the inner loop while ensuring the overall system remains understandable and maintainable.",{"title":47,"searchDepth":48,"depth":48,"links":6147},[6148,6149,6150,6151],{"id":19,"depth":48,"text":20},{"id":27,"depth":48,"text":28},{"id":6134,"depth":48,"text":6135},{"id":6141,"depth":48,"text":6142},[55],{"group":60,"content_references":6154,"triage":6161},[6155,6156,6159,6160],{"type":63,"title":64,"author":65,"url":66,"context":71},{"type":78,"title":6157,"url":6158,"context":80},"HumanLayer","https:\u002F\u002Fhumanlayer.com\u002F",{"type":78,"title":79,"context":80},{"type":78,"title":82,"context":80},{"relevance":84,"novelty":85,"quality":85,"actionability":85,"composite":86,"reasoning":6162},"Category: Software Engineering. The article provides a deep exploration of the architecture of software factories, addressing the balance between automation and human oversight, which is a critical concern for product builders. It offers actionable insights on structuring workflows and managing agent autonomy, making it highly relevant and practical for the target audience.","\u002Fsummaries\u002F050f975f8d6191b8-software-factories-balancing-agent-autonomy-and-hu-summary","2026-07-22 03:44:07",{"title":6114,"description":47},{"loc":6163},"050f975f8d6191b8","Elevate (Addy Osmani Substack)","https:\u002F\u002Faddyo.substack.com\u002Fp\u002Fsoftware-factories-light-and-dark","summaries\u002F050f975f8d6191b8-software-factories-balancing-agent-autonomy-and-hu-summary",[99,6172,100,101],"product-strategy","Software factories are systems of automated loops. The core engineering challenge is not generation speed, but verification; builders must strategically choose between 'dark' (fully automated) and 'lit' (human-reviewed) workflows based on the cost of failure.",[100,101],"htvko0_VbW2Q6mn1LZcMs8TVvhkTIG-6_3nSU3m-Xhk",{"id":6177,"title":6178,"ai":6179,"body":6185,"categories":6921,"created_at":56,"date_modified":56,"description":47,"extension":57,"faq":56,"featured":58,"kicker_label":56,"meta":6922,"navigation":88,"path":6931,"published_at":6932,"question":56,"scraped_at":6933,"seo":6934,"sitemap":6935,"source_id":6936,"source_name":6937,"source_type":95,"source_url":6938,"stem":6939,"tags":6940,"thumbnail_url":56,"tldr":6941,"tweet":56,"unknown_tags":6942,"__hash__":6943},"summaries\u002Fsummaries\u002F67f50b3dc45a432f-build-prod-ready-huey-task-queue-with-sqlite-summary.md","Build Prod-Ready Huey Task Queue with SQLite",{"provider":7,"model":6180,"input_tokens":6181,"output_tokens":6182,"processing_time_ms":6183,"cost_usd":6184},"x-ai\u002Fgrok-4.1-fast",9232,2848,16755,0.00297955,{"type":14,"value":6186,"toc":6912},[6187,6191,6203,6288,6295,6298,6372,6383,6387,6394,6490,6509,6512,6516,6519,6549,6556,6559,6593,6603,6607,6622,6625,6640,6643,6691,6698,6702,6705,6769,6781,6788,6794,6797,6801,6808,6813,6816,6818,6889,6894,6899,6908],[17,6188,6190],{"id":6189},"configure-lightweight-sqlite-huey-for-production-tasks","Configure Lightweight SQLite Huey for Production Tasks",[22,6192,6193,6194,6198,6199,6202],{},"Huey provides a Celery-like task queue but lighter, using SQLite as a file-based broker for zero-dependency setups. Start by installing ",[6195,6196,6197],"code",{},"huey"," and initializing ",[6195,6200,6201],{},"SqliteHuey",":",[6204,6205,6209],"pre",{"className":6206,"code":6207,"language":6208,"meta":47,"style":47},"language-python shiki shiki-themes github-light github-dark","!pip -q install -U huey\nimport os\nfrom huey import SqliteHuey\n\nDB_PATH = \"\u002Fcontent\u002Fhuey_demo.db\"\nif os.path.exists(DB_PATH): os.remove(DB_PATH)\nhuey = SqliteHuey(\n    name=\"colab-huey\",\n    filename=DB_PATH,\n    results=True,  # Store task results\n    store_none=False,\n    utc=True,\n)\n","python",[6195,6210,6211,6219,6224,6230,6235,6240,6246,6252,6258,6264,6270,6276,6282],{"__ignoreMap":47},[6212,6213,6216],"span",{"class":6214,"line":6215},"line",1,[6212,6217,6218],{},"!pip -q install -U huey\n",[6212,6220,6221],{"class":6214,"line":48},[6212,6222,6223],{},"import os\n",[6212,6225,6227],{"class":6214,"line":6226},3,[6212,6228,6229],{},"from huey import SqliteHuey\n",[6212,6231,6232],{"class":6214,"line":85},[6212,6233,6234],{"emptyLinePlaceholder":88},"\n",[6212,6236,6237],{"class":6214,"line":84},[6212,6238,6239],{},"DB_PATH = \"\u002Fcontent\u002Fhuey_demo.db\"\n",[6212,6241,6243],{"class":6214,"line":6242},6,[6212,6244,6245],{},"if os.path.exists(DB_PATH): os.remove(DB_PATH)\n",[6212,6247,6249],{"class":6214,"line":6248},7,[6212,6250,6251],{},"huey = SqliteHuey(\n",[6212,6253,6255],{"class":6214,"line":6254},8,[6212,6256,6257],{},"    name=\"colab-huey\",\n",[6212,6259,6261],{"class":6214,"line":6260},9,[6212,6262,6263],{},"    filename=DB_PATH,\n",[6212,6265,6267],{"class":6214,"line":6266},10,[6212,6268,6269],{},"    results=True,  # Store task results\n",[6212,6271,6273],{"class":6214,"line":6272},11,[6212,6274,6275],{},"    store_none=False,\n",[6212,6277,6279],{"class":6214,"line":6278},12,[6212,6280,6281],{},"    utc=True,\n",[6212,6283,6285],{"class":6214,"line":6284},13,[6212,6286,6287],{},")\n",[22,6289,6290,6291,6294],{},"This creates a persistent queue in ",[6195,6292,6293],{},"huey_demo.db",". Key principle: SQLite handles scheduling, results, and locking atomically, making it suitable for single-node production without Redis. Trade-off: Not distributed; scale via multiple consumers on shared DB (with WAL mode for concurrency). Assumes basic Python; fits early in async workflows before heavy infra.",[22,6296,6297],{},"Enable observability early with a global signal handler logging task events:",[6204,6299,6301],{"className":6206,"code":6300,"language":6208,"meta":47,"style":47},"EVENT_LOG = []\n\n@huey.signal()\ndef _log_all_signals(signal, task, exc=None):\n    EVENT_LOG.append({\n        \"ts\": datetime.utcnow().isoformat() + \"Z\",\n        \"signal\": str(signal),\n        \"task\": getattr(task, \"name\", None),\n        \"id\": getattr(task, \"id\", None),\n        # ... args, kwargs, exc\n    })\n\ndef print_latest_events(n=10):\n    # Print formatted log\n",[6195,6302,6303,6308,6312,6317,6322,6327,6332,6337,6342,6347,6352,6357,6361,6366],{"__ignoreMap":47},[6212,6304,6305],{"class":6214,"line":6215},[6212,6306,6307],{},"EVENT_LOG = []\n",[6212,6309,6310],{"class":6214,"line":48},[6212,6311,6234],{"emptyLinePlaceholder":88},[6212,6313,6314],{"class":6214,"line":6226},[6212,6315,6316],{},"@huey.signal()\n",[6212,6318,6319],{"class":6214,"line":85},[6212,6320,6321],{},"def _log_all_signals(signal, task, exc=None):\n",[6212,6323,6324],{"class":6214,"line":84},[6212,6325,6326],{},"    EVENT_LOG.append({\n",[6212,6328,6329],{"class":6214,"line":6242},[6212,6330,6331],{},"        \"ts\": datetime.utcnow().isoformat() + \"Z\",\n",[6212,6333,6334],{"class":6214,"line":6248},[6212,6335,6336],{},"        \"signal\": str(signal),\n",[6212,6338,6339],{"class":6214,"line":6254},[6212,6340,6341],{},"        \"task\": getattr(task, \"name\", None),\n",[6212,6343,6344],{"class":6214,"line":6260},[6212,6345,6346],{},"        \"id\": getattr(task, \"id\", None),\n",[6212,6348,6349],{"class":6214,"line":6266},[6212,6350,6351],{},"        # ... args, kwargs, exc\n",[6212,6353,6354],{"class":6214,"line":6272},[6212,6355,6356],{},"    })\n",[6212,6358,6359],{"class":6214,"line":6278},[6212,6360,6234],{"emptyLinePlaceholder":88},[6212,6362,6363],{"class":6214,"line":6284},[6212,6364,6365],{},"def print_latest_events(n=10):\n",[6212,6367,6369],{"class":6214,"line":6368},14,[6212,6370,6371],{},"    # Print formatted log\n",[22,6373,6374,6375,6378,6379,6382],{},"Signals fire on execution phases (e.g., ",[6195,6376,6377],{},"task_executed",", ",[6195,6380,6381],{},"task_error","). This captures IDs, args, exceptions for debugging—critical for production where logs reveal retry loops or deadlocks.",[17,6384,6386],{"id":6385},"design-tasks-with-retries-priorities-and-context-awareness","Design Tasks with Retries, Priorities, and Context Awareness",[22,6388,6389,6390,6393],{},"Tasks are decorated with ",[6195,6391,6392],{},"@huey.task()"," and configured for real workloads. Priorities (0-100, higher first) ensure urgent jobs like error alerts run before batch processing. Retries handle flakiness:",[6204,6395,6397],{"className":6206,"code":6396,"language":6208,"meta":47,"style":47},"@huey.task(priority=50)\ndef quick_add(a, b): return a + b\n\n@huey.task(priority=10)\ndef slow_io(seconds=1.0): time.sleep(seconds); return f\"slept={seconds}\"\n\n@huey.task(retries=3, retry_delay=1, priority=100)\ndef flaky_network_call(p_fail=0.6):\n    if random.random() \u003C p_fail:\n        raise RuntimeError(\"Transient failure\")\n    return \"OK\"\n\n@huey.task(context=True, priority=60)\ndef cpu_pi_estimate(samples=200_000, task=None):\n    # Monte Carlo pi approx\n    inside = sum(1 for _ in range(samples) if random()**2 + random()**2 \u003C= 1)\n    est = 4.0 * inside \u002F samples\n    return {\"task_id\": task.id if task else None, \"pi_estimate\": est}\n",[6195,6398,6399,6404,6409,6413,6418,6423,6427,6432,6437,6442,6447,6452,6456,6461,6466,6472,6478,6484],{"__ignoreMap":47},[6212,6400,6401],{"class":6214,"line":6215},[6212,6402,6403],{},"@huey.task(priority=50)\n",[6212,6405,6406],{"class":6214,"line":48},[6212,6407,6408],{},"def quick_add(a, b): return a + b\n",[6212,6410,6411],{"class":6214,"line":6226},[6212,6412,6234],{"emptyLinePlaceholder":88},[6212,6414,6415],{"class":6214,"line":85},[6212,6416,6417],{},"@huey.task(priority=10)\n",[6212,6419,6420],{"class":6214,"line":84},[6212,6421,6422],{},"def slow_io(seconds=1.0): time.sleep(seconds); return f\"slept={seconds}\"\n",[6212,6424,6425],{"class":6214,"line":6242},[6212,6426,6234],{"emptyLinePlaceholder":88},[6212,6428,6429],{"class":6214,"line":6248},[6212,6430,6431],{},"@huey.task(retries=3, retry_delay=1, priority=100)\n",[6212,6433,6434],{"class":6214,"line":6254},[6212,6435,6436],{},"def flaky_network_call(p_fail=0.6):\n",[6212,6438,6439],{"class":6214,"line":6260},[6212,6440,6441],{},"    if random.random() \u003C p_fail:\n",[6212,6443,6444],{"class":6214,"line":6266},[6212,6445,6446],{},"        raise RuntimeError(\"Transient failure\")\n",[6212,6448,6449],{"class":6214,"line":6272},[6212,6450,6451],{},"    return \"OK\"\n",[6212,6453,6454],{"class":6214,"line":6278},[6212,6455,6234],{"emptyLinePlaceholder":88},[6212,6457,6458],{"class":6214,"line":6284},[6212,6459,6460],{},"@huey.task(context=True, priority=60)\n",[6212,6462,6463],{"class":6214,"line":6368},[6212,6464,6465],{},"def cpu_pi_estimate(samples=200_000, task=None):\n",[6212,6467,6469],{"class":6214,"line":6468},15,[6212,6470,6471],{},"    # Monte Carlo pi approx\n",[6212,6473,6475],{"class":6214,"line":6474},16,[6212,6476,6477],{},"    inside = sum(1 for _ in range(samples) if random()**2 + random()**2 \u003C= 1)\n",[6212,6479,6481],{"class":6214,"line":6480},17,[6212,6482,6483],{},"    est = 4.0 * inside \u002F samples\n",[6212,6485,6487],{"class":6214,"line":6486},18,[6212,6488,6489],{},"    return {\"task_id\": task.id if task else None, \"pi_estimate\": est}\n",[22,6491,6492,6493,6496,6497,6500,6501,6504,6505,6508],{},"Principles: Assign high priority + retries to unreliable external calls (APIs, DB writes). Use ",[6195,6494,6495],{},"context=True"," to inject ",[6195,6498,6499],{},"task"," object for metadata like ID—avoids re-fetching from storage. Common mistake: Forgetting ",[6195,6502,6503],{},"utc=True"," leads to timezone bugs in scheduling. Test with ",[6195,6506,6507],{},"task(blocking=True, timeout=5)"," to simulate sync calls.",[22,6510,6511],{},"Before: Naive functions crash on failure. After: Retries succeed 40% of flaky calls; priorities order mixed queues correctly.",[17,6513,6515],{"id":6514},"prevent-races-with-locks-and-orchestrate-pipelines","Prevent Races with Locks and Orchestrate Pipelines",[22,6517,6518],{},"Locks serialize critical sections, e.g., daily syncs:",[6204,6520,6522],{"className":6206,"code":6521,"language":6208,"meta":47,"style":47},"@huey.lock_task(\"demo:daily-sync\")\n@huey.task()\ndef locked_sync_job(tag=\"sync\"):\n    time.sleep(1.0)\n    return f\"locked-job-done:{tag}:{datetime.utcnow().isoformat()}Z\"\n",[6195,6523,6524,6529,6534,6539,6544],{"__ignoreMap":47},[6212,6525,6526],{"class":6214,"line":6215},[6212,6527,6528],{},"@huey.lock_task(\"demo:daily-sync\")\n",[6212,6530,6531],{"class":6214,"line":48},[6212,6532,6533],{},"@huey.task()\n",[6212,6535,6536],{"class":6214,"line":6226},[6212,6537,6538],{},"def locked_sync_job(tag=\"sync\"):\n",[6212,6540,6541],{"class":6214,"line":85},[6212,6542,6543],{},"    time.sleep(1.0)\n",[6212,6545,6546],{"class":6214,"line":84},[6212,6547,6548],{},"    return f\"locked-job-done:{tag}:{datetime.utcnow().isoformat()}Z\"\n",[22,6550,6551,6552,6555],{},"Key: Lock key (",[6195,6553,6554],{},"\"demo:daily-sync\"",") is global; concurrent enqueues wait. Expires implicitly on success\u002Ffail.",[22,6557,6558],{},"Pipelines chain tasks dependently:",[6204,6560,6562],{"className":6206,"code":6561,"language":6208,"meta":47,"style":47},"fetch = huey.task()(lambda seed: random.randint(1,100))\ntransform = huey.task()(lambda x, scale: x * scale)\nstore = huey.task()(lambda x: {\"stored\": x})\n\npipeline = (fetch.s(7).then(transform.s(3)).then(store.s()))\nhuey.enqueue(pipeline)\n",[6195,6563,6564,6569,6574,6579,6583,6588],{"__ignoreMap":47},[6212,6565,6566],{"class":6214,"line":6215},[6212,6567,6568],{},"fetch = huey.task()(lambda seed: random.randint(1,100))\n",[6212,6570,6571],{"class":6214,"line":48},[6212,6572,6573],{},"transform = huey.task()(lambda x, scale: x * scale)\n",[6212,6575,6576],{"class":6214,"line":6226},[6212,6577,6578],{},"store = huey.task()(lambda x: {\"stored\": x})\n",[6212,6580,6581],{"class":6214,"line":85},[6212,6582,6234],{"emptyLinePlaceholder":88},[6212,6584,6585],{"class":6214,"line":84},[6212,6586,6587],{},"pipeline = (fetch.s(7).then(transform.s(3)).then(store.s()))\n",[6212,6589,6590],{"class":6214,"line":6242},[6212,6591,6592],{},"huey.enqueue(pipeline)\n",[22,6594,6595,6598,6599,6602],{},[6195,6596,6597],{},".s()"," creates signatures; ",[6195,6600,6601],{},".then()"," wires output-to-input. Principle: Use for ETL (extract-transform-load); fails fast if upstream errors. Mistake: Mutable shared state breaks isolation—pass data explicitly. Quality check: Pipeline result holds final output; intermediates queryable via ID.",[17,6604,6606],{"id":6605},"schedule-one-offs-periodic-jobs-and-heartbeats","Schedule One-Offs, Periodic Jobs, and Heartbeats",[22,6608,6609,6610,6613,6614,6617,6618,6621],{},"Delay execution: ",[6195,6611,6612],{},"task.schedule(delay=3)"," or ",[6195,6615,6616],{},"eta=datetime",". Revoke with ",[6195,6619,6620],{},".revoke()"," before run.",[22,6623,6624],{},"Periodic via crontab:",[6204,6626,6628],{"className":6206,"code":6627,"language":6208,"meta":47,"style":47},"@huey.periodic_task(crontab(minute=\"*\"))\ndef heartbeat_minutely(): print(\"Minute tick\")\n",[6195,6629,6630,6635],{"__ignoreMap":47},[6212,6631,6632],{"class":6214,"line":6215},[6212,6633,6634],{},"@huey.periodic_task(crontab(minute=\"*\"))\n",[6212,6636,6637],{"class":6214,"line":48},[6212,6638,6639],{},"def heartbeat_minutely(): print(\"Minute tick\")\n",[22,6641,6642],{},"Sub-minute simulation with timer (not native Huey):",[6204,6644,6646],{"className":6206,"code":6645,"language":6208,"meta":47,"style":47},"TICK = {\"count\": 0}\n@huey.task()\ndef heartbeat(): TICK[\"count\"] += 1; print(f\"tick={TICK['count']}\")\n\ndef start_seconds_heartbeat(interval=15):\n    def _tick():\n        if running: huey.enqueue(heartbeat.s())\n        threading.Timer(interval, _tick).start()\n    _tick()\n",[6195,6647,6648,6653,6657,6662,6666,6671,6676,6681,6686],{"__ignoreMap":47},[6212,6649,6650],{"class":6214,"line":6215},[6212,6651,6652],{},"TICK = {\"count\": 0}\n",[6212,6654,6655],{"class":6214,"line":48},[6212,6656,6533],{},[6212,6658,6659],{"class":6214,"line":6226},[6212,6660,6661],{},"def heartbeat(): TICK[\"count\"] += 1; print(f\"tick={TICK['count']}\")\n",[6212,6663,6664],{"class":6214,"line":85},[6212,6665,6234],{"emptyLinePlaceholder":88},[6212,6667,6668],{"class":6214,"line":84},[6212,6669,6670],{},"def start_seconds_heartbeat(interval=15):\n",[6212,6672,6673],{"class":6214,"line":6242},[6212,6674,6675],{},"    def _tick():\n",[6212,6677,6678],{"class":6214,"line":6248},[6212,6679,6680],{},"        if running: huey.enqueue(heartbeat.s())\n",[6212,6682,6683],{"class":6214,"line":6254},[6212,6684,6685],{},"        threading.Timer(interval, _tick).start()\n",[6212,6687,6688],{"class":6214,"line":6260},[6212,6689,6690],{},"    _tick()\n",[22,6692,6693,6694,6697],{},"Principle: Crontab for cron-like reliability; timers for demos. Consumer must have ",[6195,6695,6696],{},"periodic=True",". Trade-off: SQLite polls efficiently but locks on high-frequency schedules.",[17,6699,6701],{"id":6700},"run-multi-worker-consumer-and-validate-full-system","Run Multi-Worker Consumer and Validate Full System",[22,6703,6704],{},"Launch threaded consumer (Colab-friendly):",[6204,6706,6708],{"className":6206,"code":6707,"language":6208,"meta":47,"style":47},"consumer = huey.create_consumer(\n    workers=4,\n    worker_type=WORKER_THREAD,\n    periodic=True,\n    initial_delay=0.1,\n    backoff=1.15, max_delay=2.0,\n    scheduler_interval=1,\n    check_worker_health=True,\n    health_check_interval=10,\n)\nconsumer_thread = threading.Thread(target=consumer.run, daemon=True)\nconsumer_thread.start()\n",[6195,6709,6710,6715,6720,6725,6730,6735,6740,6745,6750,6755,6759,6764],{"__ignoreMap":47},[6212,6711,6712],{"class":6214,"line":6215},[6212,6713,6714],{},"consumer = huey.create_consumer(\n",[6212,6716,6717],{"class":6214,"line":48},[6212,6718,6719],{},"    workers=4,\n",[6212,6721,6722],{"class":6214,"line":6226},[6212,6723,6724],{},"    worker_type=WORKER_THREAD,\n",[6212,6726,6727],{"class":6214,"line":85},[6212,6728,6729],{},"    periodic=True,\n",[6212,6731,6732],{"class":6214,"line":84},[6212,6733,6734],{},"    initial_delay=0.1,\n",[6212,6736,6737],{"class":6214,"line":6242},[6212,6738,6739],{},"    backoff=1.15, max_delay=2.0,\n",[6212,6741,6742],{"class":6214,"line":6248},[6212,6743,6744],{},"    scheduler_interval=1,\n",[6212,6746,6747],{"class":6214,"line":6254},[6212,6748,6749],{},"    check_worker_health=True,\n",[6212,6751,6752],{"class":6214,"line":6260},[6212,6753,6754],{},"    health_check_interval=10,\n",[6212,6756,6757],{"class":6214,"line":6266},[6212,6758,6287],{},[6212,6760,6761],{"class":6214,"line":6272},[6212,6762,6763],{},"consumer_thread = threading.Thread(target=consumer.run, daemon=True)\n",[6212,6765,6766],{"class":6214,"line":6278},[6212,6767,6768],{},"consumer_thread.start()\n",[22,6770,6771,6772,6378,6775,6378,6777,6780],{},"Demos enqueue mixed tasks, block for results, test retries (flaky succeeds after 3 tries), locks (3 jobs serialize), pipelines (7 -> 21 -> stored), schedules (delay+revoke). Print events: Reveals ",[6195,6773,6774],{},"task_enqueued",[6195,6776,6377],{},[6195,6778,6779],{},"retrying",".",[22,6782,6783,6784,6787],{},"Shutdown: ",[6195,6785,6786],{},"consumer.stop(graceful=True)"," drains queue. Mistake: Abrupt kill loses in-flight tasks—graceful waits for completion.",[6789,6790,6791],"blockquote",{},[22,6792,6793],{},"\"We start a threaded consumer inside the notebook to process tasks asynchronously. We enqueue tasks, test retries, demonstrate scheduling and revocation, execute pipelines, and observe logged signals.\"",[22,6795,6796],{},"Quality: Events log confirms ordering, retries; results match expectations (pi ~3.14, locked tags sequential).",[17,6798,6800],{"id":6799},"scale-to-production-from-notebook-to-deployment","Scale to Production: From Notebook to Deployment",[22,6802,6803,6804,6807],{},"Notebook proves concepts self-contained. Production: Run consumer as service (Docker, systemd), shared SQLite (enable WAL: ",[6195,6805,6806],{},"PRAGMA journal_mode=WAL;","), monitor DB size\u002Fgrowth. Extend: Multiple DBs per app, migrate to PostgresHuey for sharding. Fits indie\u002FSaaS backends needing async email, reports without Redis ops overhead.",[6789,6809,6810],{},[22,6811,6812],{},"\"Through this approach, we gained a clear understanding of how to use Huey to manage background workloads efficiently and extend this architecture to real-world production deployments.\"",[22,6814,6815],{},"Prerequisites: Python threading knowledge; post-DB basics. Practice: Copy notebook, add your tasks, scale workers=8, measure throughput.",[17,6817,6023],{"id":6022},[5891,6819,6820,6830,6841,6854,6865,6880,6883,6886],{},[5894,6821,6822,6823,6825,6826,6829],{},"Initialize ",[6195,6824,6201],{}," with ",[6195,6827,6828],{},"results=True, utc=True"," for persistent, timezone-safe queues—no Redis needed.",[5894,6831,6832,6833,6836,6837,6840],{},"Always attach ",[6195,6834,6835],{},"@huey.signal()"," handlers for full lifecycle logging; query ",[6195,6838,6839],{},"EVENT_LOG"," to debug races\u002Fretries.",[5894,6842,6843,6844,6378,6847,6378,6850,6853],{},"Set ",[6195,6845,6846],{},"priority",[6195,6848,6849],{},"retries=3",[6195,6851,6852],{},"retry_delay=1"," on flaky tasks; higher priority pulls them forward in queues.",[5894,6855,6856,6857,6860,6861,6864],{},"Use ",[6195,6858,6859],{},"@huey.lock_task(unique_key)"," for mutexes; pipelines with ",[6195,6862,6863],{},".s().then()"," for dependent workflows.",[5894,6866,6867,6868,6871,6872,6875,6876,6879],{},"Schedule via ",[6195,6869,6870],{},"delay","\u002F ",[6195,6873,6874],{},"crontab","; revoke pending tasks; run ",[6195,6877,6878],{},"workers=4, periodic=True"," consumer threaded.",[5894,6881,6882],{},"Gracefully stop consumers; test blocking calls with timeouts to validate end-to-end.",[5894,6884,6885],{},"Common pitfall: Shared mutable state—pass args explicitly; monitor DB locks under load.",[5894,6887,6888],{},"Production tip: WAL mode for SQLite concurrency; start with notebook, deploy via supervisor.",[6789,6890,6891],{},[22,6892,6893],{},"\"By doing this, we establish a lightweight yet production-style task queue setup without external dependencies.\"",[6789,6895,6896],{},[22,6897,6898],{},"\"We track execution details, including task IDs, arguments, and exceptions, to improve observability.\"",[22,6900,6901,6902],{},"Full notebook: ",[6903,6904,6905],"a",{"href":6905,"rel":6906},"https:\u002F\u002Fgithub.com\u002FMarktechpost\u002FAI-Agents-Projects-Tutorials\u002Fblob\u002Fmain\u002FDistributed%20Systems\u002Fhuey_async_tasks_Marktechpost.ipynb",[6907],"nofollow",[6909,6910,6911],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":47,"searchDepth":48,"depth":48,"links":6913},[6914,6915,6916,6917,6918,6919,6920],{"id":6189,"depth":48,"text":6190},{"id":6385,"depth":48,"text":6386},{"id":6514,"depth":48,"text":6515},{"id":6605,"depth":48,"text":6606},{"id":6700,"depth":48,"text":6701},{"id":6799,"depth":48,"text":6800},{"id":6022,"depth":48,"text":6023},[55],{"content_references":6923,"triage":6929},[6924,6927],{"type":78,"title":6925,"url":6926,"context":67},"Huey","https:\u002F\u002Fgithub.com\u002Fcoleifer\u002Fhuey",{"type":63,"title":6928,"url":6905,"context":67},"Full Coding Notebook\u002FImplementation",{"relevance":84,"novelty":85,"quality":85,"actionability":84,"composite":5964,"reasoning":6930},"Category: AI Automation. The article provides a detailed, step-by-step guide on building a production-ready task queue using Huey and SQLite, addressing practical automation needs for developers. It includes specific code examples and configurations that the audience can implement directly in their projects.","\u002Fsummaries\u002F67f50b3dc45a432f-build-prod-ready-huey-task-queue-with-sqlite-summary","2026-04-17 20:18:31","2026-04-19 01:22:39",{"title":6178,"description":47},{"loc":6931},"67f50b3dc45a432f","MarkTechPost","https:\u002F\u002Fwww.marktechpost.com\u002F2026\u002F04\u002F17\u002Fa-coding-guide-to-build-a-production-grade-background-task-processing-system-using-huey-with-sqlite-scheduling-retries-pipelines-and-concurrency-control\u002F","summaries\u002F67f50b3dc45a432f-build-prod-ready-huey-task-queue-with-sqlite-summary",[6208,99,101,102],"Step-by-step code to create a self-contained background task system using Huey + SQLite: handle retries, priorities, pipelines, locking, scheduling, and monitoring—all runnable in a Colab notebook without Redis.",[101,102],"rn09DXi3mInjlTZtRAN7VEa1krjWE4UzDMI0pNgjZIk"]