Nomad

A Next.js app that turns an engineering query into a structured starting map: papers, researchers, topic clusters, a reading roadmap, and source-linked project directions.

Reading room of the ELTE University Library, Budapest
Illustrative photo, not project hardware: The reading room of the ELTE University Library in Budapest. Nomad turns a literature query into a reading map. Photo by Thaler, CC BY-SA 3.0, via Wikimedia Commons.

Result. Turned broad literature queries into source-linked maps by combining multi-query OpenAlex retrieval and deterministic ranking; 88 tests pass across nine suites.

Nomad turns a broad literature query into a smaller starting map—papers to read, recent work to watch, researchers, topic clusters, a reading roadmap, and project directions linked back to source records. OpenAlex is the primary source; the app runs without an OpenAI key using deterministic keyword, metadata, and citation signals. Citation-based ranks are reading-order signals, not predictions of research value.

CategoryAI / Software
Timeline2026
StatusComplete
EvidenceAutomated software tests; relevance test pending
RoleFull-stack design, retrieval pipeline, deduplication and ranking, evaluation fixtures, and test suite
ToolsNext.js, TypeScript, OpenAlex API, Vitest
LinksRepositoryEvaluation notes

problem

My contribution. Built the query-variant retrieval, OpenAlex normalization/deduplication/filtering, ranking and clustering, the classic map and v2 explorer (graph, mind map, trend radar, quality report), and the deterministic test and fixture suite.

A single query to a scholarly database returns a noisy, partial slice of a field. A useful starting map needs multi-query coverage, de-duplicated candidates, inspectable ranking signals, and explicit limits without pretending citation counts predict future impact.

constraints

  • Run without an OpenAI key using deterministic signals; embeddings optional.
  • Deduplicate and normalize OpenAlex records before ranking.
  • Keep ranking signals as reading-order cues, not impact predictions.
  • Make evaluation repeatable with frozen OpenAlex fixtures.

design evolution

Iterations, issues, and fixes, recorded in the order they happened.

RevisionFailure modeDesign changeResult
Multi-query retrievalOne query under-covers a field.Generate query variants, then normalize, deduplicate, and filter the OpenAlex results.Broader candidate coverage before ranking.
Inspectable rankingOpaque or impact-implying ranks mislead the reader.Rank on keyword, metadata, and citation signals as explicit reading-order cues, with optional embeddings.A source-linked map, graph, roadmap, and quality report.
Repeatable evaluationLive OpenAlex changes make results non-reproducible.Froze OpenAlex captures as fixtures behind an 88-test suite across 9 files.2 of 5 audit-topic fixtures active; keyed precision/recall evaluation still pending.

results

88 passing
Tests
9
Test suites
2 of 5
Topic fixtures
OpenAlex
Primary source
Map + explorer
Views
Pending
Keyed eval

The automated suite covers deduplication, relevance diagnostics, scoring, project-idea constraints, roadmap, trend, and clustering across 9 files and 88 tests, using two frozen OpenAlex captures.

Precision, recall, and ranking quality across mechanical-engineering fields are explicitly not yet evaluated; the keyed relevance run is the next measurement.

Scope note. Deterministic components are tested with frozen fixtures. A keyed relevance evaluation—precision at fixed result counts and ranking versus an OpenAlex baseline—has not been run yet, and citation ranks are reading-order signals, not impact predictions.

lessons

  • Coverage is won in retrieval (query variants plus deduplication), not only in ranking.
  • Frozen fixtures make ranking checks repeatable without live-API drift.
  • A shipped app still needs a real relevance evaluation before claiming ranking quality.

← All projects