4 ms·
Hey HN! I'm one of the developers on the SameTunes team. We've spent the whole summer working out of a house to build this platform. We're really proud of the
by garrepi 6y ago
Hey HN!
I'm one of the developers on the SameTunes team. We've spent the whole summer working out of a house to build this platform. We're really proud of the work we've done and hope you all enjoy using it.
With SameTunes you can view interesting statistics about your taste, find your music compatibility with friends, and discover new music!
Let us know what you think
- azinman2 6y agoI find the marketing message a bit hard to swallow. The perfect answer for “what kind of music do you listen to” in person shouldn’t be something where we stop the flow of conversation and pull out our phones. It’s unclear to me why I’d want to use this. It would be helpful to see some example screenshots on the home page for be to better understand the value.
- garrepi 6y agoI appreciate the feedback! I definitely think adding some examples to the homepage is a good feature. This idea was something we, a group of college students, felt was missing from our social interactions. I agree, it's a bit clunky to set this up mid conversation. I, personally, find that this works really well with existing friends or when forming new friends online through things like Instagram or Tinder. To your point, we're always looking to expand our use cases and reduce the first time friction.
- azinman2 6y agoPerhaps a better way to go is to have something that does analysis of your own music library standalone as an entry point. That doesn’t require another person, which means most people on HN can try it on their own. If that’s shareable as a link, then not only can you send that as a reply on tinder (versus all this permission mutual stuff), it gives the viewer the ability to hit some big magic button that then finds the overlap with their own library, while also giving them their own stats separately.
- garrepi 6y agoVery good point. I think that's where something like last.fm really shines. Starting off, we focused heavily on comparisons but have branched out since. For example, the stats page you're first taken to gives you some analytical information about your own music. Strengthening out this page with things like music evolution, recommendations, rankings, &c is foremost priority. Currently, we have friend links that deep links into creating a friendship (e.g. mine is https://smtn.es/125.ferda-bruh https://smtn.es/125.ferda-bruh). Pivoting this to share your statistics and music tastes is an interesting idea -- it definitely helps introduce the platform to new users and personalise the platform for existing users. I'll propose it to the team, thanks!
- azinman2 6y agoLastly — is there a reason for the shortened url here? Personally that link looks very much like malware to the untrained eye, especially if I have no idea what sametunes is. At least if it was sametunes.com based I could go to that host to find out.
- svantana 6y agoNice work, it looks really polished! What I would suggest improving is the single user experience: what I can do without involving friends. Right now I only see a huge list of strangers in alphabetical order. Picking someone at random seems pointless. However, if strangers could be sorted by match, that could be really interesting. That could also serve as a benchmark for my matchscore with friends. If this is prohibitively costly in your current setup, I would suggest mapping each user profile to an embedding vector and find best matches using approximate nearest neighbors, that scales really well.
- garrepi 6y agoI agree 1,000%. When building out the platform, efficiency was a foremost consideration. Because of that, each comparison calculation flies. That's a good implementation suggestion, it reminds me of the adjacency matrix Twitter uses for mutual friends. I'm drafting up proposal for your idea now, it serves a really strong introduction to the platform. Thanks!
- LolWolf 6y agoI think the embedding idea in specific is quite good and there are several potential approaches! One is, if you let xᵢ be the song vector for user i (whose kth entry is 1 if user i has song k in their library and 0 otherwise). Then you can compute the "overlap" by something like xᵢ ⋅ xⱼ (with some normalization of course!) where ⋅ is the inner product. [0] A simple approximation of this inner product would be to generate a random (potentially sparse!) matrix S whose nonzero entries are i.i.d. Gaussian, for example, and whose number of rows is much smaller than the number of columns [1], then you can instead store and compute (Sxᵢ) ⋅ (Sxⱼ) which gives you an approximate overlap, whose storage and computation requirements are much smaller for each user (since Sxᵢ is much smaller in number of entries than xᵢ). ----- [0] Of course, there are many other similar methods! This is a particularly simple, but often fairly effective one. [1] More specifically, it goes like O(log(n)/ε²) where ε is the error you wish to achieve. Often, a fairly large choice of ε actually will suffice. See https://en.wikipedia.org/wiki/Johnson–Lindenstrauss_lemma https://en.wikipedia.org/wiki/Johnson–Lindenstrauss_lemma