[{"data":1,"prerenderedAt":441},["ShallowReactive",2],{"project-43734910":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":45,"post_text":46,"what":47,"said":92,"maker_in_thread":206,"shape":215,"grid":219,"attempts":403,"same_week":404,"maker_shows":240,"maker_hidden":433,"reader_version":434,"card":435},"43734910","Undercutf1","F1 Live Timing TUI with Driver Tracker, Variable Delay","title","Show HN: Undercutf1 – F1 Live Timing TUI with Driver Tracker, Variable Delay","https:\u002F\u002Fgithub.com\u002FJustAman62\u002Fundercut-f1","github.com","deltaknight",1745049036,2025,301,73,181,3837,5,"legend","consumer_social","live sports timing","cli",[24,25,26,27],"f1 live timing","formula 1 tui","terminal timing tower","f1 telemetry","mixed",0.394,{"positive":31,"neutral":32,"mixed":33,"critical":34},19,7,1,8,35,{"docs":37,"design":39,"execution":41,"idea":42,"privacy":43,"pricing":44},{"positive":33,"critical":38},0,{"positive":40,"critical":38},3,{"positive":40,"critical":34},{"positive":40,"critical":38},{"positive":38,"critical":38},{"positive":38,"critical":38},[38,38,38,18,18,38,38,18,38,33,33,33,18,18,33,40,18,18,18,40,33,40,38,40,40,18,38,38,18,18,40,18,38,18,38,40,38,40,18,18],"undercutf1 is a F1 live timing app, built as a TUI. It contains traditional timing pages like a Driver Tracker, Timing Tower, Race Control, along with some more detailed analysis like lap and gap history, so that you can see strategies unfolding.\n\nI started to build undercutf1 almost two years ago, after becoming increasingly frustrated with the TV direction and lack of detailed information coming out of the live feed. Overtakes were often missed and strategies were often ill-explained or missed. I discovered that F1 live timing data is available over a simple SignalR stream, so I set out buil",{"problem":48,"audience":54,"pricing":67,"motivation":73,"time_to_build":77,"stack":78,"openness":89,"stage":90,"team_size":91},{"value":49,"source":50,"evidence":51},"TV coverage misses overtakes and strategy detail; wants more detailed live F1 information","maker",[52],{"id":53},"post",{"value":55,"source":56,"evidence":57},"F1 fans watching live sessions","inferred",[58,59,63],{"id":53},{"id":60,"by":61,"text":62},"43735277","yahoozoo","This is awesome. My wife and me and are going to the Miami Grand Prix here in a few weeks, big fans. Excited to play with this for Jeddah sessions\u002Frace.",{"id":64,"by":65,"text":66},"43736111","Handy-Man","This is great project, amazing work. Though at this age now I just prefer Multiviewer F1, much better on my eyes haha.",{"value":68,"source":56,"evidence":69},"free",[70],{"id":71,"by":11,"text":72},"43735601","Yeah that's a fair point. Although I've been a bit iffy about the ethics of monetising somebody else's data - and I feel that line would be definitely crossed if I made a direct…",{"value":74,"source":50,"evidence":75},"frustration with TV direction and lack of detailed live information",[76],{"id":53},null,[79],{"value":80,"source":50,"evidence":81},".NET (C#)",[82,85],{"id":83,"by":11,"text":84},"43737767","Thank you! The data comes from a SignalR data stream that F1 provides. It's not exactly public, but also not protected. There are some other projects (like FastF1) which have…",{"id":86,"by":87,"text":88},"43737385","StrLght","Looks great! However, I'd appreciate an easier way to run it: binaries for Linux aren't standalone -- they require 3rd party dependencies to be installed. Static binaries (or…","open_source","launched","solo",{"praise":93,"objections":121,"requests":143,"questions":163,"alternatives":175},[94,110],{"value":95,"source":96,"evidence":97},"Detailed timing pages, track map and README quality","commenter",[98,102,106],{"id":99,"by":100,"text":101},"43735348","noisy_boy","Congratulations - that is a nicely written README, shows the care you put into this.",{"id":103,"by":104,"text":105},"43735373","nikolayasdf123","even live track map. wow, impressive tool!",{"id":107,"by":108,"text":109},"43735365","terminaltrove","This looks very good, the screenshots are very detailed and helpful and it's nice to see TUIs using the kitty graphics protocol. Love that it is realtime as well. Great work on…",{"value":111,"source":96,"evidence":112},"Useful for following midfield and strategy",[113,117],{"id":114,"by":115,"text":116},"43735692","mysterydip","Thank you for this! I love F1 and TUIs, this will be perfect for my desire to know more of what my midfield favorites are doing while the broadcasters are watching the front!",{"id":118,"by":119,"text":120},"43735390","scrlk","Great work! > Tyre Strategy page Nice, I'll be able to see how Ferrari have fumbled strategy for their drivers.",[122,137],{"value":123,"source":96,"evidence":124},"Windows install initially unresponsive and flagged as virus",[125,129,133],{"id":126,"by":127,"text":128},"43736628","cbgonz","Looks enticing! Regrettably a quick install (using the dotnet tool method, Win10) installs without error, but running the app results in an unresponsive window (both terminal and…",{"id":130,"by":131,"text":132},"43738199","monkeydust","Just tried it, windows wont download says there is a virus",{"id":134,"by":135,"text":136},"43736220","cx0der","Gets flagged as Trojan by Windows Defender. I followed dotnet tool install method.",{"value":138,"source":50,"evidence":139},"Delay only applies to new data during live sessions",[140],{"id":141,"by":11,"text":142},"43738008","Ah, so unfortunately the delay is only applied to new data coming in. When you start a live session, we only get the current state and new data coming from the F1 feed, so we…",[144,152],{"value":145,"source":96,"evidence":146},"Docker image or standalone Linux binary",[147,148],{"id":86,"by":87,"text":88},{"id":149,"by":150,"text":151},"43736383","pqdbr","Would it be possible to have a docker image for easier installing?",{"value":153,"source":96,"evidence":154},"Support for other sports like MotoGP and cycling",[155,159],{"id":156,"by":157,"text":158},"43739236","briandear","This is awesome. I hope I can figure out how to do this for MotoGP",{"id":160,"by":161,"text":162},"43760799","urbantrout","Wow, I want this for UCI road bike races!",[164],{"value":165,"source":96,"evidence":166},"Where the live data comes from and whether it is allowed",[167,171],{"id":168,"by":169,"text":170},"43736811","PaulRobinson","This is really very cool and as a geek who loves F1, I can't wait to play with this over this weekend and beyond. I'm curious where the live\u002Fstatic data is coming from and how…",{"id":172,"by":173,"text":174},"43735376","sph","Anyone know any API for real time Formula 1 timing info, standings, historical info, etc? I don't suppose FOM releases this data for free.",[176,184,195],{"value":177,"source":96,"evidence":178},"Multiviewer F1",[179,180],{"id":64,"by":65,"text":66},{"id":181,"by":182,"text":183},"43745282","mrandish","This looks cool. Nice job! I've been using F1 Multiviewer which is free but the metadata and video feeds require an F1TV subscription which I have because I usually prefer the…",{"value":185,"source":96,"evidence":186},"FastF1",[187,191],{"id":188,"by":189,"text":190},"43735615","pyepye","Check out FastF1 - https:\u002F\u002Fdocs.fastf1.dev\u002F It has a Live Timing Client and a lot of historical data. I only found it the other day, so I have no had a chance to play with it yet.",{"id":192,"by":193,"text":194},"43735391","andypants","It's not meant for public use, but it's also not protected. Best documentation is the fastf1 project.",{"value":196,"source":96,"evidence":197},"f1-dash.com and livetim.in",[198,202],{"id":199,"by":200,"text":201},"43735728","eertami","There's already a pretty popular free\u002Fopensource website with similar live data (https:\u002F\u002Ff1-dash.com\u002F) which would be an obvious alternative. I also suspect that the trying to…",{"id":203,"by":204,"text":205},"43738424","nullify88","I can also suggest https:\u002F\u002Flivetim.in\u002F. I believe this one is one of the nicer web interfaces.",{"comments":31,"answered":32,"key":207},[208,211,212],{"id":209,"text":210},"43735667","Oh that's fantastic, way better than searching for results on modern sports news sites. Definitely bookmarking this, maybe I'll accidentally learn a bit of Finnish.",{"id":83,"text":84},{"id":213,"text":214},"43735301","Wow I'd love to go to a US race at some point, the vibe in those weekends feels so unique compared to the classic European race. Hope you have a great time! Happy to take any…",{"commenters":216,"max_depth":18,"maker_replies":31,"first_comment_mins":217,"lifespan_hours":218},44,100,107,[220,224,225,229,232,235,237,239,242,244,247,249,252,254,255,258,260,262,265,266,268,270,272,275,278,281,284,287,289,291,293,295,298,302,306,311,314,316,318,320,322,324,326,330,331,334,338,340,342,345,346,348,352,355,357,359,361,364,368,371,373,375,377,380,384,386,387,388,391,393,397,399,401],[221,38,38,222,223,38],"43735650","other\u002Fneutral\u002Fnone","happosai",[209,38,38,222,11,33],[226,38,38,227,228,38],"43736059","commenter\u002Fneutral\u002Fnone","herodoturtle",[230,38,38,222,231,38],"43737560","Hamuko",[233,38,38,222,234,38],"43741836","tra3",[168,33,18,236,169,38],"project\u002Fpositive\u002Fnone",[83,33,38,238,11,33],"project\u002Fneutral\u002Fdocs",[99,240,18,241,100,38],2,"maker\u002Fpositive\u002Fdocs",[118,40,18,243,119,38],"project\u002Fpositive\u002Fdesign",[245,40,38,222,246,38],"43736360","atonse",[248,40,38,222,169,38],"43736769",[250,40,38,222,251,38],"43738951","MengerSponge",[60,253,18,236,61,38],4,[213,253,38,227,11,33],[256,253,38,222,257,38],"43735449","glenngillen",[259,253,38,222,104,38],"43735375",[126,18,33,261,127,38],"project\u002Fcritical\u002Fexecution",[263,18,38,264,11,33],"43737788","project\u002Fneutral\u002Fexecution",[130,18,33,261,131,38],[267,18,38,264,11,33],"43738301",[269,18,33,261,131,38],"43738393",[271,18,38,264,11,33],"43739947",[273,18,18,274,127,38],"43740007","project\u002Fpositive\u002Fexecution",[114,276,18,277,115,38],6,"project\u002Fpositive\u002Fidea",[279,276,38,280,11,33],"43735733","project\u002Fneutral\u002Fidea",[282,32,33,261,283,38],"43736364","williamscales",[285,32,33,261,286,38],"43739051","sixothree",[288,32,40,264,283,38],"43739524",[290,32,38,264,11,33],"43739568",[292,32,38,264,11,33],"43739939",[294,32,18,274,283,38],"43740667",[296,34,18,236,297,38],"43735516","johnbellone",[299,300,18,277,301,38],"43743646",9,"shortercode",[303,304,38,222,305,38],"43743068",10,"animal531",[307,308,40,309,310,38],"43775390",11,"project\u002Fneutral\u002Fprivacy","rurban",[64,312,40,313,65,38],12,"project\u002Fmixed\u002Fdesign",[134,315,33,261,135,38],13,[86,317,33,261,87,38],14,[319,317,40,264,286,38],"43737518",[321,317,38,264,11,33],"43737827",[323,317,38,264,11,33],"43740059",[325,317,18,274,87,38],"43740640",[327,328,33,261,329,38],"43737904",15,"jerkstate",[141,328,38,264,11,33],[332,328,40,333,329,38],"43738270","project\u002Fneutral\u002Fnone",[335,336,18,236,337,38],"43738354",16,"hawza",[172,339,38,222,173,38],17,[192,339,38,341,193,38],"other\u002Fneutral\u002Fdocs",[343,339,38,341,344,38],"43735474","fkarg",[188,339,38,341,189,38],[347,339,38,341,11,33],"43735618",[349,350,18,236,351,38],"43736963",18,"jwr",[353,31,18,236,354,38],"43735377","epolanski",[156,356,38,222,157,38],20,[149,358,40,264,150,38],21,[360,358,38,264,11,33],"43742914",[362,358,18,363,286,38],"43764741","maker\u002Fpositive\u002Fnone",[365,366,18,236,367,38],"43735722",22,"davidevansdev",[369,366,38,370,11,33],"43735747","project\u002Fcritical\u002Fperformance",[372,366,38,222,169,38],"43736814",[160,374,18,277,161,38],23,[103,376,18,243,104,38],24,[378,376,38,379,11,33],"43735382","maker\u002Fneutral\u002Fexecution",[381,376,40,382,383,38],"43735519","project\u002Fneutral\u002Fpricing","testing22321",[71,376,38,385,11,33],"maker\u002Fneutral\u002Fpricing",[199,376,38,222,200,38],[203,376,38,222,204,38],[389,376,40,264,390,38],"43736150","deanc",[392,376,38,379,11,33],"43737804",[394,395,18,363,396,38],"43735461",25,"nchagnet",[181,398,38,222,182,38],26,[107,400,18,243,108,38],27,[402,400,38,379,11,33],"43735627",[],[405,410,415,420,424,429],{"id":406,"name":407,"points":408,"category":409},"43739456","Tutorial-Codebase-Knowledge",923,"dev_tools",{"id":411,"name":412,"points":413,"category":414},"43754124","Dia",652,"ai",{"id":416,"name":417,"points":418,"category":419},"43729683","The Backdooms",531,"games",{"id":421,"name":422,"points":423,"category":20},"43745554","JuryNow",263,{"id":425,"name":426,"points":427,"category":428},"43771365","Scrimba",258,"learning_science",{"id":430,"name":431,"points":432,"category":428},"43734583","Gridbach",244,false,"v2",{"id":436,"name":5,"line":6,"ai":433,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":437,"top":18,"kw":438,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":439,"url":9,"mix":440,"praise":95,"objection":123,"sub":21},43734910,0.39,[24,25,26,27],"0005500501115513555313033500553505030355",[31,32,33,34],1794036673105]