Files
Vijay Janapa Reddi 972f5ea84b Merge local dev into feat/slides-refresh
dev's Classic Expository Style pass over the websites is the base;
re-applied from this branch only where a fact was missing or wrong: real
volume titles and status, no stale counts or timing claims, the four-volume
teaching guide and slide pages. Lecture lists regenerated by
tools/lectures.py; the PPTX note appears on all four volume pages.
2026-10-20 00:07:32 +02:00

112 lines
5.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Community Ecosystem"
---
<iframe src="community/community.html" width="100%" height="600px" title="TinyTorch community map" style="border: 1px solid #eee; border-radius: 8px; margin-bottom: 20px;"></iframe>
**The TinyTorch Globe.** Create an account and join the global community to track your progress and connect with other builders.
**Learn together, build together, grow together.**
TinyTorch is more than a course. It is a growing community of students, educators, and ML engineers learning systems engineering from first principles.
## Community Dashboard (Available Now)
Join the global TinyTorch community and see your progress:
1. **Create a community account** to connect your profile with other builders.
2. **Build and complete modules** with `tito module start` and `tito module complete`.
3. **Review your progress** in the dashboard and run the milestones your modules unlock.
4. **Choose what to share** when joining the community.
## How to Join the TinyTorch Community:
There are two primary ways to join and engage with the TinyTorch community:
### Option 1: Explore the Live Dashboard
You can explore the interactive TinyTorch Community Dashboard directly in your browser:
```{=html}
<p align="center">
<a href="community/community.html" target="_blank" class="btn btn-primary btn-lg" style="background-color: #ff6600; color: white; padding: 15px 30px; text-align: center; text-decoration: none; display: inline-block; font-size: 20px; margin: 10px 2px; cursor: pointer; border-radius: 8px; border: none;">
Explore Dashboard <span class="badge badge-light"></span>
</a>
</p>
```
### Option 2: Join via TinyTorch CLI
Download the TinyTorch CLI to set up your environment, manage your profile, and contribute to community statistics directly from your terminal.
```bash
# First-time setup (creates your local profile; does not join the community)
tito setup
# Or, if already set up, log in
tito community login
# View your profile
tito community profile
# Check your community status
tito community status
# Open the community map
tito community map
```
**Features:**
- **Optional profile** - `tito setup` asks for your name, email, and affiliation; every field can be left at its default
- **Progress tracking** - Automatic milestone and module completion tracking
- **Local by default** - Your profile is written to `~/.tinytorch/profile.json`, and module progress to `.tito/` in the project
- **You choose what syncs** - Nothing is uploaded until you log in with `tito community login`. Login shows exactly what a sync sends and asks whether later syncs may run automatically
**Privacy.** The local profile at `~/.tinytorch/profile.json` stores the name, email, and affiliation you enter; all three are optional and default to placeholder values. A sync uploads to the TinyTorch website (tinytorch.netlify.app, backed by Supabase): your account email, used as your user ID; which modules you completed and when; which milestones you unlocked or completed and when; your completion percentage; and your current streak. It never uploads code, notebooks, or test output. When you log in, `tito` shows this list and asks whether it may sync automatically after you complete a module or milestone (logging in from a terminal that cannot prompt counts as yes). If you agree, or later run `tito community sync --enable-auto`, it syncs after each completion without asking. If you decline, or run `tito community sync --disable-auto`, it never syncs on its own and stops asking. If no choice is saved on this machine, `tito` asks after each completion in a terminal and uploads nothing when it cannot ask. Setting `TITO_NO_SYNC=1` turns automatic sync off entirely. `tito community sync` always uploads on demand.
## Check Your Environment Speed
```bash
tito benchmark baseline # times plain NumPy on this machine
```
`tito benchmark baseline` times a few NumPy operations (elementwise ops and a matrix multiply on 100×100 arrays, and a two-layer forward pass) and reports each time and their geometric mean. It checks your environment, not your TinyTorch code, and gives no score. Results are saved locally under `.tito/benchmarks/`; nothing is uploaded, and there is no community leaderboard.
`tito benchmark capstone` is reserved for measuring your Module 20 model but is not implemented yet: it reports an error, saves nothing, and points you to Module 19's `Benchmark` class, which you can run on your model directly.
See [TITO CLI Reference](tito/commands.qmd) for complete command documentation.
## For Educators
Teaching TinyTorch in your classroom?
See [For Instructors](instructors.qmd) for assignment tiers, nbgrader grading, and when to give students the book.
## Recognition & Showcase
Built something impressive with TinyTorch?
**Share it with the community:**
- Post in [GitHub Discussions](https://github.com/harvard-edge/cs249r_book/discussions) under "Show and Tell"
- Tag us on social media with #TinyTorch
**Exceptional projects may be featured:**
- On the TinyTorch website
- In course examples
- As reference implementations
## Stay Updated
**GitHub Watch**: [Enable notifications](https://github.com/harvard-edge/cs249r_book) for releases and updates
**Follow Development**: Check [GitHub Issues](https://github.com/harvard-edge/cs249r_book/issues) for roadmap and upcoming features