[{"data":1,"prerenderedAt":76},["ShallowReactive",2],{"writing-2026-02-10-building-ai-tools":3,"writing-surr-2026-02-10-building-ai-tools":70},{"id":4,"title":5,"body":6,"date":59,"description":60,"draft":61,"extension":62,"meta":63,"navigation":64,"path":65,"seo":66,"stem":67,"tags":68,"__hash__":69},"writing\u002Fwriting\u002F2026-02-10-building-ai-tools.md","Building AI Tools That Don't Suck",{"type":7,"value":8,"toc":53},"minimark",[9,18,23,26,30,37,50],[10,11,12,13,17],"p",{},"Most AI products feel like a chatbot wrapper around an API. That's not a product — that's a demo. A real tool hides the model and exposes ",[14,15,16],"em",{},"intent",".",[19,20,22],"h2",{"id":21},"the-chat-trap","The chat trap",[10,24,25],{},"Chat is the lowest-common-denominator interface. It's great for exploration, terrible for repetition. The moment a user does something twice, you should be asking whether the chat is the right surface.",[19,27,29],{"id":28},"what-good-feels-like","What good feels like",[10,31,32,33,36],{},"The best AI features don't ",[14,34,35],{},"feel"," like AI. They feel like software that finally works the way you always wished it would:",[38,39,40,44,47],"ul",{},[41,42,43],"li",{},"Autocomplete that knows your codebase",[41,45,46],{},"Search that understands the question, not just the keywords",[41,48,49],{},"Summaries you can trust without checking",[10,51,52],{},"That's the bar. Everything else is demo-ware.",{"title":54,"searchDepth":55,"depth":55,"links":56},"",2,[57,58],{"id":21,"depth":55,"text":22},{"id":28,"depth":55,"text":29},"2026-02-10","On restraint, UX, and why most AI interfaces miss the point.",false,"md",{},true,"\u002Fwriting\u002F2026-02-10-building-ai-tools",{"title":5,"description":60},"writing\u002F2026-02-10-building-ai-tools",null,"EMk8hkYCXF9TG-fctv-OoKq_cmt-nO-To4J16lwKzOo",[71,68],{"title":72,"path":73,"stem":74,"date":75,"children":-1},"Website Refresh 2026","\u002Fwriting\u002F2026-04-17-website-refresh","writing\u002F2026-04-17-website-refresh","2026-04-17",1776536530725]