Inspiration

About 1 in 4 research papers is not written in English. In OpenAlex, the open catalog of global research, that is more than 81 million works. Yet almost all literature search happens in English, and search engines only match the words you type. Search "drought stress in rice" and you will never see the Chinese paper on the exact same experiment, titled 干旱胁迫.

That research matters. Field studies, regional policy and local perspectives are often published in the language of the place they study. A student researching China's Belt and Road Initiative in Africa usually reads only the English-language debate, without ever seeing what Chinese, French or Swahili scholars write about it. Translation tools help you read a paper you have already found. Nothing helped you find it. So we built Prism.

What it does

Prism: one question, every language. You ask a research question in your own language, and Prism:

  • Searches 18 languages at once: English, Chinese, Spanish, Portuguese, French, German, Japanese, Russian, Korean, Indonesian, Italian, Turkish, Polish, Ukrainian, Arabic, Hindi, Afrikaans and Swahili.
  • Ranks every paper by meaning, not language, so a strong Japanese paper competes fairly with an English one.
  • Shows originals first, with clearly labeled machine translations of titles and abstracts, and AI summaries that only use what the abstract actually says.
  • Finds gaps between languages. For any search, Prism compares what each language's research focuses on. For "Ganges river pollution", 9 of 15 English papers measure water quality, compared with 2 of 14 Spanish papers, and groundwater arsenic contamination appeared only in the Japanese sample. Every finding links to the actual papers behind it.
  • Maps where the research was published, with one click to filter results by country.
  • Uses real data only. Every result is a live OpenAlex record. Missing abstracts or languages are shown as missing, never invented.

Try it live: prism-mauve-eight.vercel.app

How we built it

  • Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS and shadcn/ui. The landing page is a three.js 3D globe with every country painted in its own flag, and it spins while your search runs.
  • Backend: Node.js API routes, deployed on Vercel. Papers come live from the OpenAlex API, which indexes 328 million works.
  • Intelligence:
    • Google Gemini rewrites your question in the research vocabulary of each language, fixes wrong language tags, translates titles and abstracts, and powers the Gaps analysis.
    • Transformers.js runs a multilingual embedding model (paraphrase-multilingual-MiniLM-L12-v2) locally on our server, with no API key and no cost per search.
  • Ranking: a hybrid of semantic similarity and BM25 keyword matching:

$$\text{score} = 0.7 \cdot \text{semantic} + 0.3 \cdot \text{keyword}$$

The meaning of your question is represented by the average of its embeddings across all 18 translations, so no single translation dominates.

  • Gaps: Gemini reads each language's most relevant papers, sets aside off-topic ones, and tags the themes each paper's own text discusses. Prism, not the AI, then counts the tags and compares every language with a baseline language. A short AI summary is written afterwards, from those computed numbers only.
  • Testing: 153 automated tests with Vitest and Playwright.

Challenges we ran into

  • Fairness to every language, English included. Our first version took the same number of papers from each language, which flooded the results with small literatures: a search for "Shakespeare" returned more Italian papers than English ones. We switched to taking candidates from each language in proportion to how much research it actually has on the topic, and let ranking decide the rest.
  • Wrong metadata. OpenAlex detects languages automatically and sometimes gets them wrong, such as papers tagged as Chinese that are written entirely in English. We added a Gemini check for papers whose text disagrees with their tag.
  • Hindi text. OpenAlex stores Hindi without its vowel signs (जलवायु becomes जलवय), so keyword matching silently failed. We now normalize Devanagari text on both sides.
  • AI that sounds confident but is wrong. In our first Gaps prototype, Gemini's summary contradicted the actual counts, and a search about the Ganges pulled in papers about the word "gang". We redesigned the pipeline: off-topic papers are filtered out, every number is computed in code, and the AI summary only sees those computed facts.
  • Running a machine learning model on serverless hosting. The embedding runtime was larger than Vercel's 250 MB function limit, and Vercel freezes background work. We shipped only the Linux binaries and load the model on demand.
  • Hackathon budgets. OpenAlex allows about $1 of usage per day and Gemini's free tier rate-limits quickly, so we added caching and an automatic fallback across Gemini models.

Accomplishments that we're proud of

  • A working, deployed product: real multilingual search across 18 languages, live on the web.
  • Gaps: an AI feature where the AI never invents a number, and every claim links to its evidence.
  • Honest by design: no fabricated data, every translation labeled, and our limitations stated inside the app.
  • Languages from the Global South: Hindi, Swahili and Afrikaans, the largest research literatures in OpenAlex from South Asia and Africa.
  • A globe we love, and all 153 tests passing.

What we learned

  • Cross-language search is a fairness problem as much as a technical one. How you sample and normalize results decides whose research gets seen.
  • Use language models as careful labelers, not oracles. Our best results came from giving Gemini narrow, checkable jobs and letting code do the math.
  • Real data is messy: missing abstracts, wrong language tags and stripped scripts. Handling that honestly matters more than hiding it.
  • Serverless hosting brings real limits for machine learning: function size caps, cold starts and frozen background work.

What's next for Prism

  • More languages: Bengali, Urdu, Tamil, Vietnamese, Persian, and more African languages as their indexed literatures grow.
  • Bigger, deeper gap analysis: larger samples, full-text analysis, and trends over time, such as how Chinese research on a topic has shifted since 2015.
  • Tools for researchers: export to Zotero and BibTeX, saved searches, and alerts when new research appears in any language.
  • Evaluation: a benchmark built with multilingual researchers to measure how much relevant work Prism surfaces compared with English-only search.
  • Scale: persistent caching and a paid tier for heavier use, to bring Prism to universities and policy teams.
Share this project:

Updates

Submission history