Show HN: Yamanote.fun – A complete soundscape for Tokyo's Yamanote line
1 day ago (yamanote.fun)
After visiting Japan for the first time a decade ago I became completely enamoured with Tokyo's Yamanote Line railway loop. Particularly the sonic experience of it. Like so many others I fell in love with the charming departure melodies and enjoyed discovering experiences like Yamanot.es (https://www.yamanote.fun/.
It's a small installable web app that plays the soundscapes like a playlist. All 30 stations and in both directions, since the inner and outer loops use different melodies. You can skip forward or back a station, and there's a scrub bar broken into melody / chime / ambience / announcement so you can jump straight to the bit you want. Each station has its own shareable link (yamanote.fun/jy13-ikebukuro-inner) that unfurls with the right station name and artwork when you share it.
It's a progressive web app too, so you can add it to your home screen and it behaves like a native app. There's an option to offline the audio too.
Under the hood it's relatively basic stuff: plain HTML, CSS & JS, audio served from Cloudflare R2 and the site hosted on Netlify. I was impressed to see how far I could get with the free tiers of these services. I designed the whole thing in Figma (I'm a Product Designer) and used Claude Code to architect and deliver the polished UI, PWA plumbing, offline caching and share-link infrastructure.
I would love feedback, particularly from anyone who's ridden the real thing.
JR East is already in the process of eliminating departure melodies as they transition to one-man station operations, so these will unfortunately be gone sooner than later. The Nambu and Joban lines got rid of them last year and it looks like the Yamanote is scheduled for them to be gone by 2030 [1].
I'm sure they can figure out a way to trigger custom melodies with RFID or similar eventually. Keikyu figured out how to recreate their departure boards [2]. JR might be less willing to come up with something immediately given the optics around automating someone out of a job.
[1] https://japantoday.com/category/features/travel/jr-east-axes...
[2] https://soranews24.com/2026/07/04/japanese-train-company-bri...
This is lovely - I used to use YouTube recordings of Yamanote line trips as a way to fall asleep.
As a small bit of feedback - from the sleep perspective, the melodies and door chimes seem quite loud and frequent - would love an even more "backgroundy" version where the ambient travel sections are longer, and those chimes and melodies are quieter. Perhaps even with masking of human noises.
I love this :) Thanks very much for making it, it's elegantly designed.
Since you asked for feedback: in terms of usability, I found the 'seek next' and 'seek previous' buttons confusing, since they're positioned left/right but control motion up/down, and even switch their direction based on loop. (This is because "forward" and "back" also change based on loop -- an indicator for that would help.) Adding navigation via mouse wheel would be perfect here too.
Sorry to ask for even more, but I'd personally love to see door opening / door closing sounds added (along with 'ドアが閉まります' and the alarm) to fully round out the soundscape.
Don't mean to be too picky! -- it's very enjoyable as is.
This is really cool! Really give a immersion vibe.
I've built something different, Tokyo Train Orchestra (http://tokyo-train-orchestra.netlify.app/) It uses live and scheduled tokyo train/subway timetable to produce music.
Really well done. Love how much care went into this.
No real feedback other than it's pretty awesome. It'd be cool to have a version of the display above the doors that shows the upcoming stations, but I'm not sure in practice if that would be that useful since I assume most people would have that in the background as you point out.
What an incredibly detailed and calming project! I am really impressed with how you connected so many different audio materials to create a final PWA product. The very fact that it works offline and acts like a native application is enough to make it a great background soundtrack for focused work. I saw your mentioning of Claude Code as a means for handling PWA backend and offline caching issues. As a person who usually creates everything manually, I am willing to find out how it went for you. Did this solution manage to master the technical side of Service Workers and caching techniques at once or did it take a lot of iterations to get everything in order?
This is really cool. Actually reading this while on the yamanote line going to work!
I love this! Great UI, and the spirit of it is very early web. Thanks for making this. Totally captures the feel of Tokyo!