Hacker News new | ask | show | jobs
by hannah_creator 492 days ago
Really creative project! Love how you've transformed YouTube timestamps into a music sampler. The social sharing feature is particularly impressive - it turns the tool into a collaborative music-making platform.

I'm curious about a few technical aspects: 1. How do you handle YouTube video loading latency, especially at higher BPM? 2. Have you considered implementing multi-track functionality, using different YouTube videos as separate tracks? 3. Regarding the AWS free tier expiration, have you thought about using GitHub Pages + frontend caching to reduce server load?

As a suggestion, perhaps adding a "Featured Patterns" section showcasing the community's most popular rhythm patterns could help new users quickly discover the tool's potential.

1 comments

Hey thanks for your comment!

1. I don't do anything special to handle loading latency, but it doesn't seem to be too much of an issue so far. At each sequencer step I issue the pad command to the YT.Player. If that part of the video hasn't loaded yet, then it doesn't always sound right at first, but Youtube seems to handle it pretty well by caching "where" you've been in the video.

2. Yes, there are 4 sequencers. At each step, for each active sequencer, I call an executeCommand function. Right now, just in a for loop. At one point I tried doing this with a Promise but I think the overhead of creating Promises so many times a second outweighed any benefit in performance and I scrapped it.

3. The AWS free tier expiring is actually a matter of time rather than server load. I have essentially 10 more months of free EC2 usage left. Server stuff is just the pattern sharing which is pretty lightweight, just storing and serving text files. I would have just used MongoDB which would have been free but I wanted to learn EC2, GraphQL, RDS.

4. I don't have a Featured Patterns page but you can go to the Share Patterns page and sort by Most Liked. I do agree that it would be a good idea though, perhaps as the default option of the sorting dropdown. But first I need to get the word out so the community will actually make some rhythm patterns ;)