Files
cs249r_book/tinytorch/site/team.md
Vijay Janapa Reddi 956e7277c8 feat(site): auto-generate team page from .all-contributorsrc
Add generate_team.py script that reads .all-contributorsrc and generates
the team.md page automatically. This keeps the website team page in sync
with the README contributors.

- Add tinytorch/site/scripts/generate_team.py
- Update both deploy workflows to run the script before building
- Contributors added via @all-contributors now appear on the website

The script runs during site build, so team.md stays fresh with each deploy.
2026-02-05 20:25:02 -05:00

308 lines
9.1 KiB
Markdown

# Team
**Meet the people building TinyTorch.**
TinyTorch is built by a passionate community dedicated to making ML systems education accessible to everyone.
```{raw} html
<style>
.team-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
gap: 1.5rem;
margin: 2rem 0;
}
.team-member {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: inherit;
transition: transform 0.15s;
}
.team-member:hover {
transform: translateY(-4px);
}
.team-member img {
width: 80px;
height: 80px;
border-radius: 50%;
border: 3px solid #e5e7eb;
transition: border-color 0.2s;
}
.team-member:hover img {
border-color: #f97316;
}
.team-member .name {
font-size: 0.85rem;
font-weight: 600;
margin-top: 0.75rem;
text-align: center;
}
.team-member .roles {
font-size: 0.75rem;
margin-top: 0.25rem;
opacity: 0.8;
}
.team-lead {
grid-column: 1 / -1;
display: flex;
align-items: center;
gap: 1.5rem;
padding: 1.5rem 2rem;
background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
border: 2px solid #fed7aa;
border-radius: 1rem;
margin-bottom: 1rem;
}
.team-lead img {
width: 100px;
height: 100px;
border-radius: 50%;
border: 4px solid #f97316;
flex-shrink: 0;
}
.team-lead .info {
flex: 1;
}
.team-lead .name {
font-size: 1.35rem;
font-weight: 700;
color: #1f2937;
}
.team-lead .role {
font-size: 1rem;
color: #c2410c;
margin-top: 0.25rem;
font-weight: 500;
}
.team-lead .bio {
font-size: 0.9rem;
color: #57534e;
margin-top: 0.5rem;
line-height: 1.5;
}
.team-lead .roles {
font-size: 0.85rem;
margin-top: 0.5rem;
}
.role-legend {
display: flex;
flex-wrap: wrap;
gap: 0.75rem 1.5rem;
margin: 1.5rem 0;
padding: 1rem 1.25rem;
background: #f8fafc;
border-radius: 0.75rem;
font-size: 0.8rem;
}
.role-legend span {
white-space: nowrap;
}
.staff-row {
grid-column: 1 / -1;
display: flex;
justify-content: center;
gap: 2.5rem;
padding: 1rem 0;
}
.team-staff {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
color: inherit;
transition: transform 0.15s;
}
.team-staff:hover {
transform: translateY(-3px);
}
.team-staff img {
width: 64px;
height: 64px;
border-radius: 50%;
border: 2px solid #94a3b8;
transition: border-color 0.15s;
}
.team-staff:hover img {
border-color: #f97316;
}
.team-staff .name {
font-size: 0.85rem;
font-weight: 600;
margin-top: 0.5rem;
text-align: center;
}
.team-staff .role {
font-size: 0.7rem;
color: #64748b;
margin-top: 0.125rem;
text-align: center;
}
.section-label {
grid-column: 1 / -1;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #94a3b8;
margin-top: 1rem;
margin-bottom: -0.5rem;
}
@media (max-width: 600px) {
.team-lead {
flex-direction: column;
text-align: center;
padding: 1.25rem;
}
.team-lead img {
width: 90px;
height: 90px;
}
.team-staff {
padding: 0.75rem 1rem;
}
}
</style>
<div class="role-legend">
<span>🪲 Bug Hunter</span>
<span>🧑‍💻 Code Warrior</span>
<span>✍️ Documentation</span>
<span>🎨 Design</span>
<span>🧠 Ideas</span>
<span>🔎 Reviewer</span>
<span>🧪 Testing</span>
<span>🛠️ Tooling</span>
</div>
<div class="team-grid">
<div class="team-lead">
<a href="https://github.com/profvjreddi">
<img src="https://avatars.githubusercontent.com/profvjreddi?v=4&s=200" alt="Vijay Janapa Reddi" />
</a>
<div class="info">
<div class="name">Vijay Janapa Reddi</div>
<div class="role">🤓 Nerdy Professor · Harvard University</div>
<div class="bio">Gordon McKay Professor of Electrical Engineering at Harvard. Passionate about creating the next generation of AI engineers.</div>
<div class="roles">🪲 🧑‍💻 🎨 ✍️ 🧠 🔎 🧪 🛠️</div>
</div>
</div>
<div class="section-label">Community Staff</div>
<div class="staff-row">
<a href="https://github.com/kai4avaya" class="team-staff">
<img src="https://avatars.githubusercontent.com/kai4avaya?v=4&s=120" alt="kai" />
<div class="name">kai</div>
<div class="role">🌐 Web Wizard</div>
</a>
<a href="https://github.com/AndreaMattiaGaravagno" class="team-staff">
<img src="https://avatars.githubusercontent.com/u/22458187?v=4" alt="AndreaMattiaGaravagno" />
<div class="name">AndreaMattiaGaravagno</div>
<div class="role">🧭 Tech Lead</div>
</a>
<a href="#" class="team-staff">
<img src="https://ui-avatars.com/api/?name=Kari+Janapareddi&background=f97316&color=fff&size=120" alt="Kari Janapareddi" />
<div class="name">Kari Janapareddi</div>
<div class="role">👑 Chief of Staff</div>
</a>
</div>
<div class="section-label">Contributors</div>
<a href="https://github.com/minhdang26403" class="team-member">
<img src="https://avatars.githubusercontent.com/minhdang26403?v=4&s=160" alt="Dang Truong" />
<span class="name">Dang Truong</span>
<span class="roles">🪲 🧑‍💻 ✍️ 🧪</span>
</a>
<a href="https://github.com/didier-durand" class="team-member">
<img src="https://avatars.githubusercontent.com/didier-durand?v=4&s=160" alt="Didier Durand" />
<span class="name">Didier Durand</span>
<span class="roles">🪲 🧑‍💻 ✍️</span>
</a>
<a href="https://github.com/karthikdani" class="team-member">
<img src="https://avatars.githubusercontent.com/karthikdani?v=4&s=160" alt="Karthik Dani" />
<span class="name">Karthik Dani</span>
<span class="roles">🪲 🧑‍💻</span>
</a>
<a href="https://github.com/avikde" class="team-member">
<img src="https://avatars.githubusercontent.com/avikde?v=4&s=160" alt="Avik De" />
<span class="name">Avik De</span>
<span class="roles">🪲 🧪</span>
</a>
<a href="https://github.com/rnjema" class="team-member">
<img src="https://avatars.githubusercontent.com/rnjema?v=4&s=160" alt="rnjema" />
<span class="name">rnjema</span>
<span class="roles">🧑‍💻 🛠️</span>
</a>
<a href="https://github.com/joeswagson" class="team-member">
<img src="https://avatars.githubusercontent.com/joeswagson?v=4&s=160" alt="joeswagson" />
<span class="name">joeswagson</span>
<span class="roles">🧑‍💻 🛠️</span>
</a>
<a href="https://github.com/AmirAlasady" class="team-member">
<img src="https://avatars.githubusercontent.com/AmirAlasady?v=4&s=160" alt="Amir Alasady" />
<span class="name">Amir Alasady</span>
<span class="roles">🪲</span>
</a>
<a href="https://github.com/jettythek" class="team-member">
<img src="https://avatars.githubusercontent.com/jettythek?v=4&s=160" alt="jettythek" />
<span class="name">jettythek</span>
<span class="roles">🧑‍💻</span>
</a>
<a href="https://github.com/Takosaga" class="team-member">
<img src="https://avatars.githubusercontent.com/Takosaga?v=4&s=160" alt="Takosaga" />
<span class="name">Takosaga</span>
<span class="roles">🪲</span>
</a>
<a href="https://github.com/wz1114841863" class="team-member">
<img src="https://avatars.githubusercontent.com/wz1114841863?v=4&s=160" alt="wzz" />
<span class="name">wzz</span>
<span class="roles">🪲</span>
</a>
<a href="https://github.com/ngbolin" class="team-member">
<img src="https://avatars.githubusercontent.com/u/9389997?v=4" alt="Ng Bo Lin" />
<span class="name">Ng Bo Lin</span>
<span class="roles">✍️</span>
</a>
<a href="https://github.com/keo-dara" class="team-member">
<img src="https://avatars.githubusercontent.com/u/175544368?v=4" alt="keo-dara" />
<span class="name">keo-dara</span>
<span class="roles">🪲</span>
</a>
<a href="https://github.com/Kobra299" class="team-member">
<img src="https://avatars.githubusercontent.com/u/4283156?v=4" alt="Wayne Norman" />
<span class="name">Wayne Norman</span>
<span class="roles">🪲</span>
</a>
<a href="https://github.com/lalalostcode" class="team-member">
<img src="https://avatars.githubusercontent.com/u/149884766?v=4" alt="Ilham Rafiqin" />
<span class="name">Ilham Rafiqin</span>
<span class="roles">🪲</span>
</a>
</div>
```
## Join the Team
TinyTorch is open source and we welcome contributors of all experience levels!
**Ways to get involved:**
- 🪲 **Found a bug?** [Report it on GitHub](https://github.com/harvard-edge/cs249r_book/issues)
- 💡 **Have an idea?** [Start a discussion](https://github.com/harvard-edge/cs249r_book/discussions)
- 🧑‍💻 **Want to contribute code?** [See our contributing guide](https://github.com/harvard-edge/cs249r_book/blob/main/CONTRIBUTING.md)
- ✍️ **Improve documentation?** Submit a pull request
**Get recognized:** Comment on any issue or PR with `@all-contributors please add @username for bug, code, doc, or ideas`
## Contact
- **GitHub Issues**: [Report bugs or request features](https://github.com/harvard-edge/cs249r_book/issues)
- **GitHub Discussions**: [Ask questions or share ideas](https://github.com/harvard-edge/cs249r_book/discussions)
- **Project Lead**: [Prof. Vijay Janapa Reddi](https://scholar.harvard.edu/vijay-janapa-reddi) · Harvard University