How Telisik works
Telisik is a search page for questions where the source matters. It asks up to 23 public libraries of human-written material at once, ranks what comes back with a formula you can read below, and prints nothing that a source did not write.
- What it is for
- The sources
- How results are ranked
- How quotes are chosen
- The Before AI switch
- Operators and shortcuts
- Make it your default search
- Privacy
- How it compares
- What it cannot do
- Who pays for it
What it is for
Two things have made looking something up harder. Ordinary web results are crowded with pages written to rank and to sell: a study of 7,392 product-review queries found that higher-ranked pages were on average more optimised, more monetised with affiliate links, and showed signs of lower text quality (Bevendorff, Wiegmann, Potthast and Stein, ECIR 2024). And answer engines write confident text whose sources often do not check out: the Tow Center tested eight of them on 1,600 queries about news articles and they gave a wrong answer to more than 60 percent (Columbia Journalism Review, March 2025).
Telisik takes the opposite position on both. It only searches places that have no shop window to optimise for, and it never writes a sentence of its own. You get the source, the passage, the date, and the reason it is ranked where it is.
That makes it good for learning a topic, finding the paper, the accepted answer, the repository or the old discussion. It is the wrong tool for shopping, maps, local results and breaking news, and it says so on every results page.
The sources
There are 23. Each search goes from your browser straight to the public search interface of each source that fits the query. None of them needs an account or a key.
| Source | What it holds | Evidence Telisik reads |
|---|---|---|
| Wikipedia | Encyclopedia articles, in the language you pick in Settings | None; a fixed value |
| Stack Exchange | Questions and answers; one site per search, chosen from the words in your query or with se: | Votes, accepted answer |
| Hacker News | Technology discussions since 2007 | Points, comments |
| GitHub | Public code repositories (GitLab is asked if GitHub fails or is out of quota) | Stars, archived flag |
| OpenAlex | Scholarly papers across all fields (Crossref is asked if OpenAlex fails) | Citations, open access |
| Europe PMC | Life-science and medical papers, including preprints | Citations, open access |
| Internet Archive | Scanned books and other texts | Downloads |
| Open Library | Book records | Number of editions |
| Mwmbl web index | Ordinary web pages, from a small non-profit index built by volunteers. Far smaller than a commercial engine’s. | None; a fixed, low value |
| Wikibooks | Free textbooks and manuals | None; a fixed value |
| Wiktionary | Dictionary definitions. Asked when the query is one or two words, or asks what a word means. | None; a fixed value |
| Inside books | Open Library’s search of the full text of scanned books. Asked when the query has a phrase in quotes. | Downloads |
| Wikinews | Volunteer-written news reports. Asked when the query asks for news or something recent. | None; a fixed value |
| Wikiquote | Sourced quotations. Asked when the query mentions quotes or sayings. | None; a fixed value |
| Wikivoyage | Travel guides. Asked when the query is about a trip. | None; a fixed value |
| Wikisource | Original texts: laws, speeches, old books | None; a fixed value |
| Zenodo | CERN’s open repository of datasets, software and reports | Downloads, open access |
| ClinicalTrials.gov | Registered clinical studies. Asked when the query uses medical words. A registered trial is a plan or a record, not proof that a treatment works. | Status, enrollment |
| GOV.UK | Guidance and publications of the United Kingdom government. Asked when the query uses words such as law, regulation, visa or tax. | None; a fixed value |
| Federal Register | Rules and notices of United States federal agencies. Asked on the same words as GOV.UK. | None; a fixed value |
| data.europa.eu | The European Union’s catalogue of public datasets from its institutions and member states. Asked when the query uses words such as data, statistics, census, population or emissions. | None; a fixed value |
| Open Canada | Datasets published by the Government of Canada. Asked on the same words as data.europa.eu. | None; a fixed value |
| data.gov.au | Datasets published by Australian governments. Asked on the same words as data.europa.eu. | None; a fixed value |
The lenses choose who is asked. All always asks ten: Wikipedia, Stack Exchange, Hacker News, GitHub, OpenAlex, Europe PMC, the Internet Archive, Open Library, the Mwmbl web index and Wikibooks. Eleven more join only when the query calls for them, as the table says: Wiktionary, Inside books, Wikinews, Wikiquote, Wikivoyage, ClinicalTrials.gov, GOV.UK, the Federal Register and the three open-data catalogues (data.europa.eu, Open Canada and data.gov.au). Learn asks Wikipedia, Stack Exchange, Wikibooks, Open Library, the Internet Archive and OpenAlex, plus Wiktionary, Wikiquote and Wikivoyage when they fit. Research asks OpenAlex, Europe PMC, Zenodo, Wikipedia, the Internet Archive, Wikisource and Open Library, plus ClinicalTrials.gov, Inside books and the three open-data catalogues when they fit. Build asks Stack Exchange, GitHub, Hacker News, the web index and Wikipedia. Discuss asks Hacker News, Stack Exchange and GitHub. Official asks GOV.UK, the Federal Register, the three open-data catalogues, ClinicalTrials.gov, Wikisource and Wikipedia. The list of sources asked, and what each answered, is printed on every results page.
How results are ranked
Every source returns its best six to eight items. Telisik pools them, removes duplicates, and gives each one a score. The whole formula is this:
base = 0.30 × text + 0.20 × evidence + 0.50 × source position + the larger of: 0.08 if the title is your query, or 0.10 × the share of your query the text repeats in the same order + up to 0.10 for items under five years old, only when the query says "latest", "new", "recent" or names this year or last score = base × lens weight × 1.25 if your query names this kind of page × 0.85 ^ (earlier results from the same source)
Three of those lines need a sentence each. The title is your query also holds when the title equals your query without the words that name the kind of page: “kyoto travel guide” matches the travel guide titled “Kyoto”. Other names that Wikipedia redirects to an article count as its title, so “heart attack” finds “Myocardial infarction”. Words in the same order only counts for queries written like a sentence, three words or more with a small word such as “of” or “the” among them. Naming the kind of page means words such as “define”, “quotes”, “travel guide”, “textbook”, “source code”, “regulation” or “dataset”; the dictionary, the quotation collection, the travel guide and so on are then multiplied by 1.25.
Text, 0 to 1
BM25 over the title (counted 1.5 times), the excerpt, and tags or authors (counted 0.5 times), after stemming and dropping stop words. It is divided by the best BM25 in the pool and multiplied by 0.5 + 0.5 × coverage, where coverage is the share of your words that appear at all. If every word is in the title, 0.10 is added. With a quoted phrase, 0.15 is added when the phrase is found and the text score is multiplied by 0.6 when it is not. A result that contains none of your words is dropped.
Evidence, 0 to 1
Only numbers the source itself reports, on a logarithmic scale so that the hundredth vote matters less than the first.
| Kind | Evidence value |
|---|---|
| Encyclopedia | 0.75, fixed |
| Q&A | 0.30 + 0.30 if an answer is accepted + 0.40 × votes (full at 500) |
| Discussion | 0.20 + 0.50 × points (full at 2,000) + 0.30 × comments (full at 1,000) |
| Code | 0.15 + 0.85 × stars (full at 100,000); multiplied by 0.8 if the repository is archived |
| Paper | 0.25 + 0.60 × citations (full at 5,000) + 0.15 if open access |
| Book | 0.30 + 0.70 × editions (full at 200) |
| Archive item | 0.20 + 0.60 × downloads (full at 100,000) |
| Dictionary, Government | 0.70, fixed |
| Open data | 0.65, fixed |
| Source text | 0.60, fixed |
| Textbook, Travel guide | 0.55, fixed |
| Quotations, News report | 0.50, fixed |
| Research record | 0.20 + 0.60 × downloads (full at 50,000) + 0.15 if open access |
| Clinical trial | 0.45 + 0.15 if completed + 0.20 × enrollment (full at 10,000) |
| Inside a book | 0.30 + 0.50 × downloads (full at 100,000) |
| Web page | 0.30, fixed. The web index reports nothing about a page, so it ranks on its words. |
Source position, 0 to 1
The sources search their full text. Telisik only sees the title and a short excerpt, so the order a source chose carries real information. First place is 1, and it falls evenly to the last item returned.
Lens weight and repeats
The lens multiplies the score by a value between 0.7 and 1.2 per source; in All it runs from 1.1 for Wikipedia to 0.85 for the Internet Archive, Europe PMC and the government sources. Each further result from the same source is multiplied by 0.85 again, so one source cannot fill the first screen.
Every result carries one line saying why it is where it is. Press the Why button under it to see these numbers for that result. Nothing else goes into the order: no payment, no click tracking, no profile of you. The code is one file, js/rank.js.
How these numbers were checked
The weights above were not picked by taste. A script asks questions that each have one known right answer and records where that answer lands. There are two sets. The first has 72 questions, and the formula was fitted to it, so its figures flatter the formula: the right answer is first for 79% and in the first ten for 92%. The second has 64 questions written afterwards, about half of them plain descriptions such as “ship that sank after hitting an iceberg in 1912”. Half of the second set was used while making changes. The other half was looked at once, after the last change: there the right answer is first for 63%, in the first three for 81% and in the first ten for 88%. On the half used for changes the figures are lower, 50%, 53% and 69%, because that half happens to hold more of the plain descriptions (21 of 32 against 12 of 32). Both sets were written by an AI assistant, 32 questions is a small sample, and Stack Exchange had reached its limit when the second set’s answers were saved, so none of them include it. The questions, the saved answers and the scripts are in the repository: tools/eval.mjs and tools/compare.mjs.
How quotes are chosen
The block titled “In the sources’ own words” shows at most three sentences. Each is copied character for character from the excerpt of one of the top ten results. A sentence qualifies only if it is 40 to 320 characters long, is not a question, is not cut off, does not open with a word such as “It” or “This” that points back at an earlier sentence, and contains at least half of your query words. No sentence is shortened, joined to another, or reworded. If nothing qualifies, the block is not shown.
A quote is still only as right as its source. The number beside it jumps to the result it came from, so you can read the context before you rely on it.
The Before AI switch
ChatGPT was released on 30 November 2022. With the switch on, Telisik asks each source only for items dated on or before that day and drops anything without a date. It is a date filter, not a detector: it cannot prove a text was written by a person, and it hides good work published since.
Wikipedia articles keep changing, so in this mode the title links to the Internet Archive’s saved copy of the article from that date, the live page is offered as a second link, and Wikipedia text is left out of the quotes. You can set your own window with before: and after:.
Operators and shortcuts
| Type | Effect |
|---|---|
"heat treatment" | Prefer results that contain the exact phrase |
-steel | Drop results that mention the word |
in:wiki | Ask one source only: wiki, qa, hn, code, papers, med, archive, books, web, dict, textbook, texts, quote, travel, news, data, gov, law, trial, fulltext. Repeat it to ask several. |
se:physics | Pick the Stack Exchange site, for example math, engineering, cooking, stackoverflow |
before:2020 | Only items dated up to then. Accepts a year, 2020-06 or 2020-06-15. |
after:2019-06 | Only items dated from then on |
Bangs: hand the query to another engine
Put one of these anywhere in the query and Telisik sends you there instead of searching.
| Bang | Goes to | Bang | Goes to |
|---|---|---|---|
!g | !maps | OpenStreetMap | |
!ddg | DuckDuckGo | !s | Google Scholar |
!b | Brave Search | !w | Wikipedia |
!k | Kagi | !gh | GitHub |
!m | Marginalia | !so | Stack Overflow |
!r | !hn | Hacker News | |
!yt | YouTube | !a | Internet Archive |
Keyboard
- / puts the cursor in the search box
- j and k move to the next and previous result
- Enter opens the result that has focus
- Esc leaves the search box
Make it your default search
The address to give your browser is:
https://juw12.github.io/telisik/#q=%s
- Chrome, Edge, Brave: Settings, Search engine, Manage search engines and site search, Add. Name it Telisik, give it a shortcut such as
s, paste the address, save, then choose “Make default” from its menu. - Firefox: open Telisik, right-click the address bar and choose “Add Telisik”. Then pick it under Settings, Search, Default search engine.
- Safari: Safari does not accept custom engines. Add Telisik to the home screen or the Dock instead (Share, Add to Home Screen).
The # matters. Everything after it stays inside your browser, so the server that delivers this page never receives your query. If your browser refuses an address with #, use ?q=%s. Telisik moves it behind the # at once, but the host can see that first request.
Because bangs work, making Telisik the default does not cut you off from anything: !g cheap flights still lands on Google.
Privacy
- No Telisik server exists. The page is a set of static files on GitHub Pages. GitHub can log that your address loaded the page, as any web host can. It does not receive your query.
- Your query goes to the sources you ask, from your own address, the same as if you had searched each of them yourself. They see the query and your IP address. Telisik sends no cookies and no referrer with it.
- Nothing else can be contacted. The page carries a content security policy that lets it talk to those source hosts and nowhere else. There are no analytics, fonts, ads or scripts from third parties.
- Stored in this browser only: your settings; your last eight searches, if you leave that on; up to 150 source answers; and a note of when a source asked the page to slow down. An answer counts as fresh for one hour (a day for Stack Exchange, GitHub, the web index and Wiktionary), so going back is instant. After that it is kept for up to 30 days and used only if the source fails, and then it is labelled “saved copy” with its age. “Clear saved searches and cache” in Settings deletes the searches and the cache, and your settings stay.
- Links you follow open the source’s own site, and from then on its own privacy rules apply.
- “Report this search” opens a GitHub issue form filled with your query and the list of sources. Nothing is sent unless you press submit there, and the issue is public.
How it compares
Telisik is not the best search engine, and this page will not say it is. Measured on questions with one known right answer, it finds a named thing more often than any one of its sources does alone. It is no better than Wikipedia’s own search at questions put in plain language. It could not be measured against Google, Bing, ChatGPT or Perplexity at all, because their terms forbid automated queries.
The table is the half of the second question set that was held back: 32 questions, asked on 14 November 2026. A source “alone” is that source’s own results in its own order. Only the first ten results count.
| Asked of | Right answer first | In the first ten | Mean of 1 ÷ position |
|---|---|---|---|
| Telisik, all sources | 63% | 88% | 0.720 |
| Wikipedia search alone | 47% | 59% | 0.514 |
| Hacker News search alone | 22% | 25% | 0.229 |
| Mwmbl web index alone | 9% | 25% | 0.135 |
| Wiby web index | 6% | 9% | 0.073 |
| GitHub search alone | 0% | 0% | 0.000 |
Where it loses. Twelve of those 32 questions are plain descriptions. On them Wikipedia’s own search put the right article first for 67% and Telisik for 50%. Over all 33 plain descriptions in the set the two tie on first place (45% each) and Wikipedia has more in its first ten (82% against 73%): mixing in other sources pushes some right articles down. On the 31 questions that name a thing, Telisik is first for 68% and the best single source for 35%.
The test leans Telisik’s way. Every right answer is a page inside one of the libraries Telisik searches, most of them Wikipedia articles. An index of small personal sites such as Wiby could hardly score, and its row says nothing about how good it is at what it is for. GitHub refused 11 of the 64 requests for the set, and its search seldom returns the best-known repository for a plain description.
What could not be measured. Google, Bing, ChatGPT and Perplexity, for the reason above. Marginalia, Stract and the DuckDuckGo instant-answer interface did not answer from the network this ran on. Wiby answered 133 of 136 queries.
What others have measured. Liu, Zhang and Liang put 1,450 queries to four answer engines in 2023 and found that 51.5% of the generated sentences were fully supported by their citations and 74.5% of citations supported their sentence (paper). The Tow Center put 1,600 queries to eight AI search tools in March 2025 and more than 60% of the answers were wrong (report). Bevendorff and colleagues followed 7,392 product-review queries on Google, Bing and DuckDuckGo and found that higher-ranked pages were on average more optimised, carried more affiliate marketing and showed signs of lower text quality (paper). These explain why Telisik quotes and never writes. They do not show that it finds more.
What it is best at. One narrow thing: a free page with no account, no advertising and no tracking that asks 23 public libraries at once, shows only their own words, and prints the arithmetic behind every position. A day of looking found no other tool that does all of that together, which is not proof that none exists. For the open web use a general search engine. For a written answer use an assistant, then check its sources here.
What it cannot do
- It is not a crawl of the whole web. The Mwmbl index gives it some ordinary web pages, but that index is small. If the answer is on a company site, a news site, a forum outside these sources, or a shop, Telisik will often not find it. Use a bang.
- It is not a news wire. The only news source is Wikinews, which is written by volunteers and covers little. For today’s news use a bang.
- The government sources cover a few places. Guidance and rules come from GOV.UK and the United States Federal Register only. Open data comes from the European Union, Canada and Australia. Other countries’ records are not searched.
- It matches words, not meaning. There is no language model, so a search for “car” does not find “automobile” unless the source’s own search does. Try the term the experts would use. When Wikipedia suggests a different spelling, Telisik passes it on as “Did you mean”. It also matches the other names Wikipedia files an article under, so “heart attack” finds “Myocardial infarction”. A description that shares no word with the page still fails: in the check described above, “how do airplanes stay in the air” did not find the article on lift, “general rise in prices over time” did not find the one on inflation, and “building blocks of proteins” did not find the one on amino acids.
- It sees excerpts, not full pages. Ranking and quotes use the title and the few sentences each source returns.
- It is built for languages with spaces between words. Wikipedia can be set to other languages, but the word matching is weak for Chinese, Japanese and Thai.
- Sources set quotas per IP address. Stack Exchange allows about 300 requests a day and GitHub about 10 searches a minute without an account. On a shared office network they can run out. Telisik softens this in four ways: it reuses a saved copy of the same search, labelled as such; it asks GitLab when GitHub refuses; it shows how much quota is left once it runs low; and the code has an empty slot for a free Stack Apps key that raises the Stack Exchange quota. A new search on an exhausted source still gets nothing from it until the quota resets, and the rest still answer.
- It depends on the sources staying open. If one changes or closes its interface, that source stops answering until the code is updated.
- Popularity is not truth. Votes, stars and citations show that people paid attention, not that something is correct.
Who pays for it
Nobody has to. There is no server to rent and no search index to buy, so running Telisik costs nothing, and it is free with no account.
The code has room for two things, and both are empty unless they are filled in: a link where people can support the project, and one text line at the foot of the page that always begins with the word “Sponsor”. Neither can touch the results. The ranking code does not read them, and an automated test fails if it ever does.
Telisik is open source under the MIT licence: github.com/juw12/telisik.