[{"data":1,"prerenderedAt":349},["ShallowReactive",2],{"project-47247762":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":46,"post_text":48,"what":49,"said":60,"maker_in_thread":171,"shape":173,"grid":178,"attempts":312,"same_week":313,"maker_shows":47,"maker_hidden":341,"reader_version":342,"card":343},"47247762","Pulse Feedback","A weird thing that detects your pulse from the browser video","title","Show HN: A weird thing that detects your pulse from the browser video","https:\u002F\u002Fpulsefeedback.io\u002F","pulsefeedback.io","kilroy123",1772634264,2026,115,54,585,4366,14,"notable","ai","browser vital sign detection","web_app",[24,25,26,27],"heart rate webcam","pulse detection browser","remote photoplethysmography","vitallens","roasted",-0.383,{"positive":31,"neutral":32,"mixed":33,"critical":34},3,13,0,16,32,{"idea":37,"performance":40,"privacy":42,"execution":44,"docs":45},{"positive":38,"critical":39},2,4,{"positive":33,"critical":41},9,{"positive":33,"critical":43},1,{"positive":43,"critical":43},{"positive":33,"critical":33},[43,33,33,33,33,33,33,33,33,33,33,33,33,43,31,31,43,43,31,43,33,47,43,31,43,43,43,43,33,43,31,33,43,31,43,47,33,31,31,31],5,null,{"problem":48,"audience":48,"pricing":48,"motivation":48,"time_to_build":48,"stack":50,"openness":59,"stage":59,"team_size":59},[51],{"value":52,"source":53,"evidence":54},"VitalLens API","commenter",[55],{"id":56,"by":57,"text":58},"47293662","serious_angel","I haven't dug deeper due to time availability, but for the same sake of privacy, I've found: 1. `\u002Fapi\u002Fevent` endpoint mentioned in the `\u002Fstats\u002Fscript.js` file; 2. There's…","unknown",{"praise":61,"objections":73,"requests":131,"questions":140,"alternatives":148},[62],{"value":63,"source":53,"evidence":64},"Simple and fun to try in the browser",[65,69],{"id":66,"by":67,"text":68},"47293541","gumboshoes","Worked for me on Android. Love the simplicity.",{"id":70,"by":71,"text":72},"47294276","sxp","How does it work? Is it https:\u002F\u002Fpeople.csail.mit.edu\u002Fmrub\u002Fevm\u002F? I see the FAQ about VitalLens, but I couldn't find technical details. It's super cool. Thanks for sharing. I want…",[74,97,105,116],{"value":75,"source":53,"evidence":76},"Readings are inaccurate, often far from a watch or chest strap",[77,81,85,89,93],{"id":78,"by":79,"text":80},"47293822","twodave","It’s not very accurate. Maybe because of the camera fidelity. It was about 10bpm lower than actual for me. Seems to operate off of subtle motions caused by pulse. It was even…",{"id":82,"by":83,"text":84},"47294653","brynnbee","It showed my BPM at nearly half of what it really was",{"id":86,"by":87,"text":88},"47296035","SCdF","Yeah, I couldn't be bothered getting my accurate chest strap out, but my watch (which is generally very close to the strap) was anywhere from 10-20 off what it was reporting.…",{"id":90,"by":91,"text":92},"47298094","thePhytochemist","Love the attempt, but after giving it a good image and letting it run for a while it's totally off. I measure my heartbeat at 100 bpm and it's reading around 50. I see some cool…",{"id":94,"by":95,"text":96},"47293900","abakker","It registered in the low 40s for me, while my watch was saying 72-75. I guess YMMV",{"value":98,"source":53,"evidence":99},"Privacy: unclear what happens to webcam video before enabling it",[100,104],{"id":101,"by":102,"text":103},"47293589","hluska","I would prefer some kind of privacy statement or even some kind of explanation about what is going on before I just randomly turn my webcam on. This might be great and I’m proud…",{"id":56,"by":57,"text":58},{"value":106,"source":53,"evidence":107},"Could be weaponized for profiling or manipulation in hiring or surveillance",[108,112],{"id":109,"by":110,"text":111},"47293681","functionmouse","I feel like the primary use case for such a technology is manipulating and profiling people over video chat, maybe even autonomously. Hiring managers, HR, landlords, and police…",{"id":113,"by":114,"text":115},"47294284","doodlebugging","It didn't work for me. Win10Pro, Firefox 146.0, Dell T5400 workstation with LG monitor, no camera or microphone ever installed. LOL. I'm with users \u002Fu\u002Ffunctionmouse and \u002Fu\u002Fcroes.…",{"value":117,"source":53,"evidence":118},"Browser crashes or fails to detect the user on some setups",[119,123,127],{"id":120,"by":121,"text":122},"47293516","amagasaki","Could be interesting, but allowing the webcam crashes my browser.Repeatedly macOS 15.7.1 (24G231) Brave 1.87.186 (Official Build) (arm64) Chromium: 145.0.7632.45",{"id":124,"by":125,"text":126},"47297050","regularfry","It failed to detect me at all.",{"id":128,"by":129,"text":130},"47296791","jeroenhd","Firefox throws a \"this tab is slowing down your browser\" warning, but it doesn't crash. Chromium works for me, though.",[132,136],{"value":133,"source":53,"evidence":134},"Publish a privacy statement and explain what the site does with video",[135],{"id":101,"by":102,"text":103},{"value":137,"source":53,"evidence":138},"Share technical details on how the detection works",[139],{"id":70,"by":71,"text":72},[141],{"value":142,"source":53,"evidence":143},"How does it work and which algorithm is used",[144,145],{"id":70,"by":71,"text":72},{"id":146,"by":71,"text":147},"47300431","I found more details at https:\u002F\u002Fwww.rouast.com\u002Fblog\u002Farticles\u002Fvitallens-take-a-vital-selfie\u002F and https:\u002F\u002Farxiv.org\u002Fpdf\u002F2312.06892. It's still vague beyond saying they trained an…",[149,156,164],{"value":150,"source":53,"evidence":151},"Google Fit on Android",[152],{"id":153,"by":154,"text":155},"47294214","trothamel","There's a version of this built into the Google Fit application for Android.",{"value":157,"source":53,"evidence":158},"Eulerian Video Magnification (MIT)",[159,160],{"id":70,"by":71,"text":72},{"id":161,"by":162,"text":163},"47295331","whilenot-dev","What do you mean? Eulerian-Video-Magnification could be (and probably is) the underlying algorithm in the VitalLens API.",{"value":165,"source":53,"evidence":166},"A self-built heart rate app using EVM",[167],{"id":168,"by":169,"text":170},"47294681","smusamashah","I made my own heart rate app (using gemini at first and then Claude for lots of further edits). https:\u002F\u002Fxosh.org\u002Fheart-rate\u002F https:\u002F\u002Fgithub.com\u002FSMUsamaShah\u002Fheart-rate it's all…",{"comments":33,"answered":33,"key":172},[],{"commenters":174,"max_depth":175,"maker_replies":33,"first_comment_mins":176,"lifespan_hours":177},36,7,5007,112,[179,181,185,188,191,194,196,200,203,205,207,210,212,214,216,219,221,223,225,228,232,235,237,240,244,247,250,252,254,256,259,261,263,265,267,268,269,270,271,274,276,279,280,283,286,287,289,292,296,298,299,301,302,304,306,309],[109,33,43,180,110,33],"project\u002Fcritical\u002Fidea",[182,33,33,183,184,33],"47293816","commenter\u002Fneutral\u002Fnone","metalcrow",[186,33,33,183,187,33],"47293865","croes",[189,33,33,183,190,33],"47294197","godelski",[192,33,33,183,193,33],"47294347","collingreen",[195,33,33,183,190,33],"47294398",[197,33,33,198,199,33],"47295386","other\u002Fneutral\u002Fnone","user2722",[201,33,33,198,202,33],"47295535","_Microft",[204,33,33,198,190,33],"47295557",[206,33,33,183,202,33],"47295376",[208,33,33,183,209,33],"47295396","peyton",[211,33,33,183,202,33],"47295422",[213,33,33,183,190,33],"47295532",[215,33,33,183,202,33],"47295561",[217,33,33,183,218,33],"47296330","stavros",[220,33,33,183,190,33],"47300187",[222,33,33,183,218,33],"47300442",[224,33,33,183,190,33],"47302793",[226,33,43,180,227,33],"47294257","nearbuy",[229,33,31,230,231,33],"47294373","project\u002Fneutral\u002Fidea","ranger_danger",[233,33,31,230,234,33],"47294452","numpad0",[236,33,31,230,227,33],"47294766",[238,33,43,180,239,33],"47295010","ddalex",[241,33,43,242,243,33],"47295478","project\u002Fcritical\u002Fperformance","swiftcoder",[245,33,31,230,246,33],"47296593","bsenftner",[248,33,31,230,249,33],"47296381","YetAnotherNick",[251,33,43,180,227,33],"47299277",[253,33,33,183,249,33],"47304873",[255,33,33,183,227,33],"47304936",[257,33,47,258,218,33],"47296332","project\u002Fpositive\u002Fidea",[260,33,31,230,246,33],"47296587",[101,43,43,262,102,33],"project\u002Fcritical\u002Fprivacy",[56,43,31,264,57,33],"project\u002Fneutral\u002Fprivacy",[266,43,33,183,102,33],"47293720",[78,38,43,242,79,33],[82,38,43,242,83,33],[86,38,43,242,87,33],[124,38,43,242,125,33],[272,38,43,242,273,33],"47302759","ninalanyon",[275,31,33,198,202,33],"47295399",[277,39,33,198,278,33],"47293947","jmusall",[90,47,43,242,91,33],[168,281,31,282,169,33],6,"project\u002Fneutral\u002Fnone",[284,281,33,198,285,33],"47305336","exikyut",[94,175,43,242,95,33],[120,288,43,242,121,33],8,[290,288,31,291,57,33],"47293594","project\u002Fneutral\u002Fexecution",[293,288,43,294,295,33],"47294259","project\u002Fcritical\u002Fexecution","echoangle",[128,288,31,297,129,33],"project\u002Fneutral\u002Fperformance",[70,41,47,258,71,33],[300,41,33,183,57,33],"47294344",[161,41,31,230,162,33],[146,41,31,303,71,33],"project\u002Fneutral\u002Fdocs",[153,305,31,230,154,33],10,[66,307,47,308,67,33],11,"project\u002Fpositive\u002Fexecution",[113,310,43,311,114,33],12,"project\u002Fcritical\u002Fnone",[],[314,318,323,327,332,336],{"id":315,"name":316,"points":317,"category":20},"47224295","I built a sub-500ms latency voice agent from scratch",570,{"id":319,"name":320,"points":321,"category":322},"47164270","Terminal Phone",322,"security_privacy",{"id":324,"name":325,"points":326,"category":20},"47195123","Now I Get It",305,{"id":328,"name":329,"points":330,"category":331},"47220809","Govbase",219,"productivity",{"id":333,"name":334,"points":335,"category":20},"47212576","Timber",207,{"id":337,"name":338,"points":339,"category":340},"47180083","RetroTick",195,"dev_tools",false,"v2",{"id":344,"name":5,"line":6,"ai":341,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":345,"top":18,"kw":346,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":347,"url":9,"mix":348,"praise":63,"objection":75,"sub":21},47247762,-0.38,[24,25,26,27],"1000000000000133113105131111013013150333",[31,32,33,34],1794036695203]