diff --git a/tinytorch/site/_toc.yml b/tinytorch/site/_toc.yml
index 361d72722..cf3a7f767 100644
--- a/tinytorch/site/_toc.yml
+++ b/tinytorch/site/_toc.yml
@@ -107,7 +107,9 @@ parts:
# Community - Collapsible section
- caption: ๐ค Community
chapters:
+ - file: team
+ title: "Team"
- file: community
title: "Ecosystem"
- file: credits
- title: "Credits & Acknowledgments"
+ title: "Acknowledgments"
diff --git a/tinytorch/site/credits.md b/tinytorch/site/credits.md
index dfe2602a2..26f0ee3df 100644
--- a/tinytorch/site/credits.md
+++ b/tinytorch/site/credits.md
@@ -1,4 +1,4 @@
-# Credits & Acknowledgments
+# Acknowledgments
**TinyTorch stands on the shoulders of giants.**
@@ -77,22 +77,132 @@ TinyTorch combines inspiration from these projects into a comprehensive ML syste
-## Community Contributors
+## ML Systems Book Contributors
-TinyTorch is built by students, educators, and ML engineers who believe in accessible systems education.
+TinyTorch is part of the broader [ML Systems Book](https://mlsysbook.ai) ecosystem. These contributors have helped build the educational foundation that TinyTorch extends.
-**[View all contributors on GitHub](https://github.com/harvard-edge/cs249r_book/graphs/contributors)**
+```{raw} html
+
+
+```
-## How to Contribute
-
-TinyTorch is open source and welcomes contributions:
-
-- **Found a bug?** Report it on [GitHub Issues](https://github.com/harvard-edge/cs249r_book/issues)
-- **Improved documentation?** Submit a pull request
-- **Built something cool?** Share it in [GitHub Discussions](https://github.com/harvard-edge/cs249r_book/discussions)
-
-**[See contribution guidelines](https://github.com/harvard-edge/cs249r_book/blob/main/CONTRIBUTING.md)**
+**[View all 40+ contributors on GitHub โ](https://github.com/harvard-edge/cs249r_book/graphs/contributors)**
## License
diff --git a/tinytorch/site/scripts/generate_contributors.py b/tinytorch/site/scripts/generate_contributors.py
new file mode 100644
index 000000000..4fd0828be
--- /dev/null
+++ b/tinytorch/site/scripts/generate_contributors.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python3
+"""
+Generate contributor data for TinyTorch site.
+
+Fetches contributor info from GitHub API and outputs markdown/JSON for the site.
+Run this in CI or manually to update the contributors list.
+
+Usage:
+ python3 scripts/generate_contributors.py > _data/contributors.json
+ python3 scripts/generate_contributors.py --markdown >> credits.md
+"""
+
+import json
+import subprocess
+import sys
+from dataclasses import dataclass
+from typing import Optional
+
+
+@dataclass
+class Contributor:
+ login: str
+ contributions: int
+ avatar_url: str
+ html_url: str
+ name: Optional[str] = None
+
+
+def fetch_contributors(repo: str = "harvard-edge/cs249r_book", limit: int = 50) -> list[Contributor]:
+ """Fetch contributors from GitHub API using gh CLI."""
+ cmd = [
+ "gh", "api", f"repos/{repo}/contributors",
+ "--paginate",
+ "--jq", '.[] | select(.type == "User") | {login, contributions, avatar_url, html_url}'
+ ]
+
+ result = subprocess.run(cmd, capture_output=True, text=True)
+ if result.returncode != 0:
+ print(f"Error fetching contributors: {result.stderr}", file=sys.stderr)
+ return []
+
+ contributors = []
+ for line in result.stdout.strip().split('\n'):
+ if line:
+ data = json.loads(line)
+ contributors.append(Contributor(**data))
+
+ # Sort by contributions and limit
+ contributors.sort(key=lambda c: c.contributions, reverse=True)
+ return contributors[:limit]
+
+
+def fetch_user_names(contributors: list[Contributor]) -> list[Contributor]:
+ """Fetch real names for top contributors."""
+ for c in contributors[:20]: # Only fetch names for top 20 to avoid rate limits
+ cmd = ["gh", "api", f"users/{c.login}", "--jq", ".name"]
+ result = subprocess.run(cmd, capture_output=True, text=True)
+ if result.returncode == 0 and result.stdout.strip():
+ c.name = result.stdout.strip()
+ return contributors
+
+
+def generate_json(contributors: list[Contributor]) -> str:
+ """Generate JSON output."""
+ return json.dumps([
+ {
+ "login": c.login,
+ "name": c.name or c.login,
+ "contributions": c.contributions,
+ "avatar_url": c.avatar_url,
+ "html_url": c.html_url
+ }
+ for c in contributors
+ ], indent=2)
+
+
+def generate_markdown(contributors: list[Contributor]) -> str:
+ """Generate markdown contributor grid."""
+ lines = []
+ lines.append("")
+ lines.append("")
+ lines.append("```{raw} html")
+ lines.append('')
+ lines.append("```")
+
+ return "\n".join(lines)
+
+
+def main():
+ import argparse
+ parser = argparse.ArgumentParser(description="Generate contributor data")
+ parser.add_argument("--markdown", action="store_true", help="Output markdown instead of JSON")
+ parser.add_argument("--limit", type=int, default=50, help="Max contributors to include")
+ parser.add_argument("--with-names", action="store_true", help="Fetch real names (slower)")
+ args = parser.parse_args()
+
+ contributors = fetch_contributors(limit=args.limit)
+
+ if args.with_names:
+ contributors = fetch_user_names(contributors)
+
+ if args.markdown:
+ print(generate_markdown(contributors))
+ else:
+ print(generate_json(contributors))
+
+
+if __name__ == "__main__":
+ main()
diff --git a/tinytorch/site/team.md b/tinytorch/site/team.md
new file mode 100644
index 000000000..1a1e358b6
--- /dev/null
+++ b/tinytorch/site/team.md
@@ -0,0 +1,306 @@
+# Team
+
+**Meet the people building TinyTorch.**
+
+TinyTorch is built by a passionate community dedicated to making ML systems education accessible to everyone.
+
+```{raw} html
+
+
+
+ ๐ชฒ Bug Hunter
+ ๐งโ๐ป Code Warrior
+ โ๏ธ Documentation
+ ๐จ Design
+ ๐ง Ideas
+ ๐ Reviewer
+ ๐งช Testing
+ ๐ ๏ธ Tooling
+
+
+
+```
+
+## 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