Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
React + Next.js template for research websites (for PhD students, researchers, etc)
research-website-template is a React + Next.js portfolio template built for academic research websites, generating publication lists, project sections, and personal bio pages from typed TypeScript data files instead of hand-written HTML.
research-website-template is a React + Next.js template for building research or academic personal websites. It takes content defined as TypeScript arrays in the src/data folder — for example, a publication array with fields like year, conference, title, and authors — and renders them into a complete website with minimal configuration. The project runs on Node.js/npm and is designed to deploy to GitHub Pages or Vercel. It was created as a maintainable alternative to popular hand-maintained HTML templates like the Jon Barron template, which the author notes can grow to over 4000 lines of duplicate code.
src/data (e.g. src/data/publication.ts), and the template renders the site sections from that data, so there is no need to edit JSX for routine updates.Publication, with fields marked optional via ?; filling an optional field (paperUrl, codeUrl, bibtex, tldr, imageUrl, award) automatically creates the corresponding UI button, badge, or excerpt.src/data/section-order.ts, letting you rearrange the homepage without touching component code.src/components.npm run dev serves the site at http://localhost:3000.[your-github-username].github.io, push to main, set the Pages source to GitHub Actions, and commit the suggested Next.js build script.npm install, and editing the data arrays, then deploy to GitHub Pages as a username.github.io site.src/data/publication.ts with links to the paper and code, a BibTeX string, a TL;DR, an image, and an optional award; the website automatically renders these as the corresponding UI elements.username.github.io, enable GitHub Actions as the source, and commit the build script; for a custom domain, import the project into Vercel and click Deploy.The template reads content from TypeScript data files, maps them to React components, and renders the homepage sections in the order defined in src/data/section-order.ts. Optional fields in the data interfaces trigger extra UI components automatically. Deployment is handled through standard Next.js builds, with GitHub Actions for GitHub Pages and Vercel for custom domains.
Yes, it is an open-source template hosted on GitHub. You can fork the repository, use it for your own site, and contribute changes through a pull request; the README even invites contributions.
You need Node.js and npm installed on your machine. Verify with node --version and npm --version, then fork and clone the repository, run npm install, and start the development server with npm run dev.
Open src/data/publication.ts and add an object to the publicationData array. The required schema fields are year, conference, title, and authors; optional fields like paperUrl, codeUrl, bibtex, tldr, imageUrl, and award will render links, excerpts, and badges automatically.
Rename your repository to [your-github-username].github.io, push your changes, then in the repo's Settings go to Pages and choose GitHub Actions as the source. Commit the suggested Next.js build script, and the site will be available at https://[your-github-username].github.io/.
Yes, the README states that in practice it could probably be used by anyone. Since the content is data-driven, you can edit the TypeScript arrays to list projects, talks, or other work, and change the section order in src/data/section-order.ts.
