
Show HN: Findka – Personalized recommendations for any type of content - jacobobryant
https://findka.com
======
jacobobryant
(Reposting with permission from dang)

Hi, OP here. I started working on recommender systems in 2016 during my
undergrad, specifically doing music recommendation (I was dissatisfied with
the quality of Pandora/Spotify recommendations). I spent about five months in
2019 trying to make a music startup based on that. However, during that time I
realized that there would probably be more value in having a really good
general-purpose/cross-domain recommender system. i.e. if you're looking for
something specific, use Google, and if you're not looking for something
specific, use Findka. That's the vision anyway.[1][2]

More specifically, the benefits I see from cross-domain recommendation are:

\- More data per user => better recommendations.

\- More potential users => (eventually) better recommendations. For example,
to get users for a podcast recommender, you have to find people who like
podcasts above a certain threshold. With Findka, anyone who's interested in
getting recommendations for at least one content type is a potential user.
(And even people who aren't above that threshold for podcasts might appreciate
an occasional podcast recommendation).

\- Lots of potential applications. I'm particularly interested with trying to
use Findka for social networking (opt-in of course). Data from Findka could be
useful for dating, job opportunities, forming online communities, etc. This is
more long-term, but I also think Findka data could be useful for search.[3]

The algorithm currently is dead simple. Just collaborative filtering without
explicitly taking into account content type. So it's naively cross-domain.
Since the data set is still small, there's no need for matrix factorization. I
recompute the whole matrix every hour and store it in memory. See [4] for the
implementation (it only took 30 LOC). That's a little out-of-date but the
general approach hasn't changed.

For the tech stack, I'm using a Clojure web framework + deployment solution
that I made.[5] It's like a self-hosted version of Firebase (I'm running it on
DigitalOcean).

[1] [https://www.ben-evans.com/benedictevans/2015/6/24/search-
dis...](https://www.ben-evans.com/benedictevans/2015/6/24/search-dis..).

[2]
[https://www.aaai.org/ojs/index.php/aimagazine/article/view/2...](https://www.aaai.org/ojs/index.php/aimagazine/article/view/2..).

[3]
[https://news.ycombinator.com/item?id=23449754](https://news.ycombinator.com/item?id=23449754)

[4] [https://findka.com/blog/rec-sys-
in-30-lines/](https://findka.com/blog/rec-sys-in-30-lines/)

[5] [https://findka.com/biff/](https://findka.com/biff/)

