[{"data":1,"prerenderedAt":419},["ShallowReactive",2],{"project-45760321":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":49,"post_text":50,"what":51,"said":73,"maker_in_thread":187,"shape":200,"grid":205,"attempts":382,"same_week":383,"maker_shows":33,"maker_hidden":411,"reader_version":412,"card":413},"45760321","0github","A heatmap diff viewer for code reviews","title","Show HN: I made a heatmap diff viewer for code reviews","https:\u002F\u002F0github.com","0github.com","lawrencechen",1761834118,2025,265,68,213,3837,6,"legend","dev_tools","code review","web_app",[21,24,25,26,27],"pull request","diff viewer","llm code review","heatmap","debated",-0.088,{"positive":31,"neutral":32,"mixed":33,"critical":34},11,15,2,16,44,{"privacy":37,"idea":39,"performance":42,"pricing":43,"design":45,"execution":46,"docs":48},{"positive":38,"critical":33},0,{"positive":40,"critical":41},8,5,{"positive":38,"critical":33},{"positive":44,"critical":38},1,{"positive":44,"critical":38},{"positive":38,"critical":47},3,{"positive":38,"critical":38},[44,47,38,44,47,47,44,41,41,41,47,47,44,38,44,44,38,47,41,41,47,44,47,44,47,38,38,44,47,44,44,47,47,47,41,41,38,41,47,44],"0github.com is a pull request viewer that color-codes every diff line\u002Ftoken by how much human attention it probably needs. Unlike PR-review bots, we try to flag not just by \"is it a bug?\" but by \"is it worth a second look?\" (examples: hard-coded secret, weird crypto mode, gnarly logic, ugly code).\n\nTo try it, replace github.com with 0github.com in any pull-request URL. Under the hood, we split the PR into individual files, and for each file, we ask an LLM to annotate each line with a data structure that we parse into a colored heatmap.\n\nExamples:\n\nhttps:\u002F\u002F0github.com\u002Fmanaflow-ai\u002Fcmux\u002Fpull\u002F666\n",{"problem":52,"audience":58,"pricing":58,"motivation":58,"time_to_build":58,"stack":59,"openness":70,"stage":71,"team_size":72},{"value":53,"source":54,"evidence":55},"Reviewers need to know which diff lines deserve closer attention","maker",[56],{"id":57},"post",null,[60],{"value":61,"source":54,"evidence":62},"LLM (gpt-5-codex, Anthropic model per code)",[63,67],{"id":64,"by":65,"text":66},"45781491","isodev","> Under the hood, we clone the repo into a VM, spin up gpt-5-codex for every diff, and ask it to output a JSON data structure that we parse into a colored heatmap. Wait, you're…",{"id":68,"by":11,"text":69},"45763884","Happy to hear! > Is this using some sort of measure of distance between the expected token in this position vs the actual token? The main implementation is in this file:…","open_source","beta","unknown",{"praise":74,"objections":91,"requests":120,"questions":158,"alternatives":173},[75],{"value":76,"source":77,"evidence":78},"Useful for spotting where to look in large PRs","commenter",[79,83,87],{"id":80,"by":81,"text":82},"45762312","austinwang115","This makes reading long PRs not instantly LGTM… now the heatmap guides my eyes so I know where to look.",{"id":84,"by":85,"text":86},"45762231","cdiamand","This is something I have found missing in my current workflow when reviewing PR's. Particularly in the age of large AI generated PR's. I think most reviewers do this to some…",{"id":88,"by":89,"text":90},"45764794","antback","Very, very useful. I'll give it a try. Thanks for sharing!",[92,100,110],{"value":93,"source":77,"evidence":94},"Sending code to an LLM is expensive and energy-heavy",[95,99],{"id":96,"by":97,"text":98},"45763248","kburman","It’s an interesting direction, but feels pretty expensive for what might still be a guess at what matters. I’m not sure an LLM can really capture project-specific context yet…",{"id":64,"by":65,"text":66},{"value":101,"source":77,"evidence":102},"GitHub sign-in requirement and permissions scare users",[103,107],{"id":104,"by":105,"text":106},"45765105","smcleod","Why does it require signing and granting you full access to act as me on Github to use? cmux-agent requires access to your Github account: ``` Verify your GitHub identity Know…",{"id":108,"by":105,"text":109},"45765804","It's when you first start the app it asks you to login using GitHub before you see anything else.",{"value":111,"source":77,"evidence":112},"Domain 0github.com may trigger trademark issues",[113,117],{"id":114,"by":115,"text":116},"45767265","otterley","You’re not going to be able to keep the domain name 0github.com for too long. I’d suggest you start finding a new one immediately.",{"id":118,"by":115,"text":119},"45767714","Because it violates GitHub’s trademark. I expect them to send the author a cease and desist notice; and if the author is unresponsive or challenges the notice, GitHub will almost…",[121,132,142,149],{"value":122,"source":77,"evidence":123},"Configurable colors and gradient",[124,128],{"id":125,"by":126,"text":127},"45763021","n2d4","> https:\u002F\u002F0github.com\u002Fstack-auth\u002Fstack-auth\u002Fpull\u002F988 Very fun to see my own PR on Hacker News! This looks great. I'm probably gonna keep the threshold set to 0%, so a bit more…",{"id":129,"by":130,"text":131},"45765527","froh","colorbrewer has proven high contrast gradients and also color blind options. a cli command with two options, console (color) and HTML opens all doors, right?",{"value":133,"source":77,"evidence":134},"Legend to filter by category instead of slider",[135,139],{"id":136,"by":137,"text":138},"45762088","timenotwasted","This is very cool and I could see it being really useful especially for those giant PRs. I'd prefer it if instead of the slider I could just click the different heatmap colors…",{"id":140,"by":137,"text":141},"45763275","I was referring to something more akin to a legend like you have in the examples \"(examples: hard-coded secret, weird crypto mode, gnarly logic).\" where I could click \"hard-coded…",{"value":143,"source":77,"evidence":144},"Dark theme support",[145],{"id":146,"by":147,"text":148},"45768670","HellsMaddy","This is cool! Please add a dark theme and respect `prefers-color-scheme: dark` :)",{"value":150,"source":77,"evidence":151},"CLI or IDE integration for pre-PR review",[152,155],{"id":153,"by":11,"text":154},"45763252","Yeah we definitely want to make the gradient and colors configurable. What form factor would make the most sense for you? Maybe a a cli command that renders the diff in cli or…",{"id":156,"by":126,"text":157},"45764178","Either would work, I think. How I do it right now is that I let AI edit automatically, but then check the diff in Cursor before I stage my Git changes. May be different for others.",[159,166],{"value":160,"source":77,"evidence":161},"How to opt out of having code reviewed by this tool",[162],{"id":163,"by":164,"text":165},"45765084","fao_","How do I opt out of this tool? I do not want anyone reviewing my code or projects to use or engage with it and it is explicitly against the TOS of those projects. It would be…",{"value":167,"source":77,"evidence":168},"Whether it uses a token-distance measure",[169],{"id":170,"by":171,"text":172},"45763726","mmastrac","I tried it on a low-complexity Rust PR I worked on a few months back and it did a pretty good job. I'd probably change where the highlights live (for example x.y.z() -> x.w.z()…",[174,181],{"value":175,"source":77,"evidence":176},"Salience text highlighting tool",[177],{"id":178,"by":179,"text":180},"45762175","383toast","Reminds me of this one, highlighting for text https:\u002F\u002Fgithub.com\u002Fmattneary\u002Fsalience",{"value":182,"source":77,"evidence":183},"Sentry-style stack-trace correlation",[184],{"id":185,"by":97,"text":186},"45763902","For the correlation idea, you might take a look at how Sentry does it, they rely mostly on stack traces, error messages, and pattern matching to map issues back to code areas.…",{"comments":188,"answered":189,"key":190},13,7,[191,194,197],{"id":192,"text":193},"45765207","Public repos shouldn't require being signed in. Just tested these example links in incognito and seemed to work? https:\u002F\u002F0github.com\u002Fmanaflow-ai\u002Fcmux\u002Fpull\u002F666…",{"id":195,"text":196},"45767432","cmux desktop app currently requires signing in to GitHub. We will build out better support for local repositories and remove sign in requirement soon.",{"id":198,"text":199},"45763479","Yeah this is honestly pretty expensive to run today. > I’m not sure an LLM can really capture project-specific context yet from a single PR diff. We had an even more expensive…",{"commenters":201,"max_depth":202,"maker_replies":188,"first_comment_mins":203,"lifespan_hours":204},42,4,142,47,[206,208,210,211,212,216,218,220,222,225,227,230,233,237,241,245,247,249,250,252,253,256,258,262,265,266,268,269,271,272,274,276,277,279,281,283,286,288,290,292,296,300,304,307,310,312,316,319,323,325,327,330,332,336,339,341,345,350,352,354,358,361,363,367,372,374,377,379],[104,38,44,207,105,38],"project\u002Fcritical\u002Fprivacy",[192,38,38,209,11,44],"project\u002Fneutral\u002Fprivacy",[108,38,47,209,105,38],[195,38,38,209,11,44],[213,38,38,214,215,38],"45769040","commenter\u002Fneutral\u002Fprivacy","csomar",[96,44,44,217,97,38],"project\u002Fcritical\u002Fidea",[198,44,38,219,11,44],"project\u002Fneutral\u002Fperformance",[185,44,47,221,97,38],"project\u002Fneutral\u002Fidea",[223,44,47,219,224,38],"45765217","CuriouslyC",[226,44,38,221,11,44],"45765821",[228,44,44,217,229,38],"45764303","nonethewiser",[231,44,41,232,224,38],"45765157","project\u002Fpositive\u002Fpricing",[234,44,38,235,236,38],"45766386","commenter\u002Fneutral\u002Fperformance","fluoridation",[238,44,41,239,240,38],"45765672","project\u002Fpositive\u002Fidea","ivanjermakov",[242,44,38,243,244,38],"45765995","commenter\u002Fneutral\u002Fidea","cerved",[125,33,41,246,126,38],"project\u002Fpositive\u002Fdesign",[153,33,38,248,11,44],"project\u002Fneutral\u002Fdesign",[156,33,47,248,126,38],[251,33,38,221,11,44],"45764658",[129,33,47,248,130,38],[254,33,44,217,255,38],"45769394","blks",[114,47,44,257,115,38],"project\u002Fcritical\u002Fnone",[259,47,38,260,261,38],"45767622","commenter\u002Fneutral\u002Fnone","personjerry",[263,47,44,257,264,38],"45767665","nine_k",[118,47,44,257,115,38],[64,202,44,267,65,38],"project\u002Fcritical\u002Fperformance",[136,41,47,248,137,38],[270,41,38,248,11,44],"45762224",[140,41,47,248,137,38],[170,18,47,273,171,38],"project\u002Fmixed\u002Fexecution",[68,18,38,275,11,44],"project\u002Fneutral\u002Fnone",[84,189,41,239,85,38],[278,189,38,275,11,44],"45762270",[280,189,41,239,85,38],"45762462",[282,189,47,221,81,38],"45762551",[284,40,44,267,285,38],"45763100","ramonga",[287,40,38,219,11,44],"45763189",[289,40,38,219,11,44],"45763277",[291,40,47,219,81,38],"45765206",[293,294,44,257,295,38],"45763030",9,"petralithic",[297,298,47,248,299,38],"45762051",10,"jtwaleson",[301,31,38,302,303,38],"45767066","other\u002Fneutral\u002Fnone","mattfrommars",[305,31,38,302,306,38],"45767203","rahimnathwani",[308,31,38,302,309,38],"45767228","joshribakoff",[311,31,38,302,11,44],"45767295",[313,31,44,314,315,38],"45769017","project\u002Fcritical\u002Fexecution","rf15",[317,31,38,302,318,38],"45773431","rs186",[320,321,47,248,322,38],"45762765",12,"wiether",[324,321,38,221,11,44],"45764035",[326,321,47,221,322,38],"45769317",[328,188,44,217,329,38],"45774928","MattyRad",[331,188,44,314,329,38],"45775137",[333,334,41,239,335,38],"45780629",14,"DanielBryars",[337,32,44,217,338,38],"45769507","rckt",[340,34,44,314,315,38],"45769000",[342,343,41,239,344,38],"45771535",17,"usrxcghghj",[346,347,47,348,349,38],"45762421",18,"project\u002Fmixed\u002Fidea","nzach",[80,351,41,239,81,38],19,[88,353,41,239,89,38],20,[355,356,41,239,357,38],"45762795",21,"skeptrune",[359,356,47,360,81,38],"45763024","maker\u002Fneutral\u002Fdocs",[362,356,38,260,357,38],"45763183",[364,365,47,221,366,38],"45764490",22,"rishabhaiover",[368,369,41,370,371,38],"45765708",23,"project\u002Fpositive\u002Fnone","tiffnami",[146,373,47,248,147,38],24,[178,375,38,376,179,38],25,"other\u002Fneutral\u002Fidea",[163,378,44,207,164,38],26,[380,378,38,260,381,38],"45765213","lpapez",[],[384,389,394,398,402,407],{"id":385,"name":386,"points":387,"category":388},"45777810","Strange Attractors",804,"creative",{"id":390,"name":391,"points":392,"category":393},"45825733","book.sv",606,"ai",{"id":395,"name":396,"points":397,"category":393},"45783640","nokode",436,{"id":399,"name":400,"points":401,"category":388},"45811093","Terra (layoutit)",371,{"id":403,"name":404,"points":405,"category":406},"45758421","roberdam.com",247,"finance_crypto",{"id":408,"name":409,"points":410,"category":388},"45826472","See chords as flags",129,false,"v2",{"id":414,"name":5,"line":6,"ai":411,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":415,"top":18,"kw":416,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":417,"url":9,"mix":418,"praise":76,"objection":93,"sub":21},45760321,-0.09,[21,24,25,26,27],"1301331555331011035531313001311333550531",[31,32,33,34],1793991133223]