A browser-based research tool for discovering authorship overlap between two sets of academic journals, powered by the OpenAlex open scholarly metadata API.
Given two sets of journals (Set A and Set B), the app finds all authors who have published in both sets (configurable start year), then surfaces insights across four analytical views.
Live demo: https://teowaits.github.io/journal-overlap/
| Tab | What it shows |
|---|---|
| Authors | Ranked list of bridging authors with article details, ORCID links, and a word cloud of the top 100 |
| Journal Pairs | Which specific A × B journal combinations share the most authors |
| Institutions | Which institutions have the most researchers bridging both sets |
| Topics | Topic-level overlap across OpenAlex's 4-level hierarchy (Domain → Field → Subfield → Topic), with word clouds at Subfield and Topic granularity |
Requirements: Node.js 18+ and npm.
# 1. Clone the repo
git clone https://github.com/teowaits/journal-overlap.git
cd journal-overlap
# 2. Install dependencies
npm install
# 3. Start the dev server
npm run devThen open http://localhost:5173 in your browser.
# Build for production
npm run build
# Preview the production build
npm run previewNo API key is required — OpenAlex is free and open. For sustained heavy usage, you can add a polite header by registering an email at openalex.org/settings/api.
- Journal resolution — journal names are resolved to OpenAlex Source IDs via the
/sourcessearch endpoint. - Work fetching — all articles published in each journal since 2023 are fetched in paginated batches (
/works), capturing authorship, institution affiliation, andprimary_topic. - Intersection — authors present in both Set A and Set B are identified client-side.
- Enrichment — the top N overlapping authors are enriched via the
/authorsendpoint (citation counts, ORCID, last known institution). - Analytics — journal pairs, institution counts, and topic aggregations are all computed in-memory from the fetched data with no additional API calls.
| Set size | Estimated run time |
|---|---|
| 1–3 journals | 10–30 seconds |
| 5–10 journals | 1–3 minutes |
| 20+ journals | 5–10+ minutes |
Large mega-journals (e.g. PLOS ONE, Scientific Reports) have ~15–20k articles per year and will hit the 10k per-journal paging cap.
All scholarly metadata is provided by OpenAlex — a fully open, free index of global research output maintained by OurResearch. OpenAlex data is released under the CC0 1.0 Universal public domain dedication.
Priem, J., Piwowar, H., & Orr, R. (2022). OpenAlex: A fully-open index of the world's research. arXiv. https://doi.org/10.48550/arXiv.2205.01833
This tool was built with the assistance of Claude Sonnet 4.6 by Anthropic, following OpenAlex API best practices:
- Two-step journal resolution (search → ID) rather than filtering by name
- Polite rate limiting with inter-request delays
select=field filtering to minimise response payload- Year-chunked pagination to stay within the 10k result paging wall
- Client-side intersection and analytics to avoid redundant API calls
| Version | Date | Changes |
|---|---|---|
| 1.3.1 | 2026-05-13 | Authors tab CSV export: ORCID and OpenAlex ID columns now emit bare identifiers (0000-0002-5832-4054, A5077867821) instead of full URLs |
| 1.3.0 | 2026-05-13 | Authors tab CSV export gains two new trailing columns: journal_1_openalex_id (pipe-separated OpenAlex Source IDs for Set A) and journal_2_openalex_id (pipe-separated OpenAlex Source IDs for Set B). Existing 11-column schema is unchanged — new columns append at position 12–13. Enables the Author Email Resolver sibling tool to anchor DOI lookup within the overlap journal set and avoid author disambiguation errors. No additional API call required; IDs are already in app state at export time |
| 1.2.0 | 2026-04-08 | Authors tab CSV export now includes a type column (value: author) and a Note column (from journal-overlap · A × B). Topics tab gains an "Export for Gem Finder" button alongside the existing export; it produces a 4-column CSV (type, OpenAlex ID, display_name, notes) covering all topics and subfields combined, ready to import directly into Gem Finder |
| 1.1.0 | 2026-03-11 | CSV export on all tabs; shareable URLs with ?a=...&b=... and Copy Link button; configurable start year (2020–2025); mobile-responsive tables; empty-state onboarding with example comparisons; parallel API fetching (4x concurrency); paginated author list (50 at a time); retry with backoff on 429/5xx errors; codebase split from 1 file into 12 modules; global CSS extracted to stylesheet; Open Graph / Twitter meta tags; SVG favicon; GitHub Pages deployment via Actions |
| 1.0.0 | 2025-XX-XX | Initial release — journal search, author overlap, journal pairs, institution & topic analysis |