[{"data":1,"prerenderedAt":519},["ShallowReactive",2],{"project-37393099":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":34,"aspects":35,"strip":45,"post_text":48,"what":49,"said":94,"maker_in_thread":240,"shape":253,"grid":257,"attempts":483,"same_week":484,"maker_shows":37,"maker_hidden":511,"reader_version":512,"card":513},"37393099","RecipeUI","Open-source Postman alternative with type safety","title","Show HN: Open-source Postman alternative with type safety","https:\u002F\u002Frecipeui.com\u002F","recipeui.com","Volbohel",1693928014,2023,275,87,174,3109,6,"legend","dev_tools","api client","desktop_app",[24,21,25,26,27],"postman alternative","typescript autocomplete","rest api testing","open source api tool","curious",0.061,{"positive":31,"neutral":32,"mixed":33,"critical":33},7,22,4,37,{"execution":36,"idea":38,"design":41,"docs":42,"privacy":43,"performance":44},{"positive":37,"critical":37},1,{"positive":39,"critical":40},2,0,{"positive":40,"critical":37},{"positive":37,"critical":37},{"positive":40,"critical":40},{"positive":37,"critical":37},[46,40,40,40,37,40,46,46,40,46,40,40,46,40,40,46,40,37,47,47,37,47,46,40,46,40,46,46,46,46,47,46,46,46,47,47,37,46,46,47],3,5,"Hello! This is Jeane and Samuel and we’re building RecipeUI. RecipeUI is an open source Postman alternative that uses TypeScript to statically type and autocomplete requests.\n\nWe built this because current API tools don’t deal with the fact that some APIs are just painful to work with. For us, it’s usually error after error as we try to figure out how to properly form the first request.\n\nWe recorded a demo to show you how TypeScript helps us autocomplete a request correctly.\nhttps:\u002F\u002Fyoutu.be\u002FO_Mly_p-g5s\n\nHow does our platform improve the developer experience? The analogy is similar to using a ",{"problem":50,"audience":56,"pricing":65,"motivation":66,"time_to_build":65,"stack":70,"openness":91,"stage":92,"team_size":93},{"value":51,"source":52,"evidence":53},"Existing API tools are dynamically typed, so users guess parameters and struggle with painful APIs","maker",[54],{"id":55},"post",{"value":57,"source":58,"evidence":59},"Developers who build or test REST APIs","inferred",[60,61],{"id":55},{"id":62,"by":63,"text":64},"37402335","jabbawookiees","My take: RecipeUI a Postman-like tool that offers convenient type safety and autocomplete on top of what Postman already does. What is Postman? It's a tool that allows you to…",null,{"value":67,"source":52,"evidence":68},"Makers found APIs painful to work with, and the tool started as an internal Robinhood tool",[69],{"id":55},[71,75,79,83,87],{"value":72,"source":52,"evidence":73},"Rust",[74],{"id":55},{"value":76,"source":52,"evidence":77},"Tauri",[78],{"id":55},{"value":80,"source":52,"evidence":81},"NextJS",[82],{"id":55},{"value":84,"source":52,"evidence":85},"Supabase",[86],{"id":55},{"value":88,"source":52,"evidence":89},"TypeScript",[90],{"id":55},"open_source","launched","team",{"praise":95,"objections":118,"requests":144,"questions":176,"alternatives":198},[96,104,111],{"value":97,"source":98,"evidence":99},"Curl import works well and saves time","commenter",[100],{"id":101,"by":102,"text":103},"37397457","cco","That import via curl was awesome! Something not hard to do by hand but such a time saver. I'm going to check this out!",{"value":105,"source":98,"evidence":106},"Type definitions and autocomplete are useful",[107],{"id":108,"by":109,"text":110},"37410832","RandomChance","I love the typescript definitions! I do have to say the way that pasting anything into the URL bar deletes the existing URL is super painful! I just wanted to change the variable…",{"value":112,"source":98,"evidence":113},"Demo video is good",[114],{"id":115,"by":116,"text":117},"37399870","jcuenod","Your youtube video is an awesome demo. Congrats!",[119,130,137],{"value":120,"source":98,"evidence":121},"No OpenAPI import in current version",[122,126],{"id":123,"by":124,"text":125},"37402311","amne","This needs a button to import an OpenAPI spec (2.0, 3.0, doesn't matter) and let the user go wild on his own APIs. I've never thought of an API exploration tool to be a…",{"id":127,"by":128,"text":129},"37406411","arek_nawo","I've seen quite a few Postman alternatives pop up recently (quite curious what's the reasoning behind that?). Currently I'm mostly using Hoppscotch - also open-source with pretty…",{"value":131,"source":98,"evidence":132},"Unclear what the product does without knowing Postman",[133],{"id":134,"by":135,"text":136},"37401757","ta8645","After taking a quick look, I still don't know what this is, what Postman is, or who would use either, or for what. No doubt I could spend a bit more time to sort it out, but it…",{"value":138,"source":98,"evidence":139},"Curl import truncated query params and UI quirks",[140],{"id":141,"by":142,"text":143},"37401797","avinassh","This is nice! I am enjoying it so far. Earlier, I was trying to find Postman alternatives and I went back to Postman because of UI quirks. I found couple of issues with RecipeUI…",[145,154,161,169],{"value":146,"source":98,"evidence":147},"OpenAPI spec import",[148,149,153],{"id":123,"by":124,"text":125},{"id":150,"by":151,"text":152},"37400552","cebert","I haven’t downloaded RecipeUI yet to give it a try, but plan to. Does RecipeUI support importing OpenAPI specs in order to enforce type safety? I personally don’t like watching…",{"id":127,"by":128,"text":129},{"value":155,"source":98,"evidence":156},"GraphQL support",[157],{"id":158,"by":159,"text":160},"37403228","WizardClickBoy","Any plans to add GraphQL support? Feels like it would be a great match, since in many cases you can fetch the schema directly from the URL.",{"value":162,"source":98,"evidence":163},"Keyboard shortcuts and scripting",[164,165],{"id":141,"by":142,"text":143},{"id":166,"by":167,"text":168},"37402555","asmor","The one piece of Postman that only Hoppscotch (a Postman fork) seems replicate that I definitely want is scripting. Often requests depend upon data from another, and being able…",{"value":170,"source":98,"evidence":171},"Flatpak build",[172],{"id":173,"by":174,"text":175},"37403735","e-brake","Looks great! Would love if there were a flatpak available to take this for a spin.",[177,184,191],{"value":178,"source":98,"evidence":179},"How does TypeScript help autocomplete compared to function names?",[180],{"id":181,"by":182,"text":183},"37401672","sandGorgon","genuinely curious - how does Typescript help in autocomplete ? i thought it was equally fast using function name.",{"value":185,"source":98,"evidence":186},"Does it manage secrets safely?",[187],{"id":188,"by":189,"text":190},"37397630","pseudotrash","It seems postman has put collections behind a paywall so timing for this is great. Does ReceipeUI manage secrets or have some suggestions to deal with this to avoid things…",{"value":192,"source":98,"evidence":193},"Can it import or export TypeScript interfaces?",[194],{"id":195,"by":196,"text":197},"37395463","fyzix","Looks promising, can it import\u002Fexport typescript interfaces?",[199,207,218,229,233],{"value":200,"source":98,"evidence":201},"Postman",[202,203],{"id":141,"by":142,"text":143},{"id":204,"by":205,"text":206},"37402437","edpichler","Just an advice: Be careful with Postman. It seems they upload all your secrets to their servers. We stopped to use it a time ago. I don't know if they changed in this regard.",{"value":208,"source":98,"evidence":209},"Hoppscotch",[210,214],{"id":211,"by":212,"text":213},"37399754","gabereiser","Have you seen hoppscotch[1]? They have been my postman alternative for quite some time now. [1] https:\u002F\u002Fhoppscotch.io",{"id":215,"by":216,"text":217},"37403072","_ache_","Postman isn't free, it's proprietary and expensive (~19$ per user per month). I don't use VS Code and didn't try VSC plugins but the FOSS alternatives are not up to the same…",{"value":219,"source":98,"evidence":220},"Insomnia",[221,225],{"id":222,"by":223,"text":224},"37404782","dvngnt_","There's also insomnia",{"id":226,"by":227,"text":228},"37403630","consoomer","Interesting timing since Insomnia just died on me with the recent flatpak update (apparently my LTS linux install doesn't have the correct glibc, so goodbye Insomnia I guess). I…",{"value":230,"source":98,"evidence":231},"HTTPie",[232],{"id":215,"by":216,"text":217},{"value":234,"source":98,"evidence":235},"Thunder Client",[236],{"id":237,"by":238,"text":239},"37402614","ShadowBanThis01","Why were you looking for a Postman alternative? I thought it was open-source. I'm using Thunder Client is VS Code at the moment, but if my needs become more complicated I don't…",{"comments":241,"answered":242,"key":243},11,8,[244,247,250],{"id":245,"text":246},"37398917","Really nice embarrassing catches, thank you for flagging and debugging!!! Patch fixed both of these :)",{"id":248,"text":249},"37408281","Will follow up tomorrow! Our initial product had import OpenAPI schema, but we temporarily removed it after finding a few bugs.",{"id":251,"text":252},"37400645","Looking forward to your feedback when you use it! Currently we validate with mappings from TypeScript to JSONSchema. OpenAPI is definitely a gold standard, but I think JSONSchema…",{"commenters":254,"max_depth":18,"maker_replies":241,"first_comment_mins":255,"lifespan_hours":256},60,150,283,[258,262,264,268,272,275,278,280,282,284,285,286,287,291,293,295,298,300,303,305,307,308,311,314,316,319,323,325,328,330,333,336,338,339,341,344,346,350,352,354,357,360,363,367,370,373,375,376,379,382,384,386,390,393,396,398,400,403,405,407,410,412,414,417,420,422,425,428,430,434,436,438,442,447,450,452,454,459,462,465,469,472,475,480],[259,40,46,260,261,40],"37398265","project\u002Fmixed\u002Fexecution","digging",[245,40,40,263,11,37],"maker\u002Fpositive\u002Fexecution",[265,40,40,266,267,40],"37400040","commenter\u002Fneutral\u002Fnone","kthielen",[269,40,40,270,271,40],"37400068","other\u002Fneutral\u002Fnone","calvinmorrison",[273,40,40,270,274,40],"37400589","ChristianGeek",[276,40,40,270,277,40],"37401166","AdamJacobMuller",[279,40,40,270,238,40],"37402643",[281,40,40,266,277,40],"37401175",[141,37,37,283,142,40],"project\u002Fcritical\u002Fexecution",[237,37,40,266,238,40],[215,37,40,270,216,40],[222,37,40,270,223,40],[288,37,46,289,290,40],"37403112","project\u002Fneutral\u002Fidea","xmodem",[292,37,40,270,238,40],"37420713",[123,39,46,294,124,40],"project\u002Fmixed\u002Fdesign",[296,39,40,297,238,40],"37402562","other\u002Fcritical\u002Fnone",[299,39,40,270,124,40],"37402813",[301,39,40,270,302,40],"37404460","ushakov",[248,39,40,304,11,37],"maker\u002Fneutral\u002Fnone",[150,46,46,306,151,40],"project\u002Fneutral\u002Fdocs",[251,46,40,304,11,37],[309,46,40,270,310,40],"37400758","chrisweekly",[312,46,40,270,313,40],"37400964","yen223",[315,46,40,270,238,40],"37402658",[317,46,40,270,318,40],"37404175","JoBrad",[320,46,40,321,322,40],"37402283","other\u002Fneutral\u002Fdocs","ishche",[324,46,46,289,277,40],"37401189",[326,46,40,270,327,40],"37543451","aabbcc1241",[204,33,40,329,205,40],"other\u002Fneutral\u002Fprivacy",[331,33,40,329,332,40],"37403312","tyingq",[334,33,40,329,335,40],"37407108","rabbah",[337,33,40,270,332,40],"37411194",[127,47,46,289,128,40],[340,47,40,304,11,37],"37408276",[342,47,40,270,343,40],"37413595","gangstead",[134,18,37,345,135,40],"project\u002Fcritical\u002Fdocs",[347,18,40,348,349,40],"37402102","commenter\u002Fneutral\u002Fdocs","JrProgrammer",[351,18,40,348,135,40],"37402257",[62,18,47,353,63,40],"project\u002Fpositive\u002Fidea",[355,18,40,266,356,40],"37403130","floorballchamp",[358,18,40,266,359,40],"37403198","zknowledge",[361,18,47,353,362,40],"37402262","johngladtj",[364,18,46,365,366,40],"37402776","project\u002Fneutral\u002Fnone","santialbo",[368,18,37,369,356,40],"37403120","project\u002Fcritical\u002Fdesign",[371,18,40,266,372,40],"37404299","thiht",[101,31,47,374,102,40],"project\u002Fpositive\u002Fexecution",[166,242,46,289,167,40],[377,242,40,266,378,40],"37402698","jve",[380,242,40,266,381,40],"37403276","croes",[383,242,40,270,302,40],"37404494",[385,242,40,270,335,40],"37407115",[387,388,46,289,389,40],"37401485",9,"konaraddi",[391,388,40,270,392,40],"37401945","nomercy400",[394,388,40,266,395,40],"37402382","rgblambda",[397,388,40,304,11,37],"37406204",[226,399,46,294,227,40],10,[401,241,40,270,402,40],"37425918","some_guy_in_ca",[195,404,46,289,196,40],12,[406,404,40,304,11,37],"37396831",[408,404,46,289,409,40],"37397386","_boffin_",[108,411,46,294,109,40],13,[158,413,46,289,159,40],14,[415,413,40,416,11,37],"37406215","maker\u002Fneutral\u002Fidea",[115,418,47,419,116,40],15,"project\u002Fpositive\u002Fdocs",[173,421,46,365,174,40],16,[423,424,46,289,327,40],"37543428",17,[188,426,46,427,189,40],18,"project\u002Fneutral\u002Fprivacy",[429,426,40,427,11,37],"37397835",[431,426,46,432,433,40],"37402470","project\u002Fneutral\u002Fperformance","myfonj",[435,426,40,432,11,37],"37407410",[181,437,46,289,182,40],19,[439,440,46,365,441,40],"37417408",20,"Alifatisk",[443,444,47,445,446,40],"37397493",21,"project\u002Fpositive\u002Fnone","Canada",[448,32,47,445,449,40],"37398147","fuddle",[211,451,46,365,212,40],23,[453,451,40,289,11,37],"37399846",[455,456,37,457,458,40],"37397832",24,"project\u002Fcritical\u002Fperformance","Legion",[460,456,46,432,461,40],"37399762","codetrotter",[463,464,46,365,116,40],"37398809",25,[466,464,46,467,468,40],"37399708","project\u002Fneutral\u002Fdesign","easygenes",[470,464,46,432,471,40],"37402775","politelemon",[473,464,46,432,474,40],"37410272","yencabulator",[476,477,47,478,479,40],"37396403",26,"project\u002Fpositive\u002Fperformance","prabhatsharma",[481,477,40,482,11,37],"37396809","maker\u002Fneutral\u002Fexecution",[],[485,489,493,498,502,507],{"id":486,"name":487,"points":488,"category":20},"37408150","smolsite.zip",602,{"id":490,"name":491,"points":492,"category":20},"37391848","Puck",451,{"id":494,"name":495,"points":496,"category":497},"37381268","Keep",181,"infrastructure",{"id":499,"name":500,"points":501,"category":20},"37364124","Shaq",155,{"id":503,"name":504,"points":505,"category":506},"37398812","Perplexity",153,"ai",{"id":508,"name":509,"points":510,"category":20},"37371237","RSSfeedASAP",151,false,"v2",{"id":514,"name":5,"line":6,"ai":511,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":515,"top":18,"kw":516,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":517,"url":9,"mix":518,"praise":97,"objection":120,"sub":21},37393099,0.06,[24,21,25,26,27],"3000103303003003015515303033335333551335",[31,32,33,33],1794036641314]