Skip to content

Commit 036c89e

Browse files
committed
project: add team in community pages
Signed-off-by: bitliu <[email protected]>
1 parent 1cbbf55 commit 036c89e

File tree

7 files changed

+657
-0
lines changed

7 files changed

+657
-0
lines changed

website/docusaurus.config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,10 @@ const config = {
8282
label: 'Community',
8383
position: 'left',
8484
items: [
85+
{
86+
label: 'Team',
87+
to: '/community/team',
88+
},
8589
{
8690
label: 'Work Groups',
8791
to: '/community/work-groups',
Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
import React from 'react';
2+
import Layout from '@theme/Layout';
3+
import styles from './team.module.css';
4+
5+
const coreTeam = [
6+
{
7+
name: 'Huamin Chen',
8+
role: 'Distinguished Engineer',
9+
company: 'Red Hat',
10+
avatar: '/img/team/huamin.png',
11+
github: 'https://github.com/rootfs',
12+
linkedin: 'https://www.linkedin.com/in/huaminchen',
13+
bio: 'Distinguished Engineer at Red Hat, driving innovation in cloud-native and AI/LLM Inference technologies.',
14+
expertise: ['Cloud Native', 'Kubernetes', 'Container Technologies', 'System Architecture']
15+
},
16+
{
17+
name: 'Chen Wang',
18+
role: 'Senior Staff Research Scientist',
19+
company: 'IBM',
20+
avatar: '/img/team/chen.png',
21+
github: 'https://github.com/wangchen615',
22+
linkedin: 'https://www.linkedin.com/in/chenw615/',
23+
bio: 'Senior Staff Research Scientist at IBM, focusing on advanced AI systems and research.',
24+
expertise: ['AI Systems', 'Research Leadership', 'Machine Learning', 'Innovation']
25+
},
26+
{
27+
name: 'Yue Zhu',
28+
role: 'Staff Research Scientist',
29+
company: 'IBM',
30+
avatar: '/img/team/yue.png',
31+
github: 'https://github.com/yuezhu1',
32+
linkedin: 'https://www.linkedin.com/in/yue-zhu-b26526a3/',
33+
bio: 'Staff Research Scientist at IBM, specializing in AI research and LLM Inference.',
34+
expertise: ['Machine Learning', 'AI Research', 'Data Science', 'Research & Development']
35+
},
36+
{
37+
name: 'Xunzhuo Liu',
38+
role: 'Software Engineer',
39+
company: 'Tencent',
40+
avatar: '/img/team/xunzhuo.png',
41+
github: 'https://github.com/Xunzhuo',
42+
linkedin: 'https://www.linkedin.com/in/bitliu/',
43+
bio: 'Software Engineer at Tencent, leading the development of vLLM Semantic Router and driving the project vision.',
44+
expertise: ['System Architecture', 'ML Infrastructure', 'Open Source', 'Software Engineering']
45+
},
46+
];
47+
48+
49+
50+
const contributors = [
51+
{
52+
name: 'You?',
53+
role: 'Future Contributor',
54+
avatar: 'https://github.com/github.png',
55+
github: '/community/contributing',
56+
bio: 'Join our community and help make vLLM Semantic Router even better!',
57+
expertise: ['Your Skills Here']
58+
},
59+
];
60+
61+
function TeamMember({ member, isContributor = false }) {
62+
return (
63+
<div className={`${styles.memberCard} ${isContributor ? styles.contributorCard : ''}`}>
64+
<div className={styles.memberHeader}>
65+
<img
66+
src={member.avatar}
67+
alt={`${member.name} avatar`}
68+
className={styles.avatar}
69+
/>
70+
<div className={styles.memberInfo}>
71+
<h3 className={styles.memberName}>{member.name}</h3>
72+
<p className={styles.memberRole}>
73+
{member.role}
74+
{member.company && <span className={styles.company}> @ {member.company}</span>}
75+
</p>
76+
</div>
77+
</div>
78+
79+
<p className={styles.memberBio}>{member.bio}</p>
80+
81+
<div className={styles.expertise}>
82+
{member.expertise.map((skill, index) => (
83+
<span key={index} className={styles.skillTag}>{skill}</span>
84+
))}
85+
</div>
86+
87+
<div className={styles.memberActions}>
88+
{!isContributor && member.github && member.github !== '#' && (
89+
<a
90+
href={member.github}
91+
target="_blank"
92+
rel="noopener noreferrer"
93+
className={styles.actionLink}
94+
>
95+
📧 GitHub
96+
</a>
97+
)}
98+
99+
{!isContributor && member.linkedin && (
100+
<a
101+
href={member.linkedin}
102+
target="_blank"
103+
rel="noopener noreferrer"
104+
className={styles.actionLink}
105+
>
106+
💼 LinkedIn
107+
</a>
108+
)}
109+
110+
{isContributor && (
111+
<a
112+
href={member.github}
113+
target="_self"
114+
className={styles.joinButton}
115+
>
116+
🚀 Join Us
117+
</a>
118+
)}
119+
</div>
120+
</div>
121+
);
122+
}
123+
124+
export default function Team() {
125+
return (
126+
<Layout
127+
title="Team"
128+
description="Meet the team behind vLLM Semantic Router">
129+
<div className={styles.container}>
130+
<header className={styles.header}>
131+
<h1>Meet Our Team 👥</h1>
132+
<p className={styles.subtitle}>
133+
The passionate individuals building the future of intelligent LLM routing
134+
</p>
135+
</header>
136+
137+
<main className={styles.main}>
138+
<section className={styles.section}>
139+
<h2>🌟 Core Team</h2>
140+
<p className={styles.sectionDescription}>
141+
The core maintainers who drive the project forward and make key decisions.
142+
</p>
143+
<div className={styles.teamGrid}>
144+
{coreTeam.map((member, index) => (
145+
<TeamMember key={index} member={member} />
146+
))}
147+
</div>
148+
</section>
149+
150+
151+
152+
<section className={styles.section}>
153+
<h2>🤝 Join Our Team</h2>
154+
<p className={styles.sectionDescription}>
155+
We're always looking for passionate contributors to join our community!
156+
</p>
157+
<div className={styles.joinTeamGrid}>
158+
{contributors.map((member, index) => (
159+
<TeamMember key={index} member={member} isContributor={true} />
160+
))}
161+
</div>
162+
</section>
163+
164+
<section className={styles.section}>
165+
<h2>🏆 Recognition</h2>
166+
<div className={styles.recognitionCard}>
167+
<h3>Contributor Recognition</h3>
168+
<p>
169+
We believe in recognizing the valuable contributions of our community members.
170+
Contributors who show consistent dedication and quality work in specific areas
171+
may be invited to become maintainers with write access to the repository.
172+
</p>
173+
174+
<div className={styles.pathToMaintainer}>
175+
<h4>Path to Maintainership:</h4>
176+
<div className={styles.steps}>
177+
<div className={styles.step}>
178+
<span className={styles.stepNumber}>1</span>
179+
<div>
180+
<h5>Contribute Regularly</h5>
181+
<p>Make consistent, quality contributions to your area of interest</p>
182+
</div>
183+
</div>
184+
185+
<div className={styles.step}>
186+
<span className={styles.stepNumber}>2</span>
187+
<div>
188+
<h5>Join a Working Group</h5>
189+
<p>Participate actively in one of our <a href="/community/work-groups">Working Groups</a></p>
190+
</div>
191+
</div>
192+
193+
<div className={styles.step}>
194+
<span className={styles.stepNumber}>3</span>
195+
<div>
196+
<h5>Community Vote</h5>
197+
<p>Receive nomination and approval from the maintainer team</p>
198+
</div>
199+
</div>
200+
201+
<div className={styles.step}>
202+
<span className={styles.stepNumber}>4</span>
203+
<div>
204+
<h5>Maintainer Access</h5>
205+
<p>Get invited to the maintainer group with write access</p>
206+
</div>
207+
</div>
208+
</div>
209+
</div>
210+
</div>
211+
</section>
212+
213+
<section className={styles.section}>
214+
<h2>📞 Get Involved</h2>
215+
<div className={styles.involvementGrid}>
216+
<div className={styles.involvementCard}>
217+
<h3>🚀 Start Contributing</h3>
218+
<p>Ready to make your first contribution?</p>
219+
<a href="/community/contributing" className={styles.actionButton}>
220+
Contributing Guide
221+
</a>
222+
</div>
223+
224+
<div className={styles.involvementCard}>
225+
<h3>👥 Join Working Groups</h3>
226+
<p>Find your area of expertise and connect with like-minded contributors.</p>
227+
<a href="/community/work-groups" className={styles.actionButton}>
228+
View Work Groups
229+
</a>
230+
</div>
231+
232+
<div className={styles.involvementCard}>
233+
<h3>💬 Join Discussions</h3>
234+
<p>Participate in community discussions and share your ideas.</p>
235+
<a href="https://github.com/vllm-project/semantic-router/discussions" target="_blank" rel="noopener noreferrer" className={styles.actionButton}>
236+
GitHub Discussions
237+
</a>
238+
</div>
239+
</div>
240+
</section>
241+
</main>
242+
</div>
243+
</Layout>
244+
);
245+
}

0 commit comments

Comments
 (0)