:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;::;;;;;;;;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:;;;;;;;;;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::c:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::c::c:::c:cc:::::c::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::c:cccccccccllodddddxdOxxxxxkxxxxkOxxdxddddoollcccccccccc:::c:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::ccc:::::c:c:c:cccccccclododdk0kkxxxdxddox0kOdkokoOoxoddOdOoOdOxkkKOOxxddlccccccccccccccccccccccc::c::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::c::::c:::ccc:c:cc:ccccccccccccccccclddddxxxddoookOxxddoddolokkkOdkdkxxdxdxxkxxxxxxxdkOkOxOxxOkkkOxdlcccccccccccccccc::ccccccc::cccc:c::::c:c::cc:c:::::c:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::ccc::c:cccc:::cccc::ccc:ccccccc:cccccccccccccccccccccloooxlkOxddolocccxO0OOxOdkdolkOkkKO0x0kxxkxOOKO0OOKkxkOk0kOdkdxxOoO00kkxdoccccccccccccccccccccccccccccccccccccccc:ccccccccccccc:::::c::c:c:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ccccccccccccccccccccccccccccccccccccccccccccccccccccoooddooloclkOOxxxdoclcdOk00kkxxokdkOkkKx0x0kkkxxK000OKk0kOdK0XOK00KO0dxO0kkkOxOkxkxocccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:::c::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ccccccccccccccccccccccccccccccccccccccccccccccccclllxkdoolc::llkk0OkxdlooolOx0O0xkxkkxkOkOKk0O0OOOxOKKOKOKOKOdOKKKKOXOXOOxKKX0OOdxkOd00OOxdlcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:c:cc::c::::::::::::::::::::::::::::::::::::::::::::::::::
ccccccccccccccccccccccccccccccccccccccccccccclllllcolxkdolclclloOx0Oxdodxdokx000Okk0OOOKk0000O00O000XXKX00XKOx0KNKXK0XOKxO0XKXKKXKKkx00O0kkkxdlcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:cc:ccccccc:ccccc::::::::::::::::::::::::::::::::::::::::
cccccccccccccccccccccccccccccccccccccccccclllcccc:ccxlOOolodollckdk0OddxOOkOkkKO0kxxddkdOxxxkdxOkddkOkxxkOOkkOOKKKKXXXK0OKXKNKKKKKO0XXKOxxO0Od0Kkocccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:c:c:cc:::::::::::::::::::::::::::::
ccccccccccccccccccccccccccccccccccccccccl:ollc::clloxolkkoddddolxxx00OxddooxoOOOkkxxdokkOxkxxdxxkkx0KkOOOkOkxxkKkOOdkxkX0XNNXXXXKO0XXXNXXKkkOkKX0kxocccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:c:::c::::::::::::::::::
cccccccccccccccccccccccccccccccccccccc:::::dlcccllllkllcdOxxxxxxOdlOOkkddolkoOxO0OOxxdk0kkOOkxkkxOO0KOK0K0kkk00K0kOkxxx0kxxOO0XKK0XNXXXXXXXKk0O0K0kxxdlcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:ccc:cc:::c::::::
ccccccccccccccccccccccccccccccccccccc:::::::lc:cclloxlcclk0kxdllddlOdOOOdodkdxd0O00kkxOKkOOOkxkOkkOKXKK0k0kx00K0K0K0OxK00Ok0xxdd0XKNWNXXXX00XNXKkk00kk0Oocccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:::
ccccccccccccccccccccccccccccccccxdlcccc::::::cocclllxocldodOkoolokokokOOkdxOOxdk0O00kkKkk0OkOOOOOOOKXKKKOkOkKK0K0OK0k00X00KKK0xk00kkOKXNN0KXNNXXXKOkO00kOdcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccccc;;doooocccc::::codoooxclolllk0koddkxoookkOOxO0ddd0OO0OOKkOOOOOOOkxxkKKOOOKKOOKX0O000O00K0K00000OKXKOxKOkx0XNXNNXNNNX000KKxkklcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
ccccccccccccccccccccccccccccc:;;;;dllcoooc::::coxkclxllkoooldk0xdkOolooOkkOOKxox00kOxKk0OOO0kxddook00kkxxxOOOKKK000OKXKXK0OKO0KXXXXKKkkkXX0KNWNNNKKXNKkOXOxOxllccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccclcclc;;;;;;;:d:::clollcc::ldocxokdooolldxkxOOllodkOxk00xxxdkkkxkOkdkkxkkkxxdkK0kkOxxd0k0kKOOK00KXX0KO0OXXXXKXKKOON0OK0kOXNXXNNNNXOkXO0XKlccclclccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccclcclcclcccclclllc:oc;;:::;;:x::coolcooocclxlkddoolloooxkkO0dxxddxkxxkdoookxxxxldkOOxxdOOkxkK0OkxxdOxxxO0OkkK00O0OOOKKXNXXXKK0XNX0OkKKk0KKNWNNNNNK0KXXkkllllllllcclccllcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
llllclllllllcclllllllllc;,;cc:;::::::d::odccllcodoldOOxddkxxdlclod0kdooxokdxOdllldkxxddxxdkOOkxxxd0XOkOOkx0O000kdxkOxkkk0k00O0KXN0OKXXXKXNXX0OXK00NWNNNXKKOXXOxklllllllllllllllllllllllcllllcccccccccccclccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
llllllllllllllllllllll:,,;;:o:::;:::;ld::d:c::::clllxodooclccloloxoxxxxdodOkkOolookxddookxOxxkOkkxKXO0O0O00K00kxx000kOkxdkO0KK0OOOOXXXXKNNX0XKKKXOOXXKKKXNNO0XxkOolllllllllllllllllllllllllllllllllllcllllllllccclllcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
llllllllllllllllllllc:,,;;;;;l:clc;:::oo:ol::c::::lo:olclllllloloodlolkkxdx0kOxoldxxllooxkkkxdoooOXNK0OOOKKOKOxx000OKOOxkOOOxkkkO0K0O0KXXXXXNXWKKX0OXNXXNNNXk0KKN0lllllllllllllllllllllllllllllllllllllllllllllllllllllllllclllllllcclcccccccccccccccccccccccccccccccccccccccccccccccccc
lllllllllllllllllllc:;,,;;;;;;c:;coo;::docl:::cccoc::collddclldoollxoddooxkOOk0xdkxxddddkdokddoookO0kkkkkkO0O0k00OO0KKkOOKKKOOO0OkOOkddKKKXKXNNK0OOXKOXWWNWNN0NNOkolllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllcccccccccccccccccccccccccccccccccc
lllllllllllllllllll;,;;;;;;;;;;::;;lol::dll::::ldl:::ccoccldoodolllldxxddxxO0OkxOkooddxkddxdkooloOO0xxxxOkOkOO0OOOO0000K0KXK0O00KKOOOxxkx0KKX0K00K0OKOkXWNX00XKXOxxllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllclccccccccccccccccccccc
llllllllllllllllll:,,,;:;:;;;;;;;;;:d:ll:xkc::dd::::;::clc:cxkdooooddxolokxxdooxOdooooldkxdddxdlo00OxkkkkkOkxkk0O0OkkKKKK0K0KX00XX0000kkOx0K00NXKXX00K0XNKKNXWkO0xkdllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllcccccc
lllllllllllllllllc,,,;;;l;;;:::,,;::xc:::c0dcoc::::::::::c::lokdddoooddodooxlooxdkxooollodddddxldKK0OOO0OkkkkkkkkkkOO00OOOO0KKKKNXKKOKXkkKK0O0XNXXNNK0KKXXNNWNX0KKN0llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllll:;,,,;;;;lc;;:c:;;;::o:;;:lOkdddooolllolllllxdddddolooxdooddookddodkkolllloxkkkxx0KKKXKOkkkOO0OOkOOkx0Oxk000kkOO0K0OK0OkKKK0kkKKNNNX0XKKkKNNNNK0XKkxllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
llllllllllllllll:,;;;,,,;;:;;,,:;:c:c:;;;;cll::::;:::::::cccoc:cooxolldxooxdookoddxkOO0xxdddoocdxNKOOOO0K00KXK000kkkk0kxkOOOOk0O0k0000KKOkKKkxONXX0XNN00x0NX0000KOxxolllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
olllllolllolooll;',;;;;;,,,;;;;;:;:lloc;;c:;ld:::::c;;;;c::ccll::lcdxllxdkxxkkOkkxxOxxdOkdloloxxOXKkkkOO000OXXXXK0k0000O00OkOkkXddkOKKXXN0O0K000XXXNKXX00NNXXKNO0kxkooooooooooollllollllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
oooooooooolloooc,,,;;;,;;;;;';;;c;;;;:dc:;;;:ol:::;:c::c::::::coc:lclOOkdxxkxkdddxxOOxxxdxkoxkxxKXKKkxk0000K0OOOO00K00XKKK0kxxXO0xdkKX00K0kOkOxd00K0NXO0XKKKNXN000XKoooooooooooooooooooooooolooooooollolllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
ooooooooooollll:,',,;;;;,,:;;;:l;:;;;;:ooc:;;;:c::;;;:c:lllc::::ll:dlodxxxdokxdoddddOooclok00Oxx0XKNX0xO0OOKK0OOOkkkxkXKXXO00Kkkkk0OkKK00OkxxkkxOXKK0KKKKOONXNKOXXkdoooooooooooooooooooooooooooooooooooooooooooooolooooolllloollllllllllllllllolllllllllllllllllllllllllllllllllllllllll
ooooooooooooooo:,,,,,,;;;;,,,:ccc:;;;c;,;;::::;lc;;;::::::::::::;cdllcxokXNO0kkxollcoklkO00OO0OkkXXWNNX0odO0xdxOO000O00OOXKOOOkk0K0OkOK0000OO0kOk0KKKNKkKkXN00OOKxxoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooloooooooolllllolllllllllllllllllllllllllllllllllllll
oooooooooooooooc;,;;;,,,;;'';,,;:ol:;;,;;;;;:c::cc::;;:::::::::;:cclldokkX000KKKOOkx0KOXOkxkkkxk00KXXXXK0OKKK00KXNNWWX0xkkkNOxOOkkOOOx0K0OK0kkOkxOKXKK000KXK0000xddooloooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooloooooloolollllllllllllllllllllllll
oooooooooooooooc;,,,;;;;;;,';,,,,;:c:;cclc::c::;:cllc::::::::;:cc:::cldkkXKK0O0NNNX000xKN00OOOk0KKK0WMMWNNXNNWWWWWNNNKKkXOX00K0OkdkkOkxOOOkOkk0K0O0XXKkKKKK0XXOkOOddddooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooolllolllllllllll
ooooooooooollooc:',,,;,;;;';,;,,;;,:c',;;;;;;;;;:;;c;:llloollooc:;;::;cxKXKNWMNXXXNW0XOKK0OOO0koxOxxONNWWWXWMMMMMMMMMWKXXXK00K0kkxxOOxd0K0OK00kOOkk0OKXN0OKKKO0kxdoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooool
ooooooooooollool:;,,;;;;;;,,;;,;;,,;lc,,,,,,,,;;,;;:l;;;;;;;ccdkdolc:;;lod0NWXXXXNK00KO0KOOkOklloKoloONWWNNNNNNWWMMMMMXNXXK000O0OkkO00O0XKOOkO0kOK00K0Ox0XK0Okxddooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooc:,,,;;;;;,,;;;:;;,,,:;;;;,;;:,.',,;cx:;;;:c;;;;::;;;;;clollookKNNNN0XOkK0kc;;;;co:::;:kNNNNMMMWWNNWWWNXXXKK00KK0OxkOOxx0O0kxkxxkkOOOkdO0KK0kkddoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooolc,,;;,,,;;',,;;;;;,''c;,,,;c,;:;,,,,;x;;::,,,,;,,,:c:;clc;'..',;cldxkkdxOkkolccxOdolc:cd0XKNNNXK0OoxKXXKKOkkxO0kkxxkdxOOKK0OxxOkkxkxOOKXKK0k00doooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooocc',,;;,,;,'',;,,,:;;,:,,:o,c,,;;,,,;;cc:;;;;::ccccccccl,..'',,;;;:c:;c:;;;:cddxKxxcccc:llokdolc::,,lOKKkkddkO0OxddxkOOKKXKOxdxxkOkO00K0Oxkkxddoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ddooodoodddodddodo:;,,,,;;,,',,;,,,,,';;:ccllo;',;:::,,;c;',;:cccccccl::o,'',;;:cc:;',,;o:ldOkoldKOKXkccdc,,:oxdllc;;lkXKKO0OOO0O0dxkx0xooodkkxkk000kk0xddkxddddddddddodddoddddoddddddddodooooooododoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ddddddddddddddddddocc,;,,,,;;,,,;,,,,,';;cccol;,.',,;cc,,o:';:cccccllc::d,,;:cc:''',,;;lxOkdlc:cOWocd0XKl:;',,;okxoc:o0WNKXKlloOlxkOOxoodoodk0kO0kllkOlok0xdddddddddddddddddddddxxxxxxxxxxxxxxxxxxxddddddddddddddoodoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
dddddddddddddddddddocc',;;;,;;,,;,,,;;,'',c,;:::;,,,,,::;,l;,:cccclccc::o;cc::',,,,;lxOOxollccdxkW0c:xk0XKd;,.',,cxdloKWWNXKdcddl00xcloodlokkkOkdodk0okOK0xddddddddddddddxxxdddkdoolokkdddooxxxxdxkkkkkxxxxddddddddddddddddddddddddoooodoooddooooooooooooooooooooooooooooooooooooooooooo
ddddddddddddddddddddocc'',,,,,;;;;;,,,,'.';c,,,,;;;:c:;;;:;:;:::cccccc:clc:ll:;,:dxOOxxOoollodxxkWXxxkkkkOXXd....,;lxd0MMMNWOlOkXKokllxxxkxkdlldkd0Od0OkdddddddddddddddlkdooclxOxdoldOkkxxxkOkkxkOOkkkdkOxdkxkxddddddddddddddddddddddddddddddddddddddoddooddoooooooooooooooooooooooooooo
ddddddddddddddddddddddl;;,,,,,;,,;;;,,,''.',::,,,''',,:,,;;;;;:cc:;,'..;l'',;coookdxddd0kkOOxxxkxOKOkkkkkkkOKXd;;;:clxdOXWMXX0K0okx0kkdocclocllokOXKKkdddddddddooldoccclxOxlooxkkxxoxkOOOkkO0OOKk0K0Okk0K00dkOxkxkxddddddddddddddddddddddddddddddddddddddddddddddddddddodoooooddoooooooo
dddddddddddddddddddddddocl;,,,,;;,,',,,,,,'',,',,','.',,''......... . .cOo,;lxxxxdldOkxOXkkkxxkxo;cOxxxxxxxxkd0Nk:';x0::lod0KKKkodxkclodlllxcdokxkNKxddddddollc:colxlooloxkddddxkxdldxxxdxoOxxxxkOOOkk0KKKO0KK0OxOOxxdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoo
dddddddddddddddddddddddddllc,,,,,;;;,,,',;;;'',,,,,,,':kxl:;,,;:'......l0Kkkdc,:lodoxododXXOxodxo;;kddddddddo.;l0NKx0XdodloOkxdkdddKcclol::ddxxx0Kxdddddoc:;:cclcoccxxdoodkxdldxkOxlxkxdxxkOOOkxOOkkd0xkxx0KXK00XKOOkOxddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
ddddddddddddddddddddddddddoc:;,,,,,,,,,,,,,,,,,;;;;'''';;oo;;,;:dkxdl;.'0OkxOkxOkoxOO0ddddk0xdoOd;:Oddddooooc,:;oXXXKOdxkkkooddx0OOKoldooddolk00xddddollc:::::lclocclkdccddkkddkkkOoOxxxxkkKKOkOOkkk00O0k00xkkKXXXXK0Okkxddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
dddddddddddddddddddddddddddddl::;,,,,;''.',,,,'',,,,,,''.lo:,,;,0WNNxO',0k0OOxxOkxkO00OkodkOKKxOo,:NWNWMWWWWNNNWNWMW00lN0ooodclddOxkOdooccxdOOxddddl:;;ccccc:::dllcollxxlxooxOkkxkxx0kxxdodOxdxkOOkOKOOO0KK0k0OO0XKXXK000xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
ddddddddddddddddddddddxddddddddollc;;,;;,,'','''',''';lc:ld::;:;xxoOkXc'ox0000kdooooooooddodokodl,;kxxkOOOOO00XK0K00Od'MXxdoloddx0dloococdxkxxdddcc;;;;;c:cclcc:loolllcddxoddddxoxdddxxdxdx0xoxxkkkOkkkO0KO0KKK0O00XXXX0Okxddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
xddddddddddddddxxxxxxxxxxdxxxxxxxdll::,,,;,,,''',,,''lddxxxcodddllONOXx,clxOkxl,.';:cccloxxdoxkl:':xoooc:;;::cld0XWXkc,XXNXxddkK0koodkkxxkxxxxdl;,;:c;;;;l:c;::ccddllcccloddoxddcdooodddodO0xxOOxxkkddxOOkOOKKKKX00KKNNX0Kkddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdolcc;,;;,,'''','cdoooxcdddxcokK00Kk,o00kdxXkc;,,:ldXXXXXXOc:.oNNXNNXXXkokXMWX0xc,kXKXNccokK0dccoxkdxxxxxd;,,;;;:;::;:lc;;;:c:cclclclolloxkdollloddlldk0kkOkxOOkkOOkx0Oxxk0OKK0OxXXXKOkxdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdooc:c;,;,,'',,lc:cxkWWNNOdOk0KXXd,.:oodoloooc:;dK00KK0dlc.dXKKKKK0KNMWK0OdkdoKXMXXXcdxOO0o:;cxkxxxxxd;,,;;;,;;;:c::l:;lc;;;c:oollloooxoodoloxooockdkdxxxkkkkOOOKOKOkkxkOKXNXk0NNXKKkxxxxxddxxxxdxdxxdddddddddddddddddddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdoolc:,,,,:::cllodoodoo0OOKXKKXc'';d0OdlllolkO0000kllc.kK0000000XOOkl::coXXXNKOXOkOKX0KXXXXkxxxxo,,,,;:;;;;;;c;;cdoc::;;,;cdoololllllodocclodokOOkdxxxdxkkkkkOOOOkk0x0XKKKOXK0Kxxxxxxxxxxxxxxxxxxxxxxxxxxxddddxddxddddddddddddddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdol::;:;;'''..;:;;::xOkO0kkdo;;,cxXXo,cokOOOOkooo:.OOOOOOOO0XOl:c;:dXWX00kKOOONkddddxxxxxxxd,,;,,,,,,,;;::,;::l:c:::ccclclcllooodddxxdlccd0OxkkO00kOkkkxdOxx000OOkKKK00XNKK0kOkkkkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxdxddddxxxdddddddddddddddd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdoc;::cc:,,;::co:oOkkKXNWO:,,ccxKKooxxkkxdddo;'Okkkkkkk0KxdkxokWWNK0kX0OKNOxxxxxxxxxxxx;,,,,,,,,;;;,,;c:,;:;,;:l:;;;:clddooooldoccdxlxX0odxOkxddO00xxkkxO0Oxkxk0KKKXO0OkkxOOkxOOkkOkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdd
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxolllccccc:c:okdkKXOOO0ol:cccoxkdkkxkxxxxd;oOkxkkkxkkkkkxo0WNXO0KK0OKXxxxxxxxxxxxxxd',,,,,,',,;:;;:,;;;;;,c;;;;,,;cclxOkkdccdxxxkxd0K0dxkkOKKkxkOxxOkdOkkkxOKOOXXKOOOOO00OOKKOO0Ok0kxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkxxxxxkxxxxkxxxoolc:::lxxd0NO0O0xdOxxldcxkkxddoold;OOOkkkkkkkkOOxKNNKOKXXK0KNkdxxxxxxxxxxxxl',,,,,',,',,,:;::,;,:c:;:;,;;;,;lxK0O0XkxxOxddx00NX0XWWWNK0kK0xdxoOOkOOO0O0XKkk0OkOOOk0Ok0KK0K0OOOkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxkxxxxxxxkxkxxkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxdo:'oxxxdxddlddxodcxkkkdlldool0XKOOO0XXkOKKXXN0OXKXXKKNOkkkkkkkkkkkkkko',,,,,',,,,'':,,'',;,,;,,:ccl:;,:oOKNXKKkxkxkkcx:dNXXNNWWWKK0OkkOxk0kkkxkk000OkKOO00OK00KKOOKKXXKOOOxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkc,k0dodxkokxk0klOKKKOkONKx,kK0kxKKKK0x0XXKk0KKXNONNkkkkOkkkkkkkkkkkd',,,,,''',,',';,;:,,,',c;'',',,';:c:;cxOkxxkoc:dcccO0WX0kOKkkOxdox0OkxdxOkkOkdkOdxkkOOO0XKKXKOKXXXKOkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkd;:XWOoxkxcdKK0XKKKXXXXXXKXXNNNNNXNNNNXNNXXNXNXNKNkkkkkOkkkkkkkkkkkkc',,,,''',''.,;:c'.',,',:,;;;;;;;c'..',;,,:;colOkl::;l:,.:OOoddcooloxkdkkkOxdxO0O0xOOxkkxO0KKXK0KNXKOkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklx;l0WNK0kl:::c::;;;;::;:;:ldoddxxdxxxkkkkk00OX0OOkkkkkOkkkkkkkkkkkkx,',,,'',,,'''',;:,,,,;,'c;;;:::,c',;;,';lddlccKdkOl..;c:lXKcllklloxxdkdkxxdlkkOkkOkOO000OOx0XNX0XNK0OOOkkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkdd,,oXXWXklcccc:;;;;':,':,';;,::l:cldkdddxkXKXNOOOOkkkkOkkkkkkkkkkkkkx:,,,,'',,,'.'',,'',,;;,,;;::;;;c;ll:oxkdxddddO0ddkkc';cdXNOkkdkxoooxkkdloookOkxkxxkkxkOOOOO0XXKXXKKK0KOO0kkkxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxllOOkoccccccc::::;:,,:,,:;;:ccclxddxdkK0XK0KN0OOOkkkkOkkkkkkkkkkkkkkl'',,'',''''''''.''';;'..''..,x;coddodkxOddoooooocoOolx;dkxdodcoxdddxxddld0Okk0OOO0Oxxk00OOXKKXXKOO00KXKKOOkkkkkkkkkkkkkkkkkkxxkkkkkkxxxkxx
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkxlllccccccccc::::::;;:;,:;;:ccclloodddxkkX000WKO0OkkkOOOkkkkkkkkkkkkkxl;,,,'''''''','...'dol',ooc,kkkxxokO0ddOdxo,xxdccdX0xxoolokOodxkxdlddxkd00xOO00kOOkkk0OkkK0KNKO0K0K00KXX0Okkkkkkkkkkkkkkkkkkkkkkkkkkxxxxk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoccccccc:;;;;;;;,,,,;;;;;;,;;ccllloxxxxxkKKO0NX0OOkkxkOOkkkkkkkkkkkkkkxo:,','''...'''''';cl,:k0O;ckkdlodddoldkxo,kO00K0X0;XkodokdockK0XKkOkxdOKNKWWWX0KOxkO0OK0OKKOkOOOKKX0KNX0O0Okkkkkkkkkkkkkkkkkkkkkkkkxxxk
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkOkkkkOOkkOOOOOOOkOOOkOOOOOOOOOOOOOOOOOOOOkkkkkkkxo;,;::::cccoooodoooollcoxxxxkk00Ok0KOkKX0OOOOOOOOkOOOkkkkkkkkkkkkxo::,''''.'...;oOOxkl0Ok:dxoo;;;::xkOd:,odddxKKo,KXkloKoclcdkOK0kkdcl;xKNNXXK0OkkOOkkOO0O000KOO0XXKNXKXXK0Okkkkkkkkkkkkkkkkkkkkkkkkkk
kkkkkkOkkkkkkOOOOOOOOOOOkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOd::ccclldox0X0kWXOxOxkxxkOOOOOO00OkOX0OKW00OOOOOOOOOOOOOOOOOOOOOOOOOkxd::,,,'''ccloxK0k0KOl:oo::;,:000dc:K0000dlcKX0kokKOkx:,.',;::olxxc:ll'c0dodkodOkKKOOOkkk000KXXNXK0KNX00Okkkkkkkkkkkkkkkkkkkkkkkk
OkkOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOc:colokxOxkKWOkWMMXXKMWX0OOOOOOOOO0OkKKO0WXOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkdol:;:::,,',;:dOOOo:lkolcdOOxl:lOOOOkcoXKOkxOO:cc:c;:;:lodllOxko'':dNkdkkkx0OOO000OkOOOO0KXX00KXKNXKX0Okkkkkkkkkkkkkkkkkkkkkk
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx;:OOxxOkOkkKNOONWMNNMMMWNOOOOOOOOOOO0k0KO0XN0000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOkxdddllclcodO00ododdoxxddo:xxxxxodXK0OkkO,,'.'l:ooddxxkoddolddlddOOdkOxk0XNWWK0kOO0000K0000XXNXKXNKOOkkkkkkkkkkkkkkkkkkkx
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOxoONKkxoco:loooOKOO0kcxXNNNXOOOOOOOO0O0OOXKOKN00OOOOOOOOOOOOOOOOkkxkxkkkOOOOOOOOOOOOOkxxo:kdxkxkxoddkkdcl0kk0kOX000Ox0o;;dk;xkkdkO0xxkx:kkx0Kkkookxxcocd0Ox00kxOOkO00O00OKXNKXKNKXKOkkkkkkkkkkkkkkkkxl:
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO0NNkdoONxkkollxONOOO0kXNXO0XNKkkxkxOkOOO0OKKO0NK00OOOOOOOOOkdooookdkxkkOOOOO0000OOOOOOOOOc;0kxoxolddO0KkoX00KKX000XdOodclo0xckdlccccxkc:kOxKO:Xd:koookxl';:0kxkxkKXKOOO00KKK0XXNK0X0OkkOkkkkkkkkkkko:;:
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOkOkOkO0O0000000XWKo,. :OW00,.,okW'lkK0WNx0odOXNKdkxkkOO0OOO0KO0NX0O0OOOOOxclcloldxxxkkxkkOO0000KXK0OOOOOOx,cKN0l;;c::cccccoddxkxkKOdccocodO00old::;c0kcl000oc0KOo0kOddxooood0kOxOOOKOkOOk0000KX0KKX0OOOOOOOOOOOOOkl;;;;
OOOOOOOOOOOOOOOOOOOOkOkOOO000000OOOOOOOOOOOOOOOOOOOOOOOOOOOOOkdddxxkkOOO00K0KKOWXoc;....,kNXO:'lxWoON0NMkkXllddkKNKOkdkkOOO000OOOKKO00OOx:;:clclllddxoddkkkOOOOOKKXX0OOOOOOl;oxc:::;;,;,,;,::llokOKk0kddlolcoOOdldolddocoxxdlK00O00kdxdoOx0OOxd0x:cxKOOk00O00O00O0K0OOOOOOOOOOOOOOx;;;;;
OkkkOOOOOOOOOOOxdddxkkOOO000KKKKKK00OOOOOOOOOOOOOOOOOOOOOOOxolooxdkkOkOOOO0KXWWXcccc.'',,;xNKdOK0WWOoKMKdkXdc:cldx0NXkOkkOOOkOk00O0XK0Ok;;;;:cc::looddooOxkkkkO0OKKK0OOOOOOx:::;:;;;;;;;;;,,:ldxOkO0OK000OxxckOxxdodkxocOxkkK00O0x;;dkllxx0l00oOoxkkkOOdOOOkOOOOkO0OOOOOOOOOOOOOOOd;;,;;
OOkkkOOkkOOOOdlllddxkOkkkOO00KKKXXXK0OOOOOOOOOOOOOOOOOOOOOo:cldollxxkkxxOOKWWX0dclo;;.cc';ldNNNMXNNoOWM0kOXdc:ccodxxONNKOOOkOOO00XO0NK0ll:;::;::::cOOxkkKKXXOkkOOOK0OOOOOOOx;;;;;;:c:coxO0OxkxxXXK0O0OK0K0OOd,OKkdlok0Oo0OKK00XOkdllkkcdkOo00OOdkONxKokdxOOkOxkxOOOOOOOOOOOOOOOOOOOl;,,,
doollllllllol;clollddxkxxOO000000XXXK0OOOOOOOOOOOOOOOOOOOk:;:clllllxOOOkKXWWKOxcc,';:';ccllddXMMKNNOWWXX0O0kldodd0000OOXNX0OkOOkO0X0OXKkldc:o:,;;::clddlddkdOxoxkkOOOOOOOOOOl;;;;;ddodxkk0NKWNkl:xKkk00K00OOO::Od::;'',',;lox000xdoddolkxOK000Ol00o0KOKOOkxxkkOOOOOOOOOOOOOOOOOOOOOOxl;,
llllllllllll:;::::cco0OOkXKXXKOO0OKK0doddxxxxddollcclclccc:;;::cccllkKKNWXXKXkcc;.,lc:c:lll;ddKWKXNXMWNNk000locdcd:lkOkxkKX00kkO0k0K0OKXkxcco;,;;;,ccoxlxdcoOkxxkOOOOOOOOOOOOxc:;xKkOxkcoK0OOX000kkkkkOk0Okddocll:;;,,;;;:odxxO00xoldkokO00000ddxkK00KOdKKOdKxkOOOOOOOOOOOOOOOOOOOOOOOkx
ooooollllllll;;;::cccoxxxO000XOkkkOOdollllllllcccccllllllllc:;;:::;:oKNW0xdoKl:;':xllcclcccco0kKXKNNKNXW0O0NxodkdOxkOkkkOkk0KNK000OOKKO0XKkod,,;loxxdodkokOOOkkkkkxxxxddddolllooKO:;lKNxXXXKNKxOO00kxcokdkko:::::;:cldOOKK0kkOdOOklc,;,;cox0kOkOOK0K0O0K00kOO000OOOOOOOOOOOOOOOOOOOOOOOO
ooooooooooooolc:;;::cdxOkOkxOOOxdxxooololllcccllllooollllllllc:;:loxNNKOOOk0kll:okkooooolloox00kO0XNKNXNXXXKkkO000Od0OOO000OOK0OXXXlolloxk0K0dlclokkolxddOk00ko::::cccclllccccxXd::cclkKWXN0W0Ok0KO0kdclkxxOocc::cOxkxdOKKK0kdooOkxocdxxxollxxoccox0OkO0K00000OOOOOOOkkxxxxxxddddddddddo
ooooooooolllllloollxOxxdxO0O0KkddllclclclllllloooooolllllllllllcclON0NXKk0XNXXXXXXXXXXXXXNXNXXXKO0KNX0kkOXNXXKKNNNXkxddxxxdolddOOdd::cclloxdxxolllcxkdkxkO00kc:::ccccllllcc:lK0c;:ccccdxNXXXX0k000dokO0OxOOdkdllo0c:dKOXNXOcoxxclxO0xd00XklodO0KKcldkOdcxkdxkxooolc:::;:;::::::::::::ccc
oooooollcllllloodooodOxkdkO0Xxlcc:cccccclcccllclcccclllllcccccccllxdOkkxxkO0l';ccccccc'lokxddoxKNNOocc:::;':cccccldc:cldk0oc:;,ckkc:cc:cccoldl::c:::l;;,;coOxl::::::c:::::cdXk:,;cccccckOKXNNK0OkOOddlok0OOodOxOk:ccco0NKNkllcoOxOkxKKXXX:x000kKX0OO0KO00Okoxxlc:cccclclcllc::::::;:::;;
llllcc:ccccccclllcllloolcldO0dollcccllllooollllllllollclllccclcllolllxxdoooOOdlcc:cc;cc:o000OXNNkcclcc:::c:cc::::c:odxkxcoOl,,cccoxdc:::::llo:;;:::::dxOKOlcxkc;;;;::;:;;;oK0xkOOOOOOk00000X0kXX000Okdddddkd::Od:lccclOOKXOxxllkOk0OxKXXKxkcdOKKKkOKXK00KOOkldx:;;,,;,,,;,,,;,,,,,,,,,,'
cccllccclllccclllllllldk0XKxdOkolllcllccccclccclccccclcccccllc:col::lxOOXKdddOd:::;:l:::c0XNN0dclc:::ccccccc:::::lxokKNklccllcccclxx::;;;:lco::::;clxld0XOclldklc::::::;:lxddc;:;;c;coxOkK0ddkNxlddkkd;;,:oo:dOdddddxkOO0xoxkxkkdkdxkkOKO00kkxkkO000OO00KkOkkxdxlc:::cc:cc:cc:c::;;;;;;,
;;;;;;;;;;;;;;;;;;;cdkdoKWKxxdxkd;;:;;;;;;;;;;;;;;;;;;;;;;;;c::ld:llldokK0kxkxxxc;cc'::d0XXkc',;:::::::::ccllcclk0ddxkklclooolllooxOllllccooolllloxKdxxoxololdxxollllcc::clcoo,...;odxO0Oxoxddxdxxxoddllcccll:oc..coxk0OolcllokklcccoO0l:;'lod0O0kxOOklldoclocxdooolollllloolooooloooooo
clolllllllllololloooKxoodddxxxkoxoooooooooooddoooddddddddddolo' .. ';;ldxxllxxxkoo:cXNKl;xo..:xxxxxxdoxxxxxxxddKcckoxxxxl''''''',,:cddddxxkdddxdlK:odlddddo;xodddooooc;...;l, ;k00o;,:.clclllll,cllc...':;c: cOOdcccc:cclkOc,'';cc;;;.cod:llodool;';cc:l,cllc:cclclllc,,;;;'.d:;;;;
dkkodooodddddddddddokdoldoddookoooooolooollooodoooddloolodxooc,''',,:dkOdlll:clc:doOXWO:..':;;':::c:::;;ccclcllcc:::;;,;;;,......'oxdlx,,;:;:,,,;;,,,,,,,,''''','.......;l::lol''':dd;,,,',,,,''';,,,'..::::c:::;,;ccccc::;,:lllloc::::::loooooloooooooc::coxdoooddddolllllccollllodddod
dOkddxxddxdxddddxdoodollcccc:::;::;;:;;,,;,;;cccc;;::ll:;;x:,'ccc:llldOOo:cccloook0WNc .;ll;coooollllclollllcc:cccccccccccllcllcdkxcxllllccc::c::cc:ccllc:ccccc:,''';:::,,dkk:lcololllclololllllllolllccccccllllcclloolooxolldldkkxxxdoooddodxxxxkxooolllooddooddoddxdloddxxxxxxxxkxdd
AI features users actually want diagram The graveyard of failed AI features is full of chatbots nobody asked for.
Every product team I talk to has the same story: leadership watched a GPT demo, got excited, and mandated “we need AI in the product.” Three months later, there’s a chatbot in the corner of the app that 3% of users have tried and 0.5% use regularly.
As CIO at Entropy Labs, I’ve been on both sides of this. I’ve built AI features that users loved and killed features that seemed brilliant in demos but died in production. Here’s what I’ve learned about the difference.
The Chatbot Trap# Why does everyone default to chatbots? Because they’re visible. They feel “AI-y.” Stakeholders can immediately understand what changed.
But chatbots are a terrible default for most products:
1. They require users to change behavior. Your users learned your product’s UI. Now you’re asking them to type natural language queries instead of clicking buttons. That’s friction, not improvement.
2. Conversational interfaces are slow. Typing “show me last month’s sales” is slower than clicking a date picker and a report button. You’ve made the product worse.
3. Error handling is awkward. When a form validation fails, you show a red border. When a chatbot misunderstands, you get an uncanny valley response that erodes trust.
4. The happy path is narrow. Chatbots demo well because demos follow scripts. Real users ask questions your training data never anticipated.
This isn’t to say chatbots are always wrong. Customer support, complex search interfaces, and genuinely conversational use cases benefit from them. But “we should add AI” shouldn’t automatically mean “we should add a chatbot.”
AI Features That Actually Work# The best AI features are invisible. They make the product smarter without making users work harder.
Smart Defaults and Autocomplete# This is the highest-ROI AI feature for most products. Example:
Without AI: User fills out a 12-field form to create a new report.
With AI: Based on their past behavior, 8 fields are pre-populated. They adjust 2-3 things and submit.
You’ve saved 90% of their time without teaching them a new interaction model. Gmail’s Smart Compose is the canonical example—it doesn’t ask users to chat, it just helps them type faster.
At Entropy Labs, we added predictive field completion to our data entry flows. Form completion time dropped 40%. Users didn’t need a tutorial; the feature just appeared and helped.
Background Processing and Summarization# Instead of asking users to request summaries, generate them proactively:
When a document is uploaded, automatically extract key entities and surface them After a meeting recording is processed, show highlights without being asked When data changes significantly, notify users with a human-readable summary The pattern: do the AI work before the user asks. They open their dashboard and insights are already there.
Anomaly Detection That Surfaces Action# Most AI anomaly detection is useless because it surfaces noise. “Revenue increased 12%!” Great, that’s normal seasonality.
Useful anomaly detection:
Filters out known patterns (seasonality, promotions, etc.) Ranks by business impact, not statistical significance Suggests specific actions, not just observations We rebuilt our alerting system around this. Instead of “metric X changed,” users see “Conversion rate dropped 18% in the mobile checkout flow—this is unusual and affecting ~$X in daily revenue. The drop started after deploy #1234.”
That’s actionable. That’s worth interrupting someone for.
Content Generation in Context# “Generate marketing copy” is a feature. “Pre-draft an email based on this customer’s history and your previous conversations” is a useful feature.
The difference:
Feature : Blank slate + AI = generic outputUseful feature : Context + AI = relevant outputWhen AI knows the context—what the user is working on, what they’ve done before, what their goals are—generation becomes useful rather than gimmicky.
The Build vs. Buy Calculation# Every AI feature has three implementation paths:
1. API calls (fastest, least differentiated)# Use OpenAI/Anthropic/etc. directly. Good for:
Quick prototypes Features where the AI isn’t the value prop When you need to ship fast Cost: $0.01-0.10 per query, depends on model and tokens.
2. Fine-tuning (medium effort, better quality)# Train a model on your data for specific tasks. Good for:
Domain-specific language (legal, medical, technical) Consistent output formatting Cost reduction at scale Cost: Training costs + inference costs (often lower than base models).
3. Build your own (almost never worth it)# Unless you’re at Google/Anthropic scale, don’t. Even if you have ML engineers, their time is better spent on fine-tuning and application logic than training foundation models.
At Entropy Labs, 90% of our AI features are API calls with good prompting. 10% are fine-tuned for specific classification tasks where we needed consistent output format. We haven’t built a model from scratch—and we probably never will.
User Research for AI Features# Standard user research methods break down for AI features because users don’t know what they want.
“Would you use an AI feature that [describes feature]?” yields meaningless answers. Users imagine the best-case scenario and say yes. In production, they encounter edge cases and stop using it.
What actually works:# 1. Watch behavior, not stated preferences.
Add the feature as a quiet experiment. Measure adoption over 4+ weeks, not just trial rate. Initial curiosity doesn’t equal sustained usage.
2. Measure task completion, not satisfaction.
“Do you like the AI suggestions?” matters less than “Did you complete the task faster with AI suggestions enabled?”
3. A/B test carefully.
AI features often have novelty effects. Test against holdout groups and measure over longer periods than you would for UI changes.
4. Listen for specific complaints, not general praise.
“This is cool” is noise. “It always gets company names wrong” is signal.
When to Kill an AI Feature# This is the hardest part. You built something cool. It took engineering months. Leadership is invested. But nobody’s using it.
Kill signals:# Adoption flatlines after launch. Initial spike, then nothing. Users tried it, it didn’t stick.Engagement is shallow. Users trigger the feature but don’t act on outputs.Support tickets mention it negatively. “How do I turn off the AI suggestions?”It’s slow and users work around it. They’ve learned to ignore it.Sunk cost fallacy is real.# We killed an AI feature at Entropy Labs after 4 months of development because adoption was 2% and declining. It hurt. But maintaining unloved features is more expensive than admitting failure.
The reframe: you learned what doesn’t work. That’s valuable. Document it, share it, and don’t repeat it.
Avoiding the AI Winter Within Your Product# Here’s a pattern I’ve seen multiple times:
Company ships AI features with fanfare Features underperform expectations Leadership loses enthusiasm AI work gets deprioritized Good AI opportunities get lumped in with the failed ones This is the “AI winter” at company scale. How to avoid it:
Start small and prove value. One well-executed smart default beats ten chatbot experiments.
Set realistic expectations. AI features have lower accuracy than traditional software. If stakeholders expect 99.9% accuracy, they’ll be disappointed at 90% (which might be excellent for the use case).
Measure the right things. “Users tried the feature” is not success. “Users completed tasks faster” is success.
Build escape hatches. Every AI feature should have a way to fall back to manual. Users tolerate AI mistakes if they can easily correct them.
The Bottom Line# The best AI product thinking isn’t “where can we add AI?” It’s “where are users doing tedious cognitive work that we could automate?”
That reframe changes everything:
Instead of chatbots, you build smart defaults Instead of generic generation, you build contextual assistance Instead of features that demo well, you build features that ship well The AI hype cycle rewards announcements. Product thinking rewards sustained value. They’re often in tension.
Build for the latter.