BrunoBernardino
yesterday at 10:00 AM
My wife and I continue to work on Uruky, a EU-based Kagi and Google Search alternative [1].
Since last month we finally got our production API Key for EUSP/STAAN (it was certainly the slowest and most complicated search provider to adopt, so far), and that brought us to 5 search providers you can choose from and sort as you prefer.
We already have got over 40 paying customers (excluding family and friends, we’re guessing these paying customers came from some privacy listings and HN comments) and have exited beta last month!
Customers seem to really enjoy the simple UI (search can be used without JS) and search personalization (from choosing the providers to the domain boosting and exclusion). We also have hashbangs (like "!g", "!d", or “!e”) when something doesn’t quite give you what you’d expect, though.
You can see the main differences between Kagi and Uruky in the linked page, but one huge difference is that with Uruky, after being a paying customer for 12 months, you get a copy of the source code!
One thing we’re struggling with is outreach because we want to do it ethically, and it’s hard to find communities or places to sponsor which are privacy-focused and don’t require €5k+ deals. Ideas are welcome!
Because of bots there isn’t a free trial easily available, but if you’re a human and you’d like to try it for a couple of days for free, reach out with your account number and we’ll set that up!
Thanks.
P.S.: Because people have asked before, our tech stack is intentionally very "boring" (as in, it generates and serves the HTML + bits of JS to enhance settings and such), using Deno in the backend (for easier TypeScript), PostgreSQL for the DB, and Docker for easier deploying.
P.P.S.: Because this has been also brought up before, the name has no special meaning but we read it like "Euro-key" in English. Names are hard, and we’re aware it can remind people of Uruk and Uruk-hai. That’s OK.
P.P.P.S.: Another frequent question here is “how does it work?” When you search, we query the first search provider on your list, and if it yields less than X results (only Mojeek really gives us a total count, we have to try + estimate for the others), we try the second, and so on. We then merge the results in a round-robin fashion (first of first, first of second, second of first, second of second, and so on). There’s a bit of more nuanced logic to also properly rank the results with the pin/exclude/raise/lower preferences, because it works differently across providers and not all of them support that, for example.
[1] https://uruky.com