Skip to content

H-Freax/TermHub

English | 中文

TermHub

Your Resume In. Portfolio Out.
Terminal-themed portfolio for developers, researchers, and creatives. Edit text files or let AI do it via MCP.

Live Demo Author's Site Docs Discord

License TypeScript React Vite Chakra UI Supports MCP


Tip

Don't want to touch code? We're building a hosted solution at termhubai.com — upload your resume and get a live portfolio, no Git or terminal needed. Join the waitlist to get early access!


Demo

TermHub — Author's Portfolio
h-freax.github.io — the author's real portfolio, built with TermHub

Cookie's Demo · Author's Portfolio

View all pages

Publications

Publications

Projects

Projects

Experience

Experience

Articles

Articles

Awards · My Journey

Awards My Journey

Selected Publications · Recent Updates

Selected Publications Recent Updates


Design Philosophy

TermHub is built around one simple idea: CV → AI → Markdown → Homepage

Instead of writing HTML or learning a framework, you give your CV to any AI — ChatGPT, Claude, Gemini, or any LLM — and it generates Markdown files that plug directly into TermHub. Works for developers, researchers, designers, students — anyone who wants a professional portfolio. With our built-in MCP server, Claude can do this fully automatically: read your resume, call 19 specialized tools, and populate your entire site in under a minute.


Features

  • Terminal aesthetic with Nord color palette, dark / light mode
  • Fully responsive (mobile → desktop), hot reload on edit
  • No code needed — just edit text files in content/
  • MCP-powered — resume → AI → portfolio in minutes
  • i18n — built-in English / Chinese bilingual support

Content types: Publications · Projects · Experience · Articles · Awards · News


Quick Start

# 1. Fork & clone
git clone https://github.com/H-Freax/TermHub.git
cd TermHub && npm install

# 2. Run the setup wizard — generates your config
npm run setup

# 3. Start dev server
npm run dev

Open http://localhost:5173 — your site is running. Edit files in content/, save, and the browser refreshes automatically.


What You Edit

All your content lives in one folder — you never touch source code.

content/
├── site.json              ← name, email, social links, features
├── about.md               ← bio & career timeline
├── experience.json        ← work & education history
├── publications/          ← one .md per paper
├── projects/              ← one .md per project
├── articles/              ← one .md per blog post
├── news.json              ← announcements
├── awards.json            ← awards & honors
└── images/                ← avatar, logos, screenshots
Feature toggles — show or hide entire pages

In content/site.json, flip features on or off:

{
  "features": {
    "publications": true,
    "projects": true,
    "articles": true,
    "experience": true,
    "news": true,
    "pets": false,
    "guide": false
  }
}

When a feature is false, its page and nav link disappear completely.


Deploy

  • GitHub Pages — Push to main, the included workflow deploys automatically
  • Vercel — Import repo → click Deploy (auto-detects Vite)
  • Netlify — Import repo → click Deploy

AI Integration — Supports MCP

The CV → AI → Markdown → Homepage pipeline taken to its logical conclusion: TermHub includes a built-in MCP server that lets Claude directly read your resume, generate all Markdown/JSON content files, and build your site — zero manual editing.

  • Give AI your resume PDF or text, get a complete site
  • 19 specialized tools for publications, projects, experience, awards
  • Built-in PDF text extraction
  • AI can start dev server and live preview your site
# Quick setup
cd mcp-server && npm install    # 1. Install
# 2. Configure Claude Desktop / Code (see mcp-server/mcp-config.json)
# 3. Tell Claude: "Parse my resume and generate my portfolio"
Available tools
Tool Description
get_schema Get all data types — AI calls this first
parse_pdf Extract text from resume PDF
generate_from_resume Create structured blueprint from resume text
update_site_config Set name, email, social links
add_publication Add a paper with full metadata
add_project Add a project with tags and highlights
add_experience Add work/research timeline entry
add_education Add education entry
add_news / add_award Add news items and awards
write_markdown_content Write any Markdown content file
write_json_content Write any JSON content file
manage_assets Copy images to public directory
preview_site Start dev server or production build
get_site_status Overview of current portfolio content
reset_content Clear all content for fresh start

Workflow: Resume → parse_pdfgenerate_from_resume → AI calls add_* tools → preview_site — done in under a minute.

For detailed setup instructions, see the AI Integration guide.


Tech Stack

React 18 · TypeScript 5 · Vite 5 · Chakra UI · Framer Motion · Nord Palette · i18next


Changelog

  • 2026-03-15 v1.2.0 — Built-in English / Chinese bilingual support with language switcher and auto detection
  • 2026-03-15 v1.1.0 — Added MCP server with 19 tools for AI-powered portfolio generation
  • 2026-03-14 v1.0.0 — Initial release with publications, projects, experience, articles, awards, and news

Contributing

Contributions are welcome! Feel free to:


License

GPL-3.0-only · Copyright © 2026 Yaoyao (Freax) Qian

About

TermHub is a terminal-style homepage template.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors