[{"data":1,"prerenderedAt":638},["ShallowReactive",2],{"project-48834924":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":47,"post_text":50,"what":51,"said":98,"maker_in_thread":186,"shape":197,"grid":202,"attempts":595,"same_week":600,"maker_shows":18,"maker_hidden":630,"reader_version":631,"card":632},"48834924","Microsoft releases Flint","A visualization language for AI agents","title","Show HN: Microsoft releases Flint, a visualization language for AI agents","https:\u002F\u002Fmicrosoft.github.io\u002Fflint-chart\u002F#\u002F","microsoft.github.io","chenglong-hn",1783532772,2026,350,137,103,4366,3,"legend","dev_tools","visualization language","library",[21,24,25,26,27],"chart generation","ai agents","semantic types","vega-lite","mixed",-0.113,{"positive":31,"neutral":32,"mixed":33,"critical":34},14,26,1,22,63,{"idea":37,"design":40,"docs":43,"performance":45,"execution":46},{"positive":38,"critical":39},9,12,{"positive":41,"critical":42},4,7,{"positive":44,"critical":44},0,{"positive":44,"critical":33},{"positive":44,"critical":44},[48,33,18,44,18,33,18,18,48,44,44,48,18,33,18,33,33,33,33,33,18,18,18,41,48,44,33,49,48,48,49,18,33,33,48,49,18,33,44,18],5,2,"Data visualizations are the bridge between user and data.\n\nBut building AI agents that can generate visualizations reliably can be very tricky:\n\n- simple chart specs can be reliable, but generated charts are often of low quality due to reliance on system defaults; \n- complex chart specs with explicit details can produce good-looking charts, but they are verbose and agents can struggle with reliability\n\nWe figured out it is a limitation on the language issue (not just AI capability thing) -- current visualization languages are a bit too low-level for AI agents, requiring them to explicitly make",{"problem":52,"audience":61,"pricing":69,"motivation":70,"time_to_build":69,"stack":78,"openness":95,"stage":96,"team_size":97},{"value":53,"source":54,"evidence":55},"Chart specs are either unreliable for AI agents or verbose with low-level visual parameters","maker",[56,58],{"id":57},"post",{"id":59,"by":11,"text":60},"48835879","Vega was a high-level language in the past for human, but now they can be a bit too low-level for AI agents! AI agents have to write a lot of low-level params just to make charts…",{"value":62,"source":63,"evidence":64},"AI agent builders and developers generating charts","inferred",[65,66],{"id":57},{"id":67,"by":11,"text":68},"48836831","This comes with a bit of last mile issue, if just chatting with GPT in the chat panel and keep steering it, it's generally fine (as a power user). But when building it in a tool…",null,{"value":71,"source":54,"evidence":72},"Make chart generation by AI agents more reliable, expressive and cheaper in tokens",[73,74,75],{"id":57},{"id":67,"by":11,"text":68},{"id":76,"by":11,"text":77},"48840787","Yes! correctness, expressiveness, reliability and cost (token + time)",[79,91],{"value":80,"source":81,"evidence":82},"JSON spec","commenter",[83,87],{"id":84,"by":85,"text":86},"48835326","theK","> requiring them to explicitly make visual decisions that are supposed to be handled by a good compiler Isnt graphviz there for the same reason? Edit: I see it is using JSON as…",{"id":88,"by":89,"text":90},"48836766","YuechenLi",">Instead of requiring verbose low-level parameters such as scales, axes, spacing, and layout. Ok, Microsoft is conflating two different things here: LLMs don't really care about…",{"value":92,"source":54,"evidence":93},"MCP server",[94],{"id":57},"open_source","unknown","company",{"praise":99,"objections":114,"requests":137,"questions":155,"alternatives":167},[100,107],{"value":101,"source":81,"evidence":102},"Useful easy-to-generate chart language",[103],{"id":104,"by":105,"text":106},"48836327","rbalicki","\"For AI agents\". I understand why everything needs to be marketed in this way, but it's just ... an easy-to-generate language for expressing charts. That's impressive! That's…",{"value":108,"source":81,"evidence":109},"Better design even for humans",[110],{"id":111,"by":112,"text":113},"48835722","santiagobasulto","Forget AI agents, this DSL is better even for humans. Cool project!",[115,126,130],{"value":116,"source":81,"evidence":117},"LLMs already one-shot matplotlib and Python charts well",[118,122],{"id":119,"by":120,"text":121},"48836159","nrub","> simple chart specs can be reliable, but generated charts are often of low quality due to reliance on system defaults; - complex chart specs with explicit details can produce…",{"id":123,"by":124,"text":125},"48836763","jrflo","I don't really understand the point of this, I feel like LLMs have been able to one-shot matplotlib since GPT 3.5. I have extensively used LLMs to do data viz and haven't run…",{"value":127,"source":81,"evidence":128},"Stringly typed JSON is a poor choice; a typed library would be better",[129],{"id":88,"by":89,"text":90},{"value":131,"source":81,"evidence":132},"Needs benchmarks on token usage and correctness against chart.js",[133],{"id":134,"by":135,"text":136},"48840759","piterrro","For a while now, everytime I see „for AI agents” Im looking for benchmarks with comparable solutions. The only „for AI agent” solution that will gain adoption is\u002Fshould be…",[138,142,148],{"value":139,"source":81,"evidence":140},"Benchmarks comparing tokens and correctness",[141],{"id":134,"by":135,"text":136},{"value":143,"source":54,"evidence":144},"Alignment and grouping support for editing",[145],{"id":146,"by":11,"text":147},"48841079","I find it lacks some easy way to do alignments or grouping, which makes editing frustrating. Could be a good language re-design opportunity.",{"value":149,"source":81,"evidence":150},"Layering or composability in the spec",[151],{"id":152,"by":153,"text":154},"48845792","efromvt","Second comment, having read in more depth (really love the auto-layout detail!) - the spec doesn't seem to naturally support layering (which is useful in some multi-axis…",[156,163],{"value":157,"source":81,"evidence":158},"How is this better than Vega or Vega-Lite",[159],{"id":160,"by":161,"text":162},"48835772","kveykva","Is there a specific explanation about how this is better or different than vega itself? https:\u002F\u002Fvega.github.io\u002Fvega\u002Fdocs\u002Fspecification\u002F My understanding is that Vega was already…",{"value":164,"source":81,"evidence":165},"What specific failure does Flint solve",[166],{"id":123,"by":124,"text":125},[168,172,176,182],{"value":169,"source":81,"evidence":170},"Vega and Vega-Lite",[171],{"id":160,"by":161,"text":162},{"value":173,"source":81,"evidence":174},"Graphviz",[175],{"id":84,"by":85,"text":86},{"value":177,"source":81,"evidence":178},"Mermaid",[179],{"id":180,"by":11,"text":181},"48837778","Seems a bit more like https:\u002F\u002Fmermaid.js.org use cases!",{"value":183,"source":81,"evidence":184},"Matplotlib and Python\u002FR charting",[185],{"id":119,"by":120,"text":121},{"comments":187,"answered":188,"key":189},41,18,[190,193,194],{"id":191,"text":192},"48840754","the design here has some constructs (i.e., semantic types) that AI can use better than human at generation time; and then the generated spec can be easy for user to edit since…",{"id":146,"text":147},{"id":195,"text":196},"48841235","That's the best option for now. But it can also be frustrating to ask AI to do small edits on D3 just to fix some idioms (like switching order etc) and they kept messing up with…",{"commenters":198,"max_depth":199,"maker_replies":187,"first_comment_mins":200,"lifespan_hours":201},86,10,6,119,[203,205,209,213,217,221,224,227,230,233,235,238,240,242,243,246,249,251,254,257,260,262,266,269,272,275,278,281,284,287,290,294,297,301,304,307,310,313,315,318,320,323,326,329,330,331,335,337,339,341,344,347,351,353,356,358,361,364,367,368,370,372,375,378,379,382,384,385,387,389,391,394,396,399,401,403,406,408,410,411,413,417,421,423,427,429,431,435,437,440,441,444,448,450,454,458,460,463,465,467,470,472,474,479,481,485,488,492,494,496,500,502,505,507,511,513,517,521,523,527,529,533,538,542,544,548,552,556,560,562,566,570,574,577,579,582,584,587,589,592],[104,44,48,204,105,44],"project\u002Fpositive\u002Fidea",[206,44,44,207,208,44],"48836552","commenter\u002Fneutral\u002Fnone","wuliwong",[210,44,18,211,212,44],"48837179","project\u002Fneutral\u002Fidea","bigfishrunning",[214,44,33,215,216,44],"48837452","project\u002Fcritical\u002Fidea","fernie",[218,44,44,219,220,44],"48838090","other\u002Fneutral\u002Fnone","avadodin",[222,44,44,207,223,44],"48840013","smallerize",[225,44,44,207,226,44],"48843931","ywvcbk",[228,44,18,211,229,44],"48838662","drob518",[231,44,44,207,232,44],"48839564","someguy101010",[191,44,44,234,11,33],"maker\u002Fpositive\u002Fidea",[236,44,44,219,237,44],"48841000","gofreddygo",[146,44,44,239,11,33],"other\u002Fneutral\u002Fdesign",[241,44,44,219,237,44],"48841159",[195,44,44,204,11,33],[244,44,18,211,245,44],"48843337","Wowfunhappy",[247,44,44,207,248,44],"48838012","horsh1",[250,44,44,207,229,44],"48838677",[252,44,44,219,253,44],"48838118","4petesake",[255,44,44,256,11,33],"48836675","maker\u002Fpositive\u002Fdesign",[258,44,33,215,259,44],"48838668","PunchyHamster",[261,44,44,234,11,33],"48838692",[263,44,18,264,265,44],"48840061","project\u002Fmixed\u002Fdesign","shostack",[267,44,44,268,11,33],"48840598","maker\u002Fneutral\u002Fnone",[270,44,44,207,271,44],"48840124","nonethewiser",[273,44,44,207,274,44],"48841455","kristjansson",[276,44,44,219,277,44],"48845638","nxobject",[279,44,18,211,280,44],"48843087","khurs",[282,44,18,211,283,44],"48846806","kbd",[285,33,48,204,286,44],"48836310","cpard",[288,33,44,219,289,44],"48836354","pwarner",[291,33,18,292,293,44],"48837920","project\u002Fneutral\u002Fnone","dominotw",[295,33,44,219,296,44],"48840949","whattheheckheck",[298,33,44,299,300,44],"48841140","other\u002Fpositive\u002Fnone","OrangeDelonge",[302,33,44,219,303,44],"48842629","mr_mitm",[305,33,44,219,306,44],"48847721","cheesecakegood",[308,33,44,219,309,44],"48847350","albert_e",[311,33,44,219,312,44],"48860947","ssgodderidge",[314,33,44,219,309,44],"48873892",[316,33,48,204,317,44],"48836443","ajrouvoet",[319,33,44,256,11,33],"48838008",[321,33,44,219,322,44],"48838357","alightsoul",[324,33,44,219,325,44],"48844831","alansaber",[327,33,44,219,328,44],"48845419","rightlane",[160,49,18,211,161,44],[59,49,44,234,11,33],[332,49,33,333,334,44],"48836510","project\u002Fcritical\u002Fdesign","NicuCalcea",[336,49,44,234,11,33],"48836653",[338,49,33,215,334,44],"48837000",[340,49,44,234,11,33],"48837092",[342,49,18,343,334,44],"48837216","maker\u002Fneutral\u002Fidea",[345,49,44,346,11,33],"48837501","maker\u002Fpositive\u002Fexecution",[348,49,18,349,350,44],"48841218","maker\u002Fneutral\u002Fdocs","tihuan",[352,49,44,349,11,33],"48841325",[354,49,33,215,355,44],"48838566","lmeyerov",[357,49,44,234,11,33],"48838748",[359,49,18,211,360,44],"48843238","pea",[362,18,44,219,363,44],"48842385","natch",[365,18,44,366,11,33],"48847755","maker\u002Fpositive\u002Fnone",[84,41,33,333,85,44],[369,41,44,256,11,33],"48835523",[371,41,44,207,85,44],"48835804",[373,41,44,374,11,33],"48836030","project\u002Fneutral\u002Fdesign",[376,41,33,215,377,44],"48837017","simlevesque",[119,48,33,215,120,44],[380,48,18,211,381,44],"48836380","mbreese",[383,48,44,211,11,33],"48836615",[88,200,33,333,89,44],[386,200,44,374,11,33],"48836839",[388,200,18,374,89,44],"48837295",[390,200,44,374,11,33],"48837784",[392,200,18,374,393,44],"48837715","librasteve",[395,200,44,374,11,33],"48837763",[397,200,18,268,398,44],"48839726","catlifeonmars",[400,200,44,374,11,33],"48840570",[402,200,18,374,398,44],"48895117",[404,200,18,374,405,44],"48838200","bodash",[407,42,44,292,11,33],"48834993",[123,409,33,215,124,44],8,[67,409,44,211,11,33],[412,409,48,204,124,44],"48836949",[414,38,33,415,416,44],"48835203","project\u002Fcritical\u002Fnone","ietcd",[418,199,48,419,420,44],"48838423","project\u002Fpositive\u002Fdesign","nourihab",[422,199,44,374,11,33],"48838462",[424,425,48,204,426,44],"48842595",11,"aitor1717",[428,425,44,211,11,33],"48847830",[430,39,48,419,153,44],"48843730",[432,433,18,211,434,44],"48835583",13,"neomantra",[436,433,44,292,11,33],"48835824",[438,31,44,219,439,44],"48837642","manuel_w",[180,31,44,219,11,33],[442,31,44,219,443,44],"48839715","westurner",[445,446,33,333,447,44],"48843721",15,"RandyRanderson",[449,446,44,374,11,33],"48847813",[451,452,33,333,453,44],"48841092",16,"est",[455,456,48,204,457,44],"48835818",17,"dvt",[459,456,44,204,11,33],"48835891",[461,456,33,415,462,44],"48836001","hideout_berlin",[134,188,33,464,135,44],"project\u002Fcritical\u002Fperformance",[76,188,44,466,11,33],"project\u002Fneutral\u002Fperformance",[468,188,48,204,469,44],"48841081","ebeirne",[111,471,48,419,112,44],19,[473,471,44,292,11,33],"48835981",[475,476,48,477,478,44],"48842136",20,"project\u002Fpositive\u002Fnone","tcsenpai",[480,476,44,477,11,33],"48847849",[482,483,48,204,484,44],"48848004",21,"hotpartition",[486,34,18,292,487,44],"48856353","jayzer01",[489,490,33,215,491,44],"48842556",23,"blt",[152,493,18,374,153,44],24,[495,493,44,374,11,33],"48847787",[497,498,18,211,499,44],"48840865",25,"qiuwu",[501,498,44,211,11,33],"48840900",[503,32,18,211,504,44],"48847736","bluejay2387",[506,32,44,211,11,33],"48849360",[508,509,33,215,510,44],"48848569",27,"james-mxtech",[512,509,44,211,11,33],"48849300",[514,515,18,211,516,44],"48842476",28,"amelius",[518,519,33,333,520,44],"48841277",29,"zmmmmm",[522,519,44,211,11,33],"48841314",[524,525,33,215,526,44],"48835330",30,"animal_spirits",[528,525,44,374,11,33],"48835480",[530,531,48,204,532,44],"48844565",31,"dogscatstrees",[534,535,44,536,537,44],"48838087",32,"commenter\u002Fcritical\u002Fnone","grg0",[539,540,18,292,541,44],"48842800",33,"miranaproarrow",[543,540,44,268,11,33],"48849388",[545,546,33,333,547,44],"48843295",34,"robinduckett",[549,550,18,551,280,44],"48836463",35,"project\u002Fneutral\u002Fexecution",[553,554,48,419,555,44],"48867267",36,"sanreds",[557,558,33,215,559,44],"48836858",37,"lzupart",[561,558,44,268,11,33],"48837106",[563,564,18,211,565,44],"48848665",38,"sometimelurker",[567,568,33,215,569,44],"48836795",39,"bigtechisajoke",[571,572,44,219,573,44],"48835331",40,"FailMore",[575,572,44,219,576,44],"48835378","giancarlostoro",[578,572,44,219,573,44],"48835932",[580,572,44,536,581,44],"48836005","altmanaltman",[583,572,44,207,573,44],"48836515",[585,572,44,536,586,44],"48838274","dang",[588,572,44,207,573,44],"48838978",[590,187,18,211,591,44],"48839680","luciana1u",[593,187,44,594,11,33],"48840589","project\u002Fpositive\u002Fperformance",[596,597],{"id":4,"t":12,"points":14,"comments":15},{"id":598,"t":599,"points":49,"comments":33},"50197593",1792686437,[601,605,610,615,620,625],{"id":602,"name":603,"points":604,"category":20},"48821848","Davit",389,{"id":606,"name":607,"points":608,"category":609},"48816987","Yamanote.fun",238,"creative",{"id":611,"name":612,"points":613,"category":614},"48798153","Homegames",229,"games",{"id":616,"name":617,"points":618,"category":619},"48819808","Rowboat",219,"productivity",{"id":621,"name":622,"points":623,"category":624},"48786455","Follow London Trains in 3D",156,"consumer_social",{"id":626,"name":627,"points":628,"category":629},"48766242","Bramble",153,"security_privacy",false,"v2",{"id":633,"name":5,"line":6,"ai":630,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":634,"top":18,"kw":635,"maker":11,"domain":10,"tier":19,"attempts":49,"strip":636,"url":9,"mix":637,"praise":101,"objection":116,"sub":21},48834924,-0.11,[21,24,25,26,27],"5130313350053131111133345012552311523103",[31,32,33,34],1794036704507]