[{"data":1,"prerenderedAt":476},["ShallowReactive",2],{"blog-no-more-dashboards-manifesto":3,"blog-related-no-more-dashboards-manifesto":468},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"slug":10,"ogTitle":8,"ogDescription":11,"image":12,"date":13,"body":14,"_type":462,"_id":463,"_source":464,"_file":465,"_stem":466,"_extension":467},"/articles/no-more-dashboards-manifesto","articles",false,"","No More Dashboards: I wrote a manifesto","I built nomoredashboards.com because I'm tired of software that makes humans do the work. The dashboard is an admission of defeat. Here's what should replace it.","no-more-dashboards-manifesto","Dashboards are a confession that you had the data but couldn't figure out what to do with it. Here's the case for proactive, sentient, deferential software.","/images/ai-computer.webp","2026-04-24",{"type":15,"children":16,"toc":452},"root",[17,33,38,43,48,64,71,76,85,90,116,121,127,132,137,182,187,192,198,211,223,233,238,246,251,256,262,281,293,298,304,316,321,335,347,352,358,363,375,380,386,398,403,411,429,434,438],{"type":18,"tag":19,"props":20,"children":21},"element","p",{},[22,25,31],{"type":23,"value":24},"text","How many tabs do you have open right now that are ",{"type":18,"tag":26,"props":27,"children":28},"em",{},[29],{"type":23,"value":30},"just",{"type":23,"value":32}," dashboards?",{"type":18,"tag":19,"props":34,"children":35},{},[36],{"type":23,"value":37},"Go on, count them. The analytics one you check on a Monday. The cost dashboard you swore you'd look at weekly. The observability tool that someone in a meeting once told you was \"really useful\". The CRM dashboard that's open mostly out of guilt. The one your boss asked you to \"keep an eye on\" three quarters ago.",{"type":18,"tag":19,"props":39,"children":40},{},[41],{"type":23,"value":42},"I'll wait.",{"type":18,"tag":19,"props":44,"children":45},{},[46],{"type":23,"value":47},"Right. Now ask yourself: when did a dashboard last actually change what you did? When did one trigger a decision, move a project forward, or cause you to pick up the phone?",{"type":18,"tag":19,"props":49,"children":50},{},[51,53,62],{"type":23,"value":52},"That gap, between the dashboards we maintain and the dashboards that change our behaviour, is what made me build ",{"type":18,"tag":54,"props":55,"children":59},"a",{"href":56,"rel":57},"https://nomoredashboards.com",[58],"nofollow",[60],{"type":23,"value":61},"nomoredashboards.com",{"type":23,"value":63},".",{"type":18,"tag":65,"props":66,"children":68},"h2",{"id":67},"the-dashboard-is-an-admission-of-defeat",[69],{"type":23,"value":70},"The dashboard is an admission of defeat",{"type":18,"tag":19,"props":72,"children":73},{},[74],{"type":23,"value":75},"Here's the line from the manifesto I keep coming back to:",{"type":18,"tag":77,"props":78,"children":79},"blockquote",{},[80],{"type":18,"tag":19,"props":81,"children":82},{},[83],{"type":23,"value":84},"Every dashboard is a confession: \"We had the data, but we couldn't figure out what to do with it, so we made it your problem.\"",{"type":18,"tag":19,"props":86,"children":87},{},[88],{"type":23,"value":89},"That's it. That's the entire critique in one sentence.",{"type":18,"tag":19,"props":91,"children":92},{},[93,95,100,102,107,109,114],{"type":23,"value":94},"We built dashboards because we couldn't, or wouldn't, do the harder work of figuring out ",{"type":18,"tag":26,"props":96,"children":97},{},[98],{"type":23,"value":99},"what",{"type":23,"value":101}," the data meant and ",{"type":18,"tag":26,"props":103,"children":104},{},[105],{"type":23,"value":106},"who",{"type":23,"value":108}," needed to know about it and ",{"type":18,"tag":26,"props":110,"children":111},{},[112],{"type":23,"value":113},"when",{"type":23,"value":115},". So we shoved 47 charts onto a single screen, slapped a filter bar on top, and called it \"self-serve analytics.\" Then we wondered why nobody used it.",{"type":18,"tag":19,"props":117,"children":118},{},[119],{"type":23,"value":120},"A dashboard screams everything at once. Intelligent software whispers the right thing at the right time.",{"type":18,"tag":65,"props":122,"children":124},{"id":123},"software-should-come-to-the-user",[125],{"type":23,"value":126},"Software should come to the user",{"type":18,"tag":19,"props":128,"children":129},{},[130],{"type":23,"value":131},"Your users are not sat at their desks waiting for your dashboard to load. They're in Slack. In Teams. In their inbox. On their phone in the queue at Pret. They're in a meeting where someone just asked a question they don't have the answer to.",{"type":18,"tag":19,"props":133,"children":134},{},[135],{"type":23,"value":136},"Asking a human to \"check the dashboard\" is asking them to:",{"type":18,"tag":138,"props":139,"children":140},"ol",{},[141,147,152,157,162,167,172,177],{"type":18,"tag":142,"props":143,"children":144},"li",{},[145],{"type":23,"value":146},"Context-switch out of whatever they were doing",{"type":18,"tag":142,"props":148,"children":149},{},[150],{"type":23,"value":151},"Open a browser tab",{"type":18,"tag":142,"props":153,"children":154},{},[155],{"type":23,"value":156},"Authenticate (probably with SSO, possibly with a one-time code)",{"type":18,"tag":142,"props":158,"children":159},{},[160],{"type":23,"value":161},"Find the right view",{"type":18,"tag":142,"props":163,"children":164},{},[165],{"type":23,"value":166},"Set the right date range",{"type":18,"tag":142,"props":168,"children":169},{},[170],{"type":23,"value":171},"Locate the right chart",{"type":18,"tag":142,"props":173,"children":174},{},[175],{"type":23,"value":176},"Interpret the right axis",{"type":18,"tag":142,"props":178,"children":179},{},[180],{"type":23,"value":181},"Derive an insight",{"type":18,"tag":19,"props":183,"children":184},{},[185],{"type":23,"value":186},"That's an obstacle course dressed up as a workflow. And we've collectively decided this is fine.",{"type":18,"tag":19,"props":188,"children":189},{},[190],{"type":23,"value":191},"It is not fine.",{"type":18,"tag":65,"props":193,"children":195},{"id":194},"what-proactive-rag-actually-means",[196],{"type":23,"value":197},"What \"proactive RAG\" actually means",{"type":18,"tag":19,"props":199,"children":200},{},[201,203,209],{"type":23,"value":202},"There's a phrase I've been using a lot lately: ",{"type":18,"tag":204,"props":205,"children":206},"strong",{},[207],{"type":23,"value":208},"proactive RAG",{"type":23,"value":210},". Forget the chatbot-in-a-corner variety where the user has to think to ask a question. That's just a dashboard with a text input.",{"type":18,"tag":19,"props":212,"children":213},{},[214,216,221],{"type":23,"value":215},"Proactive RAG is software that ",{"type":18,"tag":26,"props":217,"children":218},{},[219],{"type":23,"value":220},"notices",{"type":23,"value":222},". It ingests your data continuously. It recognises the pattern, the anomaly, the opportunity. And then, here's the bit nobody seems to be building, it tells you. Unprompted. In the channel you're already in. In language you can act on.",{"type":18,"tag":224,"props":225,"children":227},"pre",{"code":226},"\"Heads up. Your AWS spend is up 14% this week. The new Bedrock workload is responsible for most of it. \nWant me to show you the breakdown, or shall I open a ticket for the team?\"\n",[228],{"type":18,"tag":229,"props":230,"children":231},"code",{"__ignoreMap":7},[232],{"type":23,"value":226},{"type":18,"tag":19,"props":234,"children":235},{},[236],{"type":23,"value":237},"Versus:",{"type":18,"tag":224,"props":239,"children":241},{"code":240},"[a link to a dashboard]\n",[242],{"type":18,"tag":229,"props":243,"children":244},{"__ignoreMap":7},[245],{"type":23,"value":240},{"type":18,"tag":19,"props":247,"children":248},{},[249],{"type":23,"value":250},"One of these saves a decision. The other adds one.",{"type":18,"tag":19,"props":252,"children":253},{},[254],{"type":23,"value":255},"I've been building variants of this for clients for the last year and the same pattern keeps emerging: the moment you stop asking the human to fetch the insight, and start delivering the insight to the human, engagement goes through the roof. Funny that.",{"type":18,"tag":65,"props":257,"children":259},{"id":258},"sentient-design-isnt-a-buzzword-yet",[260],{"type":23,"value":261},"Sentient design isn't a buzzword (yet)",{"type":18,"tag":19,"props":263,"children":264},{},[265,267,272,274,279],{"type":23,"value":266},"Josh Clark coined the term ",{"type":18,"tag":204,"props":268,"children":269},{},[270],{"type":23,"value":271},"sentient design",{"type":23,"value":273}," for the next chapter of UX. I'm nicking it shamelessly because it's the right word. Interfaces that are aware of context and intent. Radically adaptive to who's using them. Software that ",{"type":18,"tag":26,"props":275,"children":276},{},[277],{"type":23,"value":278},"understands",{"type":23,"value":280}," information, reasons about it, and collaborates with you to act on it.",{"type":18,"tag":19,"props":282,"children":283},{},[284,286,291],{"type":23,"value":285},"The key word, and this is the bit that gets lost in the AI hype, is ",{"type":18,"tag":204,"props":287,"children":288},{},[289],{"type":23,"value":290},"deferential",{"type":23,"value":292},". Sentient software makes suggestions and leaves the decision with you. It amplifies your judgment. The dashboard demands your attention. Sentient design earns it.",{"type":18,"tag":19,"props":294,"children":295},{},[296],{"type":23,"value":297},"There's a worrying tendency in the current AI gold rush to swing from \"passive software the user has to drive\" all the way to \"autonomous agent that does everything for you and occasionally sets fire to your codebase.\" The interesting space is in the middle. Software that's smart enough to flag the things that matter, and humble enough to let you decide.",{"type":18,"tag":65,"props":299,"children":301},{"id":300},"a2ui-the-ai-to-user-interface",[302],{"type":23,"value":303},"A2UI: the AI-to-User Interface",{"type":18,"tag":19,"props":305,"children":306},{},[307,309,314],{"type":23,"value":308},"I needed a name for the thing I think comes after dashboards, so I gave it one. ",{"type":18,"tag":204,"props":310,"children":311},{},[312],{"type":23,"value":313},"A2UI",{"type":23,"value":315},". The AI-to-User Interface.",{"type":18,"tag":19,"props":317,"children":318},{},[319],{"type":23,"value":320},"A2UI is a contract:",{"type":18,"tag":322,"props":323,"children":324},"ul",{},[325,330],{"type":18,"tag":142,"props":326,"children":327},{},[328],{"type":23,"value":329},"The AI commits to delivering the right insight, in the right format, through the right channel, at the right moment.",{"type":18,"tag":142,"props":331,"children":332},{},[333],{"type":23,"value":334},"The user commits to nothing. No logins. No tabs. No \"let me pull up the dashboard.\"",{"type":18,"tag":19,"props":336,"children":337},{},[338,340,345],{"type":23,"value":339},"A2UI is the anomaly flagged in your standup before you've finished your coffee. It's the recommendation that arrives as a sentence in Slack. It's the interface that ",{"type":18,"tag":26,"props":341,"children":342},{},[343],{"type":23,"value":344},"dissolves",{"type":23,"value":346},". The best interface is the one you never have to open.",{"type":18,"tag":19,"props":348,"children":349},{},[350],{"type":23,"value":351},"Dashboards are H2MI: Human-to-Machine Interfaces. Relics of an era when the human had to go to the data. A2UI inverts the relationship. The intelligence comes to you.",{"type":18,"tag":65,"props":353,"children":355},{"id":354},"but-kevin-i-love-my-dashboards",[356],{"type":23,"value":357},"\"But Kevin, I love my dashboards\"",{"type":18,"tag":19,"props":359,"children":360},{},[361],{"type":23,"value":362},"Yeah, I know. I have a complicated relationship with them too. Some are genuinely useful. When you're in deep analysis mode, exploring a hypothesis, or building a one-off model, a dashboard is exactly the right tool. I'd happily keep those. I'd lose half my consulting work if we binned dashboards entirely.",{"type":18,"tag":19,"props":364,"children":365},{},[366,368,373],{"type":23,"value":367},"What I am arguing is that ",{"type":18,"tag":204,"props":369,"children":370},{},[371],{"type":23,"value":372},"dashboards have become the default",{"type":23,"value":374},", and the default is wrong. Most of the time, the user wants to know what to do. Those are different problems and we've been solving the wrong one for fifteen years because the technology to solve the right one didn't exist yet.",{"type":18,"tag":19,"props":376,"children":377},{},[378],{"type":23,"value":379},"It does now. We just have to actually build it.",{"type":18,"tag":65,"props":381,"children":383},{"id":382},"read-the-manifesto",[384],{"type":23,"value":385},"Read the manifesto",{"type":18,"tag":19,"props":387,"children":388},{},[389,391,396],{"type":23,"value":390},"I wrote it down properly at ",{"type":18,"tag":54,"props":392,"children":394},{"href":56,"rel":393},[58],[395],{"type":23,"value":61},{"type":23,"value":397},". Six articles, a list of \"we hold these truths,\" and a footer that says \"Sent from my dashboard\" because I am, fundamentally, a child.",{"type":18,"tag":19,"props":399,"children":400},{},[401],{"type":23,"value":402},"If any of this resonates, if you've ever closed a dashboard tab without doing anything because you didn't have time to figure out what you were looking at, go read it. And if you're building enterprise software, ask yourself the question that started this whole thing for me:",{"type":18,"tag":19,"props":404,"children":405},{},[406],{"type":18,"tag":26,"props":407,"children":408},{},[409],{"type":23,"value":410},"Are we building software that makes humans do the work, or software that does the work for them?",{"type":18,"tag":19,"props":412,"children":413},{},[414,416,421,423,428],{"type":23,"value":415},"Because if it's the first one, we can do better. We have the tools. We just need to stop confusing ",{"type":18,"tag":204,"props":417,"children":418},{},[419],{"type":23,"value":420},"showing data",{"type":23,"value":422}," with ",{"type":18,"tag":204,"props":424,"children":425},{},[426],{"type":23,"value":427},"delivering value",{"type":23,"value":63},{"type":18,"tag":19,"props":430,"children":431},{},[432],{"type":23,"value":433},"The dashboard is dead. Long live proactive software.",{"type":18,"tag":435,"props":436,"children":437},"hr",{},[],{"type":18,"tag":19,"props":439,"children":440},{},[441],{"type":18,"tag":26,"props":442,"children":443},{},[444,446,451],{"type":23,"value":445},"Co-signed in spirit by everyone who's ever logged into a BI tool, sighed, and closed the tab. Read the full manifesto at ",{"type":18,"tag":54,"props":447,"children":449},{"href":56,"rel":448},[58],[450],{"type":23,"value":61},{"type":23,"value":63},{"title":7,"searchDepth":453,"depth":453,"links":454},2,[455,456,457,458,459,460,461],{"id":67,"depth":453,"text":70},{"id":123,"depth":453,"text":126},{"id":194,"depth":453,"text":197},{"id":258,"depth":453,"text":261},{"id":300,"depth":453,"text":303},{"id":354,"depth":453,"text":357},{"id":382,"depth":453,"text":385},"markdown","content:articles:no-more-dashboards-manifesto.md","content","articles/no-more-dashboards-manifesto.md","articles/no-more-dashboards-manifesto","md",[469,473],{"_path":470,"title":471,"date":472},"/articles/chrome-built-in-ai","A Local AI for Local People (We'll Have No Trouble Here)","2026-03-22",{"_path":474,"title":475,"date":472},"/articles/webmcp-ai-agents-meet-the-web","WebMCP: The end of Robophobia?",1777282635838]