[{"data":1,"prerenderedAt":448},["ShallowReactive",2],{"project-45063874":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":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":46,"post_text":47,"what":48,"said":92,"maker_in_thread":192,"shape":203,"grid":207,"attempts":410,"same_week":411,"maker_shows":33,"maker_hidden":440,"reader_version":441,"card":442},"45063874","Sosumi.ai","Convert Apple Developer docs to AI-readable Markdown","title","Show HN: Sosumi.ai – Convert Apple Developer docs to AI-readable Markdown","https:\u002F\u002Fsosumi.ai\u002F","sosumi.ai","_mattt",1756474216,2025,133,72,564,3837,15,"notable","dev_tools","documentation converter","web_app",[24,25,26,27,28],"apple developer docs","markdown","swift","swiftui","llm context","mixed",0.208,{"positive":32,"neutral":32,"mixed":33,"critical":34},14,1,6,35,{"idea":37,"execution":40,"performance":42,"docs":43,"design":45},{"positive":38,"critical":39},3,5,{"positive":41,"critical":41},0,{"positive":41,"critical":41},{"positive":44,"critical":33},2,{"positive":33,"critical":41},[38,41,33,33,41,41,38,38,38,38,38,39,39,39,39,41,41,33,38,41,39,33,38,38,33,41,41,41,41,39,39,41,41,39,38,38,39,39,38,39],"I got tired of Claude hallucinating Swift APIs. It does a good job at Python and TypeScript, but ask it about SwiftUI and it's basically guessing.\n\nThe problem? Apple's docs are JavaScript-rendered, so when you paste URLs into AI tools, they just see a blank page. Copy-pasting works but... c'mon.\n\nSo I built something that converts Apple Developer docs to clean markdown. Just swap developer.apple.com with sosumi.ai in any Apple docs URL and you get AI-readable content.\n\nFor example:\n\n- Before: https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Fswift\u002Fdouble\n\n- After: https:\u002F\u002Fsosumi.ai\u002Fdocumentation\u002Fswif",{"problem":49,"audience":55,"pricing":68,"motivation":74,"time_to_build":79,"stack":80,"openness":89,"stage":90,"team_size":91},{"value":50,"source":51,"evidence":52},"Apple developer docs are JavaScript-rendered, so AI tools see blank pages","maker",[53],{"id":54},"post",{"value":56,"source":57,"evidence":58},"Developers using AI assistants on Apple platform code","inferred",[59,60,64],{"id":54},{"id":61,"by":62,"text":63},"45064128","smerrill25","As someone who is currently building my first iOS app, I am extremely happy to have this. This will be much nicer doing my animation documentation.",{"id":65,"by":66,"text":67},"45069801","zach_moore","I’m building a swift app now and will most definitely give this a try",{"value":69,"source":51,"evidence":70},"free public service",[71],{"id":72,"by":11,"text":73},"45064979","I agree, it'd be great if Apple provided accessible documentation in the first place. Time was, Apple published self-contained docsets that you could download and read offline.…",{"value":75,"source":51,"evidence":76},"Claude hallucinated Swift APIs; wanted AI to read Apple docs",[77,78],{"id":54},{"id":72,"by":11,"text":73},null,[81,85],{"value":82,"source":51,"evidence":83},"Hono",[84],{"id":54},{"value":86,"source":51,"evidence":87},"Cloudflare Workers",[88],{"id":54},"open_source","launched","unknown",{"praise":93,"objections":111,"requests":137,"questions":155,"alternatives":166},[94,104],{"value":95,"source":96,"evidence":97},"Useful for Swift and iOS developers","commenter",[98,99,100],{"id":61,"by":62,"text":63},{"id":65,"by":66,"text":67},{"id":101,"by":102,"text":103},"45068862","awaseem","Can't wait to use this. Its awesome!",{"value":105,"source":96,"evidence":106},"Nostalgic sound easter egg",[107],{"id":108,"by":109,"text":110},"45077486","jcoletti","Ha, amazing and so nostalgic",[112,123,130],{"value":113,"source":96,"evidence":114},"Framing around AI is unnecessary; just Markdown",[115,119],{"id":116,"by":117,"text":118},"45064947","oneeyedpigeon","\"AI-readable Markdown\" — can't we just say \"Markdown\"? I'm serious about this, why are we focussing on making things accessible to AI when they should just be machine-readable…",{"id":120,"by":121,"text":122},"45065177","tempodox","An “AI” that makes text “AI”-readable. How does that make any sense?",{"value":124,"source":96,"evidence":125},"Apple's JavaScript rendering of docs is questionable",[126],{"id":127,"by":128,"text":129},"45125159","olgeni","> Apple's docs are JavaScript-rendered Makes you wonder what's the point of this “choice”.",{"value":131,"source":96,"evidence":132},"Conversion may drop exact function signatures",[133],{"id":134,"by":135,"text":136},"45066645","qazxcvbnmlp","Great promise; sometimes need to reference docs to build context. I looked at the examples you posted and did a quick glance. For example '''init?(exactly: Float80)''' the tool…",[138,148],{"value":139,"source":96,"evidence":140},"Open source the code",[141,145],{"id":142,"by":143,"text":144},"45064483","edomyrots","Do you have a public repo? Would love to see how it's working.",{"id":146,"by":102,"text":147},"45068868","Is it open source?",{"value":149,"source":96,"evidence":150},"Downloadable archive for local search",[151],{"id":152,"by":153,"text":154},"45073458","saagarjha","Is it possible to download an archive of the data so I can run searches against it locally (without AI)?",[156,159],{"value":147,"source":96,"evidence":157},[158],{"id":146,"by":102,"text":147},{"value":160,"source":96,"evidence":161},"How does it handle concurrency docs?",[162],{"id":163,"by":164,"text":165},"45063936","thomask1995","Very interesting. You have any before and after examples? Curious how it handles some of the concurrency stuff. Actors, async\u002Fawait etc..",[167,174,181,188],{"value":168,"source":96,"evidence":169},"llm.codes",[170],{"id":171,"by":172,"text":173},"45065982","jordanmorgan10","Another awesome project that does this for Apple's docs: https:\u002F\u002Fllm.codes\u002F Also, Apple has started shipping docs like this, too. They are a bit hidden but you can find them…",{"value":175,"source":96,"evidence":176},"Jina AI Reader",[177],{"id":178,"by":179,"text":180},"45066472","michaelmior","There are APIs such as Jina AI's reader API that do this pretty well. It doesn't produce output as clean as Sosumi for Apple docs, but it's free and does a decent job.…",{"value":182,"source":96,"evidence":183},"pure.md",[184],{"id":185,"by":186,"text":187},"45067384","crazylogger","https:\u002F\u002Fpure.md is exactly what you're looking for. But stripping complex formats like html & pdf down to simple markdown is a hard problem. It's nearly impossible to infer what…",{"value":189,"source":96,"evidence":190},"Xcode bundled AdditionalDocumentation",[191],{"id":171,"by":172,"text":173},{"comments":32,"answered":34,"key":193},[194,197,200],{"id":195,"text":196},"45067047","Thanks for pointing that out. That’s most likely a mistake in how I’m translating into Markdown. I’ll look into this.",{"id":198,"text":199},"45082148","Following up — I just pushed a fix for this. This latest version significantly improves how references like protocol conformances and default implementations are rendered.",{"id":201,"text":202},"45082077","I think HTML -> Markdown is a bit of a red herring. In many cases, a Markdown distillation of HTML can improve the signal-to-noise ratio — especially for sites mired in \u003Cdiv> tag…",{"commenters":204,"max_depth":205,"maker_replies":32,"first_comment_mins":39,"lifespan_hours":206},49,4,140,[208,212,216,218,221,223,227,230,233,235,238,240,242,244,248,251,253,254,256,259,261,265,268,271,272,275,279,283,285,287,292,294,298,302,304,308,310,313,315,319,321,324,327,329,331,335,336,338,340,344,347,350,353,355,357,359,361,364,367,369,371,373,377,380,383,385,386,390,395,398,402,406],[209,41,38,210,211,41],"45064056","project\u002Fneutral\u002Fnone","dewey",[213,41,41,214,215,41],"45066062","other\u002Fneutral\u002Fnone","CharlesW",[217,41,41,214,211,41],"45066301",[219,41,41,214,220,41],"45069804","jbgt",[116,33,33,222,117,41],"project\u002Fcritical\u002Fidea",[224,33,41,225,226,41],"45065022","commenter\u002Fneutral\u002Fnone","forrestthewoods",[228,33,33,222,229,41],"45070263","DeepYogurt",[231,33,41,225,232,41],"45070560","zapzupnz",[234,33,41,225,226,41],"45070657",[236,33,41,214,237,41],"45073110","socalgal2",[134,44,38,239,135,41],"project\u002Fmixed\u002Fexecution",[195,44,41,241,11,33],"maker\u002Fneutral\u002Fexecution",[198,44,41,243,11,33],"maker\u002Fneutral\u002Fnone",[245,38,38,246,247,41],"45065489","project\u002Fneutral\u002Fidea","danielfalbo",[249,38,38,210,250,41],"45065973","tiahura",[178,38,38,252,179,41],"project\u002Fneutral\u002Fperformance",[185,38,38,210,186,41],[201,38,41,255,11,33],"maker\u002Fneutral\u002Fidea",[257,205,38,246,258,41],"45068765","Someone",[260,205,41,241,11,33],"45070008",[262,39,39,263,264,41],"45073454","project\u002Fpositive\u002Fidea","pomber",[266,34,39,267,109,41],"45064846","project\u002Fpositive\u002Fnone",[269,34,41,270,11,33],"45065344","project\u002Fneutral\u002Fdesign",[108,34,39,267,109,41],[61,273,39,274,62,41],7,"project\u002Fpositive\u002Fdocs",[276,277,39,263,278,41],"45066821",8,"novok",[280,281,41,214,282,41],"45064802",9,"h1fra",[284,281,41,214,11,33],"45065183",[286,281,41,225,282,41],"45065971",[288,289,41,290,291,41],"45065476",10,"other\u002Fneutral\u002Fidea","croes",[293,289,41,225,66,41],"45070378",[295,296,33,222,297,41],"45071640",11,"AzzyHN",[299,300,39,274,301,41],"45066997",12,"grues-dinner",[120,303,33,222,121,41],13,[305,32,41,306,307,41],"45065058","other\u002Fneutral\u002Fdocs","ChrisMarshallNY",[309,32,41,214,11,33],"45065242",[311,32,39,312,307,41],"45065258","maker\u002Fpositive\u002Fnone",[127,18,33,314,128,41],"project\u002Fcritical\u002Fdocs",[316,317,41,214,318,41],"45065442",16,"fabiensanglard",[163,320,38,246,164,41],17,[322,320,41,323,11,33],"45064107","project\u002Fneutral\u002Fdocs",[325,320,38,246,326,41],"45065039","wahnfrieden",[152,328,38,323,153,41],18,[330,328,41,243,11,33],"45082107",[332,333,33,222,334,41],"45064508",19,"diimdeep",[72,333,41,243,11,33],[337,333,41,306,334,41],"45065588",[339,333,41,210,11,33],"45092333",[341,342,41,214,343,41],"45065994",20,"the_arun",[345,342,41,214,346,41],"45066369","y1n0",[348,342,41,214,349,41],"45066406","justmedep",[351,342,41,214,352,41],"45072107","Lockal",[354,342,41,214,278,41],"45066837",[65,356,39,267,66,41],21,[142,358,39,267,143,41],22,[360,358,41,243,11,33],"45064609",[362,358,41,225,363,41],"45064629","sneak",[365,358,41,225,366,41],"45064958","joshstrange",[368,358,41,225,117,41],"45065003",[370,358,41,243,11,33],"45092335",[171,372,39,263,172,41],23,[374,375,38,210,376,41],"45065085",24,"hirvi74",[378,375,38,210,379,41],"45065259","guestbest",[381,375,38,210,382,41],"45065954","asimovDev",[101,384,39,267,102,41],25,[146,384,38,210,102,41],[387,388,39,267,389,41],"45069139",26,"hamza_q_",[391,392,39,393,394,41],"45065117",27,"project\u002Fpositive\u002Fdesign","miki123211",[396,392,41,397,11,33],"45082117","maker\u002Fpositive\u002Fdesign",[399,400,38,246,401,41],"45069205",28,"WA",[403,404,39,267,405,41],"45071541",29,"rtk0",[407,408,41,214,409,41],"45070490",30,"amelius",[],[412,417,422,427,432,436],{"id":413,"name":414,"points":415,"category":416},"45071722","Hacker News em dash user leaderboard",377,"data",{"id":418,"name":419,"points":420,"category":421},"45088427","NeuroPriest",155,"games",{"id":423,"name":424,"points":425,"category":426},"45064210","HN Overlooked",118,"productivity",{"id":428,"name":429,"points":430,"category":431},"45115974","Writing Arabic in English",111,"languages",{"id":433,"name":434,"points":435,"category":20},"45102664","Moribito",106,{"id":437,"name":438,"points":439,"category":20},"45052200","SwiftAI",74,false,"v2",{"id":443,"name":5,"line":6,"ai":440,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":444,"top":18,"kw":445,"maker":11,"domain":10,"tier":19,"attempts":41,"strip":446,"url":9,"mix":447,"praise":95,"objection":113,"sub":21},45063874,0.21,[24,25,26,27,28],"3011003333355550013051331000055005335535",[32,32,33,34],1794036681581]