[{"data":1,"prerenderedAt":304},["ShallowReactive",2],{"project-44813615":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":40,"post_text":42,"what":43,"said":74,"maker_in_thread":191,"shape":201,"grid":205,"attempts":265,"same_week":266,"maker_shows":33,"maker_hidden":296,"reader_version":297,"card":298},"44813615","Caltrain next train","When is the next Caltrain? (minimal webapp)","title","Show HN: When is the next Caltrain? (minimal webapp)","https:\u002F\u002Ferikschluntz.com\u002Fcaltrain","erikschluntz.com","eschluntz",1754495409,2025,42,27,1388,3837,37,"shown","consumer_social","public transit timetable","web_app",[24,25,26,27],"caltrain","train schedule","next train","bay area transit","mixed",0.172,{"positive":31,"neutral":32,"mixed":33,"critical":32},5,3,2,13,{"design":36,"execution":38,"idea":39},{"positive":33,"critical":37},0,{"positive":37,"critical":32},{"positive":32,"critical":37},[37,37,37,37,37,37,31,41,37,31,37,41,32,37,32,37,32,31,37,32,31,37,41,37,31,37,32],1,"I was frustrated with the existing caltrain websites \u002F apps, so I made a super minimalist one to answer the actual question I have: how long until the next train?\n\nIf you're in SF it grabs the next southbound trains, otherwise, the next northbound.",{"problem":44,"audience":50,"pricing":55,"motivation":56,"time_to_build":55,"stack":60,"openness":71,"stage":72,"team_size":73},{"value":45,"source":46,"evidence":47},"Existing Caltrain sites and apps are cumbersome; user wants to know how long until the next train","maker",[48],{"id":49},"post",{"value":51,"source":52,"evidence":53},"Caltrain riders, especially in the San Francisco area","inferred",[54],{"id":49},null,{"value":57,"source":46,"evidence":58},"Frustration with existing Caltrain websites and apps",[59],{"id":49},[61,67],{"value":62,"source":46,"evidence":63},"JavaScript",[64],{"id":65,"by":11,"text":66},"44816947","https:\u002F\u002Fgithub.com\u002Feschluntz\u002Feschluntz.github.io\u002Fblob\u002Fgh-pages\u002Fcaltrain-data.js copy and pasted into a spreadsheet from the website, then claude wrote a little script to convert…",{"value":68,"source":46,"evidence":69},"Claude-generated conversion script",[70],{"id":65,"by":11,"text":66},"unknown","launched","solo",{"praise":75,"objections":100,"requests":136,"questions":156,"alternatives":165},[76,92],{"value":77,"source":78,"evidence":79},"Simple, minimalist, slick design","commenter",[80,84,88],{"id":81,"by":82,"text":83},"44816297","rconti","I like how simple and minimalist this is! Another great similar solution is the Caltrain Companion iOS app. The main screen I use is \"Arriving Trains\" which uses your current…",{"id":85,"by":86,"text":87},"44815050","PaulHoule","I am not in the area so I had to click on the thing to view all schedules, I would say it is super slick, I like it.",{"id":89,"by":90,"text":91},"44815208","npinsker","Thanks, this'll be a nice little timesaver!",{"value":93,"source":78,"evidence":94},"Useful timesaver for riders",[95,96],{"id":89,"by":90,"text":91},{"id":97,"by":98,"text":99},"44815320","andreyk","haha nice, the official caltrain schedule is a bit of a hassle to parse...",[101,108,115,122,129],{"value":102,"source":78,"evidence":103},"Shows only static schedule, not real-time data",[104],{"id":105,"by":106,"text":107},"44815972","mslate","While cool, this does not incorporate real-time data, just the static schedule. I've explored this--you need 511 API access to obtain real-time data, and to conceal your API key…",{"value":109,"source":78,"evidence":110},"Fails when location is unavailable",[111],{"id":112,"by":113,"text":114},"44815964","nektro","app hard dies if it's unable to get your location. was really expecting the \"full schedule\" link to show an input box to pick a station",{"value":116,"source":78,"evidence":117},"Does not distinguish local, limited or express trains",[118],{"id":119,"by":120,"text":121},"44815314","nilsbunger","Very cool. Would be good if it also shows whether it's a local train or limited or express, and\u002For which stations it stops at.",{"value":123,"source":78,"evidence":124},"Bullet trains shown with black text, not red",[125],{"id":126,"by":127,"text":128},"44824452","sentientslug","Looking at it now and the bullet has black text",{"value":130,"source":78,"evidence":131},"Closest station ambiguity between two SF stations",[132],{"id":133,"by":134,"text":135},"44815397","aeternum","Closest station: San Francisco But there are two SF stations",[137,141,145,149],{"value":138,"source":78,"evidence":139},"Show real-time arrival data",[140],{"id":105,"by":106,"text":107},{"value":142,"source":78,"evidence":143},"Show train type and stops served",[144],{"id":119,"by":120,"text":121},{"value":146,"source":78,"evidence":147},"Station picker input for full schedule",[148],{"id":112,"by":113,"text":114},{"value":150,"source":78,"evidence":151},"Home Assistant integration",[152],{"id":153,"by":154,"text":155},"44816179","a2dam","I've been looking into doing this as a Home Assistant integration so I can put it in a little dashboard by the door. Can you describe how you built this a bit more? It's exactly…",[157],{"value":158,"source":78,"evidence":159},"How the app was built and hosted",[160,161],{"id":153,"by":154,"text":155},{"id":162,"by":163,"text":164},"44818133","redsh","What was the prompt and how are you hosting it? :)",[166,170,177,184],{"value":167,"source":78,"evidence":168},"Caltrain Companion iOS app",[169],{"id":81,"by":82,"text":83},{"value":171,"source":78,"evidence":172},"caltrain.live",[173],{"id":174,"by":175,"text":176},"44817250","klinquist","https:\u002F\u002Fcaltrain.live is pretty nice (I developed it, along with the Caltrain Companion iOS app)",{"value":178,"source":78,"evidence":179},"Transit app",[180],{"id":181,"by":182,"text":183},"44816844","xd1936","Does Transit[1] not do this? It suggests routes including walking and biking when I input my destination... 1. https:\u002F\u002Ftransitapp.com\u002F",{"value":185,"source":78,"evidence":186},"OneBusAway",[187],{"id":188,"by":189,"text":190},"44816365","aaronbrethorst","For anyone interested in getting the aforementioned access, you can find the 511 request URL here: https:\u002F\u002Fwww.transit.land\u002Ffeeds\u002Ff-sf~bay~area~rg~rt GTFS-RT data isn't a lot of…",{"comments":192,"answered":41,"key":193},6,[194,197,200],{"id":195,"text":196},"44816059","How else m I going to geotarget you with ads? \u002Fs",{"id":198,"text":199},"44815439","bullet trains should be displayed in red, but I haven't tested it yet at the right time and I've been too lazy to write tests with mocked time \u002F gps :)",{"id":65,"text":66},{"commenters":202,"max_depth":32,"maker_replies":192,"first_comment_mins":203,"lifespan_hours":204},21,103,22,[206,210,212,214,217,220,223,225,227,229,232,234,235,236,238,240,242,243,245,248,250,252,255,257,259,261,262],[207,37,37,208,209,37],"44815975","other\u002Fneutral\u002Fnone","thot_experiment",[181,37,37,211,182,37],"commenter\u002Fneutral\u002Fnone",[213,37,37,211,209,37],"44820831",[215,41,37,208,216,37],"44815118","lindig",[218,41,37,208,219,37],"44815514","FredPret",[221,41,37,208,222,37],"44815885","simoncion",[81,33,31,224,82,37],"project\u002Fpositive\u002Fdesign",[112,32,41,226,113,37],"project\u002Fcritical\u002Fexecution",[195,32,37,228,11,41],"maker\u002Fneutral\u002Fnone",[119,230,31,231,120,37],4,"project\u002Fpositive\u002Fidea",[198,230,37,233,11,41],"project\u002Fneutral\u002Fexecution",[126,230,41,226,127,37],[153,31,32,228,154,37],[65,31,37,237,11,41],"maker\u002Fneutral\u002Fdocs",[105,192,32,239,106,37],"project\u002Fmixed\u002Fexecution",[241,192,37,211,11,41],"44816038",[188,192,32,233,189,37],[85,244,31,224,86,37],7,[246,244,37,208,247,37],"44815900","bkettle",[162,249,32,228,163,37],8,[89,251,31,231,90,37],9,[253,251,37,254,11,41],"44815453","maker\u002Fpositive\u002Fnone",[133,256,41,226,134,37],10,[258,256,37,233,11,41],"44815425",[97,260,31,231,98,37],11,[174,260,37,208,175,37],[263,260,32,239,264,37],"44818335","ac29",[],[267,272,277,282,287,291],{"id":268,"name":269,"points":270,"category":271},"44787902","Kilopixel",1145,"creative",{"id":273,"name":274,"points":275,"category":276},"44807868","Kitten TTS",1003,"ai",{"id":278,"name":279,"points":280,"category":281},"44792005","Carbon",322,"web_saas",{"id":283,"name":284,"points":285,"category":286},"44747229","Mcp-use",155,"dev_tools",{"id":288,"name":289,"points":290,"category":276},"44767775","browser-llm",145,{"id":292,"name":293,"points":294,"category":295},"44801399","Whittle",141,"games",false,"v2",{"id":299,"name":5,"line":6,"ai":296,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":300,"top":18,"kw":301,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":302,"url":9,"mix":303,"praise":77,"objection":102,"sub":21},44813615,0.17,[24,25,26,27],"000000510501303035035010503",[31,32,33,32],1794036679825]