top | item 46417748

Show HN: My not-for-profit search engine with no ads, no AI, & all DDG bangs

199 points| UnmappedStack | 2 months ago |nilch.org

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

76 comments

order

Tiberium|2 months ago

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.

UnmappedStack|2 months ago

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.

DeepSeaTortoise|2 months 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.

stevage|2 months ago

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.

axiolite|2 months ago

> 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.

UnmappedStack|2 months ago

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).

grey-area|2 months ago

Profit is fine.

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

BrenBarn|2 months ago

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.

Zardoz84|2 months ago

Debian keeps doing very well.

barrell|2 months ago

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.

ckardaris|2 months ago

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.

jbaber|2 months ago

I thought ddg supported !s at arbitrary locations, but came across enough exceptions that I now invariably put them at the beginning or end.

UnmappedStack|2 months ago

I actually did not know if these, but I definitely will implement those!

GaryBluto|2 months ago

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".

inetknght|2 months ago

> 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.

everfree|2 months ago

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|2 months 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-...

UnmappedStack|2 months ago

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.

immibis|2 months ago

> 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.

ILoveHorses|2 months ago

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

UnmappedStack|2 months ago

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?

AmiteK|2 months ago

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.

thesdev|2 months ago

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.

UnmappedStack|2 months ago

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!

axiolite|2 months ago

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).

UnmappedStack|2 months ago

Oh! I will make sure to fix that, thank you for the bug report!

consp|2 months ago

Escaping and encapsulating input data strikes again.

renegat0x0|2 months ago

How is it different from searxng then?

UnmappedStack|2 months ago

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.

Imustaskforhelp|2 months ago

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!

Leftium|2 months ago

(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

UnmappedStack|2 months ago

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!

prmoustache|2 months ago

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.

mesosan|2 months ago

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.

amortka|2 months ago

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.

throwatdem12311|2 months ago

You can just turn off ads and AI on the duck.

angel-|2 months ago

Will you include suggested autocomplete searches?

UnmappedStack|2 months ago

I do intend to support this and have actually already been asked to!

Terretta|2 months ago

"No AI, no ads, just search."

Clicked to give it a try, only to be greeted with this LLM authorship trope.

If "sick of AI", rehumanize the slogan?

And carry on! "We were there" when DDG and Kagi got started; hope you enjoy carving a niche as well.

// Yes, LLMs learned it from SEO and marketing slop predating LLMs, but the "No A, No B, Just C" association is too dominant for your brand.

soldthat|2 months ago

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.

UnmappedStack|2 months ago

Yeahhh I like to think of it as search like it's 2015...