Show HN: My not-for-profit search engine with no ads, no AI, & all DDG bangs
I've been working on a little open source [1] search engine, nilch. I noticed that nearly all well known search engines, including the alternative ones, tend to be run by companies of various sizes with the goal to make money, so they either fill your results with ads or charge you money, and I dislike this because search is the backbone of the internet and should not be commercial, so it runs in a not-for-profit style and aims to survive on donations. Additionally I'm personally really sick of AI in my search results so I got rid of that, and I wanted DuckDuckGo bangs so it supports all of them. Like many alternative search engines, it is fully private.

Sadly, it currently does not have its own index but rather uses the Brave search API. Once I'm in a financial position that it's possible, I would absolutely love to build a completely new index from the ground up which is open source, as well as an open source ranking and search algorithm, to back it.

I posted on Reddit and got an amazing amount of feedback which I implemented a number of feature requests, so I would really like your ideas, critiques, and bug reports as well. Thank you and sorry for the long post!

[1] https://github.com/UnmappedStack/nilch

Right now it seems like the project is just a thin wrapper over Brave Search. Building a complete search engine is way harder than that. You could look into using https://github.com/MarginaliaSearch/MarginaliaSearch if you want to run a real search index - https://marginalia-search.com/ is powered by it.
Yup, it is pretty much just a better frontend for existing search. I want to build my own index and ranking algorithm in the future, but sadly it's quite resource intensive so it will depend on financial viability a bit in terms of timeframe.
So it's not a search engine, it's a frontend for a search engine.
You can just turn off the AI feature in Brave search so it’s sort of extra pointless.

It’s possibly worth pointing out that the about page doesn’t offer any indicator that this is an actual nonprofit entity from a legal standpoint, so at this point I have to assume it’s just a sole proprietorship that is pinky promising to become a non-profit.

In that sense I’m quite happy “donating” to Kagi to provide a stable and supported product from a company with employees.

That's fair enough. For the record I do intend to apply for a non-profit official entity. I would say it still has a role as opposed to Brave considering the lack of advertising though.
I certainly assume your heart is in the right place. I felt like it was worth warning people to do research before making donations.
Sure, would've made for a chunky post title tho :P
There's tons of these frontends, including SearXNG and proprietary (but very good) Kagi. Kagi are working on their own index; this will be their meat.

I am convinced LLMs are the way forward for searching, with a caveat: what they summarize isn't very relevant (it is overrated). It just gives a (hopefully accurate) semantic context. What matters is the sources it directs to. These are your links normally on top of ypur search query.

I'm genuinely curious why "LLMs are the way forward for searching".

Is it that the results won't be stack ranked lists anymore and instead a conversational output? Personally that's not what I want. I want results that are contextual to my search. If there's a use case for LLMs in search this would be, at least for me, what I'd be looking for. It seems, however, that all of the AI in search results today are not that.

I do pay for Kagi and will continue if the quality of the product continues to offer the quality product that it is today.

openwebsearch.eu wants to build an open index. But despite the funding it is still quite sparse.
How is it better?
  • ·
  • 1 day ago
  • ·
  • [ - ]
I'm in no way an expert, but IMO there is a major misconception in the free-ish software community that profit should be at most secondary to offering a fair and as good as sustainably possible product.

I strongly disagree with this. IMO developers of free-ish as in freedom products OWE it, not only to themselves, but their community to be as profitable as possible within the rules they think that should be followed (and those that are mandatory ofc).

Profit is not only by far the strongest motivating factor for others to adopt your set of rules, but also a guarantee to your community that the product will still be around in a few years and not turn into a rug pull because its developer is burned out after working 80 hour weeks for months or even years for less than minimum wage. It is also something you can trade for your values, e.g. offering great working conditions to your employees or funding projects or lobbying for laws you think will benefit society.

Are you confusing revenue and profit? Wikipedia, OpenStreetMap and Lichess are examples of successful non-profit sites. They have costs, they have revenues, but they don't exist to generate profit.

>but also a guarantee to your community that the product will still be around in a few years and not turn into a rug pull

There are no guarantees. Think of all the perfectly good websites that got shut down not because they weren't financially sustainable, but because they didn't generate enough profit for their owners. Google's graveyard is a good place to start.

Or the sites that were profitable, so they then they got bought out, and shut down, because what the owners really wanted was money more than anything.

Clearly the site in question here is not currently sustainable. But attempting to build a sustainable non-profit website is not impossible.

> developers of free-ish as in freedom products OWE it, not only to themselves, but their community to be as profitable as possible

Wikipedia seems to do just fine without.

Commercializing a product is a whole other field, and it's not reasonable to expect everyone to be good at that, and not reasonable to expect developers to all take on a second job of commercializing their hobby projects.

Why don't YOU commercialize your fork of their service, and use the proceeds to hire developers to maintain the code? That would be infinitely more useful than armchair criticism of others.

> Wikipedia seems to do just fine without.

Because donations are a system that works very much in their favor and not at all in favor of other types of projects. Look at the OpenSSL Software Foundation having received less than $2k in yearly donations during the leadup to heartbleed.

> Commercializing a product is a whole other field, and it's not reasonable to expect everyone to be good at that, and not reasonable to expect developers to all take on a second job of commercializing their hobby projects.

I very much want to disagree with you, but I do not know how. Achieving some commercial success if you do look for it where others with your skill set are successful is not too difficult (see the trades), but the whole point of such projects is the exact opposite: Doing things differently and pushing accepted boundaries to where you think they should be.

On the other hand I think that this is acceptable. As I wrote in another comment, the obligations in these projects mostly arise from what the developers wants to commit themselves to (or, sadly, do so mistakenly). It is very reasonable to e.g. not value the long term success of your project highly.

You might want to just share an idea, maybe someone else will carry on your project or maybe if in 5 years someone shows a picture of you proudly presenting your project, you're like "AI has gotten really impressive, if I didn't know better, I don't think I could tell that this is a fake". And if you're anything like me, strong commitments to internet strangers might be life-threatening. 2 out of 3 times a promise I made got upvoted, I got hit by a car within less than 48 hours of making it and not once otherwise. An up-arrow got just one pointy end, a GitHub star 5. I'm not taking chances.

> Wikipedia seems to do just fine without.

No, they still pay fair wage, and I would trust it more if it pays fair wage to people spending their time on the project(including the creator).

They pay fair wages because they have enough scale where pestering for donations once a year is enough to justify their costs and then some. And even then, this forum is very famous for shitting on such a large scale not-for-profits, with many justifying their decision not to donate by seeing how much money the non-profit already has in their pockets. The only reason we even know how much money the non-profit has in its pockets is because non-profits are legally obliged to publicly disclose that, while for-profits are not (until they go public of course).

My point being that it's a mountain to climb, and just because those at the top have already climbed it doesn't translate into everyone being able to climb it. It takes a whole lot of effort and probably some public grants, but getting those public grants is a whole different skill set than actually building the thing. And you can only get a public grant after you've already created something useful, so your idea of a non-profit quickly turns into an inescable hole in your pocket that you're desperately trying to fill for at least a year or two.

This is why while our lists might vary, every single one of us can only name like 5, maybe 10 non-profits that have "made it" (however we define that success).

All that said, go set up a reocurring $2/month donation to your favourite non-profit right now. Whether you choose Wikimedia or something else, I'm sure it's well worth 10% of a monthly subscription you're already paying for an LLM or whatever. Unlike your for-profit subscriptions, if the money becomes tight you can always cancel these without losing anything.

Wages and profits are conceptually different sorts of things, even if it's sometimes hard to draw a bright line in specific cases.
If it was not clear till now I am talking about wage or wage level earning for the creator.
This is a really interesting view, but I'm not sure I agree. So many amazing projects are truly free without the goal of profit yet their maintainers still do amazing work. I feel like part of the reason this works is because often the load is split between several maintainers (of which I hope to onboard soon, and have one or two offers already from people to contribute) and also the fact it's genuinely something enjoyable to work on (of course, to the extent it's not too stressful and overworked).
There's a difference between awesome projects that don't have a recurring cost (i.e. open source software that users run themselves) and a search engine. You cannot physically run a search engine without real-world costs today. Those funds need to come from somewhere. And offering a good product at scale costs a lot of money.
That is very true, and it's not cheap to maintain. I do however really hope that donations can cover it enough, and I have plans about other ways to monetise it while remaining not-for-profit without ads or anything that affects the user.
Just brainstorming here, but would a distributed search index be possible / usable with current network speeds and latency? I'm not sure how to set up the data structure to not require many high latency jumps, but maybe someone has solved this problem.
It's possible, see the YaCy project. It suffer from probably a couple of orders of magnitude too few resources (in the funding/development sense) to really be competitive though.
Examples? If you are going to say something like linux, almost every developer gets paid to contribute to linux(I remember 95% commits have company attribution). Same with postgres etc.
They are paid, but the end used doesn't pay.
End user are corporate linux users and they pay for maintenance? Perhaps you mean all the end users doesn't pay.
Profit is fine.

Profit from advertising is highly corrosive and corrupts everyone it touches (social networks, your tube, search etc etc).

Honestly I agree. This is part of what I love about the idea of Kagi. I do believe a not-for-profit alternative is needed, however if there's any for-profit model a search engine should have, it should be paid for by the user rather than the advertiser imo.
It depends what you mean by "profit". If you mean "the developers/maintainers can pay the bills of a modest lifestyle", then yes, I think that's important. But often "profit" is used to refer to the idea of unlimited upside, that there are stocks, that the project will be sold, that some kind of sizable windfall is expected, etc. And that I think is to be avoided.
There’s part of this that I agree to - I tend to disagree with most anti-capitalist (or anti-profit) sentiment. However, I disagree that builders “owe” anyone anything, and I strongly disagree with goal of as much profit “as possible”.

I miss the days when someone would make a service where the user would benefit as much as possible and the creator got compensated fairly. I feel like that system worked for hundreds of years. It’s only in the last couple decades that we’ve made this obligation for maximal profits - something that I personally hold responsible for all the mass enshittification going on these days.

> I disagree that builders “owe” anyone anything

I disagree, but I think "owe" carries too much of a negative connotation. Through your project you enter both a relationship with yourself, having taken on a commitment to achieve what got you interested in starting your project in the first place, and the community (who also could be nobody but yourself) you want to benefit from your project, who want to rely on your project to some degree.

These relationships lead to obligations, few, if any, of them being legal or moral ones. Instead they are obligations put onto you by your own interests. You do not observe them because e.g. your project's community demands them (who, I'd like to point out again at this specific point, may still be nobody but yourself!), but because they are important to you. What is important to you can and will change, of course.

> I strongly disagree with goal of as much profit “as possible”.

TBH, I consider the "within the rules they think should be followed" part essential to the statement.

> obligation for maximal profits - something that I personally hold responsible for all the mass enshittification going on these days.

I'm not sure, but I don't think that's the case, sad enough, IMO the reason is to be found a bit to the opposite:

As a group, the people we're overall aligned with in our values (on this issue), having found fulfilling success in goals way less influential than money.

Debian keeps doing very well.
Interesting project. Thanks for sharing.

I am also a fan of DDG bangs and I see two missing features:

1. DDG supports bangs at any place in the query (even in the middle of it). I can search "topic !wiki" and it will work as expected.

2. DDG also supports following the first result in a query if a bare '!' is present in the query. Searching " hacker news !" will land me in the actual website without having to click anything in the results page.

Maybe you can consider adding these.

I actually did not know if these, but I definitely will implement those!
The fact that “no ads and no AI” reads like a luxury feature set in 2025 says a lot about the state of search. Nice reset to sane defaults.
Yeahhh I like to think of it as search like it's 2015...
Search had ads in 2015. They were just a bit less obtrusive.
Why would I use this over Brave search if I were already using it? Especially when all it seems to add is a childish rant against LLMs, "G**gle" and "D*ckD*ckGo".
> all it seems to add is a childish rant against LLMs, "G*gle" and "DckDckGo"

What's childish is the way you're characterizing what was said.

The odd censorship was his, I only copied what he typed.
I believe an open source ranking algorithm is antithetical to good search, sadly. It hands spammers a recipe for how to push past legitimate sites to dominate the search results.
  • Tepix
  • ·
  • 1 day ago
  • ·
  • [ - ]
The topic of ranking mechanisms sits at the core of many of our issues with social networks and centrally operated instances. I think it deserves far more attention.

And these algorithms should be open source and we should be able to pick our own and mash them.

Related:

Build Your Own Timeline Algorithm: A Blueprint

https://blog.mozilla.ai/build-your-own-timeline-algorithm-a-...

This is sadly probably quite true. I'm sure there are workarounds, like slightly changing it every month or two, although that would require quite heavy maintenance. Perhaps the core algorithm stays the same but some constants that decide on the weights of different things are randomised? Not too sure.
I think this distinction matters less to users than to builders. From a user perspective, what’s novel here is policy and intent (no ads, no AI, privacy-first), not whether the index is first-party yet.

Many projects start as thin layers over existing infrastructure and only later take on the hard parts as resources allow. Being explicit about that roadmap feels like the right tradeoff early on.

You NEED to validate/escape untrusted input.

Searching “ causes an error

https://cheatsheetseries.owasp.org/cheatsheets/Input_Validat...

Yeah I really do need to, I'm not sure why I didn't from the start...
I get this error anytime I search anything.

  Error loading search results. Please try again.

  SyntaxError: JSON.parse: unexpected keyword at line 1 column 1 of the JSON data
I see, that is odd and I haven't run into that yet, thank you! I'll have a look into it and try to reproduce the issue, which browser+OS are you on?
you are not alone
I'd love to fork this and archive the results from brave's api Lazily as people search and then use that to snowball scrape. If you got users then that's a really good strat for snowballing the relevant internet.
Searching for "DOMContentLoaded" gives me an error "'noresults' is not valid JSON" and the page gets stuck in an infinite refresh loop.

Edit: It's actually unrelated to the search term, I get this for anything I search for. I'm using Vivaldi Android with adblocker on, maybe that's the problem.

Woah it was because I had run out of API credits, fixed! I'll improve the error screen for that. Sorry, did not expect this traffic, it's had several thousand searches today!
Doesn't seem to like double-quoted search strings:

  SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Single-quotes don't seem to work (doesn't change search results... doesn't exclude irrelevant results that don't contain the exact string).
Oh! I will make sure to fix that, thank you for the bug report!
  • consp
  • ·
  • 1 day ago
  • ·
  • [ - ]
Escaping and encapsulating input data strikes again.
I’d be more convinced if the project explicitly scoped itself as “best possible frontend + governance model” first, and treated a custom index as an aspirational, separate phase.
How is it different from searxng then?
I see nilch as slightly more about being simplistic and not having many features that are unnecessary. I do share many of the values and benefits with searxng (and really love their work!), however this is also about my own specific desire for something that is clean and has very little that is unnecessary.
  • KomoD
  • ·
  • 1 day ago
  • ·
  • [ - ]
You don't need to touch any of the "unnecessary" features in SearXNG, it's as simple as any search engine, just write your query into the input and look at the results
Can also checkout https://github.com/internet4000/find for a client side "search router" supporting custom bangs.
Awesome project, I have a quick suggestion but can you please make adding custom ddg bangs into your project itself rather quickly?

There was this project on hackernews which was recently shown where they (scraped?) the internet and then created an really efficient embedding of the search engine. I wish if you could look more into it or contact the creator of that project perhaps.

https://news.ycombinator.com/item?id=44878151 (Show HN: Building a web search engine from scratch with 3B neural embeddings)

Looks like https://search.wilsonl.in/ they have since then closed the live demo but I had used it when it was live and in my opinion, it was a mix of that if things needed some improvements but that it was also usable for some things which were in the dataset (Of course you wouldn't get Organic chemistry questions/answers for high schoolers as an example in there but you will find most things (usually wikipedia) and then some good sources, usually the ones popular but it was really cool overall so perhaps you can look more into it and helps

Now I really love your project a lot and I think there should be not for profit search engines, but I am a little worried about using it since if I use it as my search engine, then it might cost you a lot of money (using the brave api) .

I just searched and it seems that ecosia is a non profit as well so you can definitely partner up with them, I remember a post about qwant and ecosia partnering up to create an independent search engine.

I think that there should be competition within the search engine space especially via non profits in a way similar to wikipedia one might say ideally. Wishing you the best for this project's future!

(replying to dead reply downthread)

Kagi (custom) bangs[1] already supports `!cobalt <youtube video>`

I just added !cobalt to my custom bangs as `https://cobalt.meowing.de#%s`, and it works.

Kagi also accepts new public bangs: https://github.com/kagisearch/bangs#contribution-guidelines

Kagi bangs are free for everyone (a subscription is required for custom bangs and regular search).

- Example of how to use Kagi bangs without subscription: https://kagi.com/search?q=!chatgpt+TEST

- https://zbang.leftium.com/ uses Kagi bangs under the hood.

[1]: https://help.kagi.com/kagi/features/bangs.html#custom-bangs

Oh thanks for sharing but it seems I would still need to get kagi if I wanted to do !cobalt and I just wanted it to be something which can be used by just about anybody. (Imagine seeing someone downloading something on shitty website and being like oh let me help you and boom)

I think kagi's nice but this is some real pain which I feel like could be solved via nilch with not much pain as well.

Perhaps you can add the cobalt bang to kagi's global list so that people like us who don't use Kagi can use it as well too since the bangs are free for everyone.

I'm not sure if !cobalt would meet Kagi's guidelines for public bangs.

Eventually, zBang will execute bangs locally before falling back to a Kagi network call. It's open source: https://github.com/Leftium/zbang

I just remembered my other project can support cobalt. Just enter the youtube URL and press ENTER (or click the buttons): https://mm.leftium.com?p=C4S2BsFMAIF5oEQGED2AjAhuY0AikBbFBAK...

- The link above embeds the cobalt "launch plan" (config) in the URL, but it could also be added as one of the built-in plans like https://mm.leftium.com/svelte.

- Also open source (and very simple to deploy): https://github.com/Leftium/multi-launch

---

But what's the difference between these two?:

1. Go to https://nilch.org and search for `!cobalt YOUTUBE URL`

2. Go to https://cobalt.meowing.de and search for the YOUTUBE URL

I think #2 is actually simpler for that person you are trying to help.

Thank you! I would definitely consider custom ddg bangs, yes. Is there any particular reason you want that rather than just all ddg's bangs like it is currently?

I'll have a look into that project, thank you. Cost is a slight issue so far, yes. There have been about 4,000 searches in the past couple days but I've slightly improved cost efficiency with caching, and I've received two small donations which do help a bit, so the hope is that donations will be able to sustain it.

Partnering with Ecosia is a really interesting idea, however I think that there may be a conflict of interest since they do aim to make money with ads, just to go towards environmental efforts rather than a corporation. They would be disadvantaged if nilch was at an advantage over their users.

I do love the wikipedia model and I hope that nilch can run similarly. Thank you again!

[dead]
Ecosia is still making money (that it uses to plant trees). That means it is selling something and we can reasonnably think that is your data/privacy.
As far as I'm aware, Ecosia does sell ads.
You can just turn off ads and AI on the duck.
Will you include suggested autocomplete searches?
I do intend to support this and have actually already been asked to!
> nilch uses the Brave search API internally for results.

I wish wrappers would stop being called search engines. Google is a search engine, and so is Bing, and Yandex, and Marginalia Search. DDG, Brave, Nilch, and Kagi are search interfaces, or search coats of paint.

Typescript failed to fetch?
[dead]