[{"data":1,"prerenderedAt":327},["ShallowReactive",2],{"project-48847834":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":9,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":42,"post_text":43,"what":44,"said":66,"maker_in_thread":170,"shape":181,"grid":186,"attempts":288,"same_week":289,"maker_shows":172,"maker_hidden":318,"reader_version":319,"card":320},"48847834","Frigade","Reverse-engineering web apps into agent tools","title","Show HN: Reverse-engineering web apps into agent tools",null,"pancomplex",1783611917,2026,96,40,709,4366,17,"notable","ai","agent tooling","web_app",[23,24,25,26],"ai agents","mcp server","browser agent","api automation","curious",0.237,{"positive":30,"neutral":31,"mixed":32,"critical":33},9,12,0,3,24,{"privacy":36,"idea":38,"performance":41},{"positive":32,"critical":37},2,{"positive":39,"critical":40},5,1,{"positive":32,"critical":32},[33,40,32,39,32,33,32,39,32,33,32,39,32,33,32,32,32,33,32,33,33,33,33,32,40,39,33,32,39,33,32,40,33,32,32,39,39,39,32,39],"Hey HN! My name is Christian and I'm the CTO and co-founder of Frigade.\n\nWe built a browser-based agent that runs inside an authenticated web app, watches how the app calls its own APIs, and automatically turns those into agent tools. You can think of it as an auto-generated MCP server that self-updates as the host app changes.\n\nThe result is you build a highly skilled AI assistant that actually integrates deeply with any product (not just chat and RAG) with minimal effort.\n\nCheck out these short demos below that show the agent in software you're probably familiar with:\n\n- Jira: https:\u002F\u002Fdemo.f",{"problem":45,"audience":51,"pricing":9,"motivation":58,"time_to_build":9,"stack":62,"openness":63,"stage":64,"team_size":65},{"value":46,"source":47,"evidence":48},"AI agents cannot reliably use web apps' confusing or authenticated APIs, and computer-use agents are brittle and slow","maker",[49],{"id":50},"post",{"value":52,"source":47,"evidence":53},"Companies that want an in-app AI assistant for their product quickly",[54,57],{"id":55,"by":10,"text":56},"48874045","We only do this with consent from the application owner - the use case is typically companies who don’t have an AI agent yet who want fast path to get one. This is the process we…",{"id":50},{"value":59,"source":47,"evidence":60},"Apps lack MCP servers or usable APIs for AI agents, and computer-use is too brittle",[61],{"id":50},[],"unknown","launched","company",{"praise":67,"objections":83,"requests":113,"questions":132,"alternatives":151},[68,76],{"value":69,"source":70,"evidence":71},"Self-updating recipes beat maintaining hardcoded API specs","commenter",[72],{"id":73,"by":74,"text":75},"48869849","ikuminw","The self-updating recipe concept is good. Way better than maintaining hardcoded API specs that break every time the app updates.",{"value":77,"source":70,"evidence":78},"Useful for avoiding manual Chrome devtools header and cookie work",[79],{"id":80,"by":81,"text":82},"48857177","hajimuz","This is really helpful. I usually manually do this with chrome dev tools, it’s kind of tedious especially the header and cookies handling.",[84,95,106],{"value":85,"source":70,"evidence":86},"Could violate website terms and conditions and risk account bans",[87,91],{"id":88,"by":89,"text":90},"48868318","hoppp","How do you make sure you are not violating terms and conditions if they forbid injecting third party javascript into the website explicitly? Does your LLM ingest terms and…",{"id":92,"by":93,"text":94},"48871719","enos_feedler","Many years ago I wrote a simple script to periodically pull my aeroplan miles from Air Canada using an extracted auth token. I was building my own mobile app to track all kinds…",{"value":96,"source":70,"evidence":97},"Closed source agent with authenticated API access raises trust concerns",[98,102],{"id":99,"by":100,"text":101},"48858427","spzb","You want me to run a closed source, LLM agent inside my browser with access to authenticated API endpoints ?! Thanks but no thanks.",{"id":103,"by":104,"text":105},"48858571","katemaster009","But maybe we if have more clarity on how it is working under the hood, then maybe we trust it. For me its kind of pattern - too many if's but's and maybe's on all the new tools i…",{"value":107,"source":70,"evidence":108},"Risk of destructive actions on user accounts",[109],{"id":110,"by":111,"text":112},"48862326","nixus76","Very cool! Does it require some kind of scraping of a third party web app, like clicking through with a browser agent? If so, how can I be sure it does not delete my account or…",[114,121],{"value":115,"source":70,"evidence":116},"Open source the tool",[117],{"id":118,"by":119,"text":120},"48855219","west_subject","Is this opensource ? like the tool itself ? in it's entirety ??",{"value":122,"source":70,"evidence":123},"Demos of bespoke apps like banking or utility portals",[124,128],{"id":125,"by":126,"text":127},"48849775","robszumski","Really cool. It would be interesting to see a demo of an app that is clearly more bespoke, like your Tesla account, online banking, movie theatre ticketing, etc.",{"id":129,"by":130,"text":131},"48855831","Synthetic7346","Gas and energy utility portal",[133,137,144],{"value":134,"source":70,"evidence":135},"How are terms of service and consent handled",[136],{"id":88,"by":89,"text":90},{"value":138,"source":70,"evidence":139},"How it differs from printingpress.dev",[140],{"id":141,"by":142,"text":143},"48859933","rahimnathwani","Does this do anything that this doesn't do? https:\u002F\u002Fprintingpress.dev\u002F",{"value":145,"source":70,"evidence":146},"Which LLM model is used",[147],{"id":148,"by":149,"text":150},"48857021","akash91","Which LLM model is it using?",[152,159,163],{"value":153,"source":70,"evidence":154},"WebMCP",[155],{"id":156,"by":157,"text":158},"48864872","arjunchint","I am not following a couple of things: - you sell to websites an in-app agent - why not just have them give you API spec, why reverse engineer their APIs? A bit longer term,…",{"value":160,"source":70,"evidence":161},"printingpress.dev",[162],{"id":141,"by":142,"text":143},{"value":164,"source":70,"evidence":165},"rtrvr.ai",[166],{"id":167,"by":168,"text":169},"48867682","quarkcarbon279","I'm so surprised you didn't add your agent on your own website? And the same fundamentals of a browser agent why you can't achieve everything with APIs alone apply here too…",{"comments":171,"answered":172,"key":173},14,10,[174,175,178],{"id":55,"text":56},{"id":176,"text":177},"48862959","Agreed - and especially when the API changes..",{"id":179,"text":180},"48862949","We use a browser-based agent to learn all the APIs and turn them into skills. Most users will run this in a staging\u002Ftest account to create all the recipes\u002Fblueprints. Our agent…",{"commenters":182,"max_depth":183,"maker_replies":171,"first_comment_mins":184,"lifespan_hours":185},26,4,49,97,[187,189,191,193,195,196,197,198,200,203,205,207,210,213,215,219,221,224,227,231,233,235,236,238,240,242,244,245,250,252,256,258,260,261,262,265,267,271,275,278,280,284],[88,32,33,188,89,32],"project\u002Fneutral\u002Fprivacy",[92,32,40,190,93,32],"project\u002Fcritical\u002Fprivacy",[55,32,32,192,10,40],"maker\u002Fneutral\u002Fnone",[80,40,39,194,81,32],"project\u002Fpositive\u002Fidea",[176,40,32,192,10,40],[110,37,33,188,111,32],[179,37,32,192,10,40],[199,37,39,194,111,32],"48864234",[201,37,32,202,10,40],"48864625","project\u002Fneutral\u002Fdesign",[156,33,33,204,157,32],"project\u002Fneutral\u002Fidea",[206,33,32,204,10,40],"48864966",[208,33,39,194,209,32],"48865323","johnpaulkiser",[211,33,32,212,10,40],"48865541","project\u002Fneutral\u002Fnone",[167,183,33,214,168,32],"maker\u002Fneutral\u002Fidea",[216,39,32,217,218,32],"48865800","other\u002Fneutral\u002Fnone","teravor",[220,39,32,188,10,40],"48865930",[222,39,32,223,218,32],"48865971","commenter\u002Fneutral\u002Fprivacy",[225,39,33,188,226,32],"48870144","hahahaa",[228,229,32,217,230,32],"48878474",6,"throwawayk7h",[118,232,33,212,119,32],7,[234,232,32,192,10,40],"48855416",[129,232,33,204,130,32],[237,232,33,204,119,32],"48856268",[125,239,33,204,126,32],8,[241,239,32,212,10,40],"48850136",[141,30,40,243,142,32],"project\u002Fcritical\u002Fidea",[73,172,39,194,74,32],[246,247,33,248,249,32],"48881152",11,"project\u002Fneutral\u002Fperformance","gauravs19",[251,247,32,248,10,40],"48895766",[253,31,39,254,255,32],"48853950","project\u002Fpositive\u002Fnone","zenniskayy",[148,257,33,212,149,32],13,[259,257,32,212,10,40],"48861286",[99,171,40,190,100,32],[103,171,33,188,104,32],[263,171,32,264,10,40],"48863155","project\u002Fneutral\u002Fdocs",[266,171,32,188,10,40],"48861275",[268,269,39,254,270,32],"48889337",15,"atharva_patill",[272,273,39,254,274,32],"48856836",16,"Priyansh7",[276,17,39,254,277,32],"48848614","reaganhsu",[279,17,32,192,10,40],"48849291",[281,282,39,194,283,32],"48863740",18,"dodobirdy",[285,286,32,217,287,32],"48850531",19,"no7z",[],[290,295,299,303,308,313],{"id":291,"name":292,"points":293,"category":294},"48845049","18 Words",1160,"games",{"id":296,"name":297,"points":298,"category":19},"48842459","colibri",937,{"id":300,"name":301,"points":302,"category":294},"48896286","Super Dario",397,{"id":304,"name":305,"points":306,"category":307},"48875377","Ant",330,"languages",{"id":309,"name":310,"points":311,"category":312},"48883305","Juggler",280,"dev_tools",{"id":314,"name":315,"points":316,"category":317},"48926939","Firefox in WebAssembly",273,"creative",false,"v2",{"id":321,"name":5,"line":6,"ai":318,"cat":19,"year":12,"points":13,"comments":14,"rec":27,"s":322,"top":17,"kw":323,"maker":10,"domain":324,"tier":18,"attempts":32,"strip":325,"url":-1,"mix":326,"praise":69,"objection":85,"sub":20},48847834,0.24,[23,24,25,26],"","3105030503050300030333301530530130055505",[30,31,32,33],1794036704632]