157 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
0378da462c Add consistent Aha Moment demos to all 20 modules
Each module now includes a self-contained demo function that:
- Uses the 🎯 emoji for consistency with MODULE SUMMARY
- Explains what was built and why it matters
- Provides a quick, visual demonstration
- Runs automatically after test_module() in __main__

Format: demo_[module_name]() with markdown explanation before it.
All demos are self-contained with no cross-module imports.
2025-12-04 06:33:31 -08:00
Vijay Janapa Reddi
4aeb3c9c69 Merge main into dev, resolving conflicts with dev's version 2025-12-03 07:26:43 -08:00
Vijay Janapa Reddi
9a7023b5e1 Remove download button and align header icons 2025-12-03 07:15:55 -08:00
Vijay Janapa Reddi
4c4d9aa029 Add emojis to role options in subscribe modal 2025-12-03 07:11:08 -08:00
Vijay Janapa Reddi
0911074243 Fix build script to copy module ABOUT files from src/ to docs/modules/
The docs/modules/ directory is gitignored since these are generated files.
Build script now copies src/*/ABOUT.md to docs/modules/*_ABOUT.md before
building, ensuring all 20 module pages appear in the sidebar navigation.
2025-12-03 06:43:10 -08:00
Vijay Janapa Reddi
d8424b4a63 Fix logo appearance in dark mode with white background and shadow 2025-12-03 06:06:58 -08:00
Vijay Janapa Reddi
42e07151d5 Add subscribe modal popup with MLSysBook integration
- Add subscribe-modal.js with elegant popup form
- Update top bar: fire-themed dark design (56px), orange accent
- Subscribe button triggers modal instead of navigating away
- Modal shows MLSysBook + TinyTorch branding connection
- Form submits to mlsysbook newsletter with tinytorch-website tag
- Orange Subscribe button matches TinyTorch fire theme
- Responsive design with dark mode support
2025-12-03 05:56:38 -08:00
Vijay Janapa Reddi
47635d1550 Add three-phase testing to tito module test
- Phase 1: Inline unit tests (quick sanity checks)
- Phase 2: Module pytest with --tinytorch educational output
- Phase 3: Integration tests for modules 01-N

Added --unit-only and --no-integration flags for flexibility.
Students can now run comprehensive tests with clear feedback
about what each phase is checking and why it matters.
2025-12-02 23:06:17 -08:00
Vijay Janapa Reddi
c479b93005 Add testing section to student workflow documentation
Documents educational test mode with --tinytorch flag and explains
WHAT/WHY/learning tips that tests provide
2025-12-02 22:55:22 -08:00
Vijay Janapa Reddi
fc6f070dfc Add smart sticky bar with under construction badge
- Shows 🚧 Under Construction badge next to brand
- Bar hides on scroll down, reappears on scroll up
- Always visible at top of page
- Badge hidden on mobile to save space
2025-12-02 21:26:13 -05:00
Vijay Janapa Reddi
af0beb9408 Simplify top bar to match MLSysBook style
- Clean navigation bar: brand left, links right
- Icon+text buttons: MLSysBook, Subscribe, Star, Community
- Responsive: icons only on mobile
- Removed old WIP banner complexity
2025-12-02 21:24:22 -05:00
Vijay Janapa Reddi
2c5ef2e3cf Fix tagline consistency: Don't import it. Build it.
- Remove 'just' from all instances of the tagline
- Update banner to lead with tagline
- Consistent branding across docs, CLI, and demos
2025-12-02 21:17:41 -05:00
Vijay Janapa Reddi
660ba60d0f Transform WIP banner into TinyTorch announcement bar
- Change from yellow 'Under Construction' to blue professional banner
- Add MLSysBook link, Community join CTA, GitHub link
- Remove duplicate header from intro.md (banner is on all pages now)
- Consistent branding across every page
2025-12-02 21:01:05 -05:00
Vijay Janapa Reddi
354540b855 Add header bar and community section to landing page
- Top bar: TinyTorch branding + MLSysBook link + GitHub
- Community section: Join the map CTA
- Footer: Links to MLSysBook, GitHub, Leaderboard
2025-12-02 19:55:51 -05:00
Vijay Janapa Reddi
d82e34e51a Add ASCII diagram and table formatting guidelines to module-rules 2025-11-30 10:07:14 -05:00
Vijay Janapa Reddi
21ef077827 Regenerate demo GIFs and update tape scripts with latest content 2025-11-29 19:16:48 -05:00
Vijay Janapa Reddi
b637176399 Regenerate demo GIFs with updated tape scripts
Updated all carousel demo GIFs using new tape scripts:
- 00-welcome.gif: Updated with latest tape
- 02-build-test-ship.gif: Regenerated with clean setup phase
- 03-milestone-unlocked.gif: Regenerated with improved flow
- 04-share-journey.gif: Regenerated with better presentation

All demos now show cleaner, more professional output.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 13:28:26 -05:00
Vijay Janapa Reddi
c776519284 Update demo tapes and fix reset command
Demo improvements:
- Add hidden setup phase to demo tapes for clean state
- New benchmark and logo demo tapes
- Improved build-test-ship, milestone, and share-journey demos
- All demos now use Hide/Show for cleaner presentation

CLI fix:
- Add default=None to module reset command argument
- Prevents argparse error when no module specified

Cleanup:
- Remove outdated tinytorch/core/activations.py binary

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 13:28:19 -05:00
Vijay Janapa Reddi
944f5061b6 Update Demo 00 closing message: PyTorch reference
Changed closing from "Let's build ML from scratch!" to
"Let's recreate PyTorch together!" for clarity and
better framing of TinyTorch's goal.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:49:43 -05:00
Vijay Janapa Reddi
89a9cc5e51 Regenerate all demos from scratch with opening & closing comments
Changes:
- Demo 00: Updated closing comment "Let's build ML from scratch! 🔥"
- All demos: Properly deleted and rebuilt from scratch (no appending)
- All demos: Opening comments explain what will be shown
- All demos: Closing comments celebrate the achievement
- All demos: Show cd and activate commands (transparency)
- Demo 03: Only hides module 01-06 fast-forward
- All demos: Custom TinyTorch theme colors

File sizes verify fresh builds:
- Demo 00: 177K (was 219K)
- Demo 02: 1.6M (was 3.2M)
- Demo 03: 1.2M (was 1.7M)
- Demo 04: 1.0M (was 1.2M)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:35:47 -05:00
Vijay Janapa Reddi
f02f861cf9 Regenerate demo 04 GIF with opening comment
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:27:21 -05:00
Vijay Janapa Reddi
5cf0150805 Add BatchNorm and data augmentation to CIFAR-10 milestone
- Enhanced CIFAR-10 CNN with BatchNorm2d for stable training
- Added RandomHorizontalFlip and RandomCrop augmentation transforms
- Improved training accuracy from 65%+ to 70%+ with modern architecture
- Updated demo tapes with opening comments for clarity
- Regenerated welcome GIF, removed outdated demo GIFs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:27:15 -05:00
Vijay Janapa Reddi
459a031f74 Regenerate demos 00, 02, 04 with opening comments and visible setup
All demos now:
- Start with opening comment explaining what will be shown
- Show cd and source activate.sh commands to users
- Use custom TinyTorch theme colors
- Only hide fast-forward module completions (Demo 03)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:11:20 -05:00
Vijay Janapa Reddi
df0ece034e Fix demo visibility: Show setup commands, only hide fast-forwards
Key changes:
- SHOW cd and source activate.sh in all demos (users see full setup)
- ONLY use Hide for Demo 03's module 01-06 completions (fast-forward)
- Remove unnecessary clear command
- Add module reset to demo script for clean slate

This ensures users see the real workflow while keeping demos concise.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:50:53 -05:00
Vijay Janapa Reddi
b461340e34 Fix first frame issue: Show activation output instead of empty prompt
Moved Show command to appear after source activate.sh completes,
so the first visible frame shows the activation finishing instead
of an empty prompt. This makes the recording flow more natural.

Changes:
- cd command stays hidden
- source activate.sh runs inside Hide block
- Show appears after activation completes
- First frame now shows activation output

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:43:04 -05:00
Vijay Janapa Reddi
58fe9363f0 Simplify CLI welcome screen and remove redundant community commands
Dramatically simplified the welcome screen to show only essential info:
- Quick Start (3 commands)
- Track Progress (2 commands)
- Community (1 command)

Removed redundant commands:
- leaderboard -> merged into community
- olympics -> merged into community

These backend-dependent features are consolidated into a single
community command that will handle all social features when the
backend is ready.

Changes:
- Simplified welcome screen (10 lines vs 40+ lines)
- Moved leaderboard.py and olympics.py to _archived/
- Updated all tests (45 passing)
- Cleaner --help output
- Updated archived README

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:41:51 -05:00
Vijay Janapa Reddi
456041a1cb Regenerate all demos with TinyTorch custom theme
All 4 demos now use the custom TinyTorch color palette:
- Demo 00 (Welcome): 440K - Shows TinyTorch branding
- Demo 02 (Build, Test, Ship): 3.3M - Module workflow
- Demo 03 (Milestone Unlocked): 1.7M - Milestone achievement
- Demo 04 (Share Journey): 1.1M - Community engagement

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:35:21 -05:00
Vijay Janapa Reddi
551fc514a7 Add custom TinyTorch theme to all demos
Replaced Catppuccin Mocha with custom TinyTorch theme matching
our brand colors:
- Dark background (#1E1E2E) for modern look
- Pastel colors (pink, green, yellow, blue, magenta, cyan)
- Consistent with TinyTorch's fire/torch aesthetic

All demos now have unified, branded color scheme!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:29:03 -05:00
Vijay Janapa Reddi
d9bb2496b7 Add styling to Demo 00: margin, border radius, loop offset
Added the same professional styling to Demo 00 (Welcome) that
the other demos have:
- Margin 20px
- MarginFill #1E1E2E
- BorderRadius 10px
- LoopOffset 10%

Now all demos have consistent polished styling!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:27:54 -05:00
Vijay Janapa Reddi
2e412bc8b6 Fix all demo tapes: WindowBar at top, proper module completions
- Moved Set WindowBar Colorful to top of all tapes (required by VHS)
- Demo 03: Changed to properly complete modules 01-06 (not just export)
  - Uses Hide/Show pattern to complete modules 01-06 in background
  - Then shows module status to prove modules are completed
  - This ensures milestone 03 prerequisites are met

All tapes now follow VHS best practices!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:22:24 -05:00
Vijay Janapa Reddi
5db3aa1457 Regenerate demos with all improvements: better examples, styling, and polish
All demos now feature:
- Margin (20px) + MarginFill (#1E1E2E) for depth
- BorderRadius (10px) for modern polished look
- LoopOffset (10%) for better GIF preview

Demo 02 (Build, Test, Ship) - 3.4M:
- Better Tensor example shows sigmoid curve: [-2.0, -1.0, 0.0, 1.0, 2.0]
- Changed message: "You didn't just import it. You BUILT it!"

Demo 03 (Milestone Unlocked) - 1.7M:
- Shows module status for context
- Fixed: tito milestones (not milestone)
- Hidden setup exports modules 01-06 before showing 07

Demo 04 (Share Journey) - 1.5M:
- Correct prompts: GitHub username, Country, Institution
- Removed incorrect "intermediate" prompt

All commands tested and verified working!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 10:54:32 -05:00
Vijay Janapa Reddi
2995b34d96 Improve all demo tapes: better examples, correct commands, polished styling
Demo 02 (Build, Test, Ship):
- Changed to "You didn't just import it. You BUILT it!"
- Better Tensor example: sig(Tensor([-2.0, -1.0, 0.0, 1.0, 2.0]))

Demo 03 (Milestone Unlocked):
- Added module status to show context
- Fixed command: tito milestones (not milestone)
- Hidden setup: export modules 01-06 before showing module 07

Demo 04 (Share Journey):
- Fixed community prompts: GitHub username, Country, Institution
- Removed incorrect "intermediate" prompt

All demos:
- Added Margin (20px) + MarginFill (#1E1E2E) for depth
- Added BorderRadius (10px) for polished look
- Added LoopOffset (10%) for better GIF preview frame

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:47:20 -05:00
Vijay Janapa Reddi
86d640f66b Regenerate demos 02, 03, 04 with verified working commands
All demos have been regenerated with:
- Fixed cd to TinyTorch directory
- Working module complete command (after fixing import bug)
- Verified Python imports work correctly
- Consistent @profvjreddi 🔥 › prompt

All commands tested and verified before recording.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:17:06 -05:00
Vijay Janapa Reddi
ad0a0d503d Regenerate Demo 00 with working cd command
Fixed Demo 00 to properly cd into TinyTorch directory before
activating environment. The demo now works correctly and shows
the full tito welcome screen at 1280x1000 dimensions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:04:52 -05:00
Vijay Janapa Reddi
bb5e631214 Remove checkpoint command (superseded by milestones)
The checkpoint command tracked 21 technical capability checkpoints, but
this overlapped significantly with the milestones system which provides
a more engaging, narrative-driven progress tracking experience.

Changes:
- Removed checkpoint command and test files
- Updated milestone.py to remove checkpoint dependencies
- Removed checkpoint integration from export.py, src.py, leaderboard.py
- Updated CLI help text to reference milestones instead
- Updated test suite (49/49 tests passing)
- Archived checkpoint.py for reference

Rationale:
- Milestones is more engaging (historical ML achievements)
- Module status already shows granular progress
- Reduces duplication and confusion
- Single clear progress tracking system

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 01:24:25 +01:00
Vijay Janapa Reddi
f6c0e21b42 Fix all demo tapes: Add cd to TinyTorch directory
All VHS tapes now include a hidden `cd /Users/VJ/GitHub/TinyTorch`
command before activating the environment. This ensures the demos
work regardless of where VHS is run from.

Updated demos:
- 00-welcome: Fixed and regenerated (259K)
- 02-build-test-ship: Added cd command
- 03-milestone-unlocked: Added cd command
- 04-share-journey: Added cd command

All tapes now work reliably!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:43:01 +01:00
Vijay Janapa Reddi
7ee171dfd2 Update Demo 00: Use taller dimensions to show full tito output
Changed height from 720 to 1000 pixels so the entire tito welcome
screen is visible without scrolling. The full command reference is
now readable in the GIF.

Bonus: File size reduced from 170K to 51K due to better aspect ratio.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:37:21 +01:00
Vijay Janapa Reddi
a3c9f5dc52 Organize demo files: move GIFs to gifs/ subdirectory
Improved demo file organization:
- Created docs/_static/demos/gifs/ for all GIF outputs
- Updated all tape files to output to gifs/ folder
- Moved all existing GIFs to new location

Directory structure:
docs/_static/demos/
├── gifs/           (all GIF outputs)
├── tapes/          (all VHS tape scripts)
├── scripts/        (helper scripts)
├── README.md
└── WORKFLOW.md

This makes the demos directory much cleaner and easier to navigate.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:29:48 +01:00
Vijay Janapa Reddi
677f1fd263 Update Demo 00: Hide activation step for cleaner presentation
Changed welcome demo to use Hide/Show to skip the environment
activation step. Now the GIF starts directly with 'tito' appearing,
making it cleaner and more focused on the beautiful logo and
command reference.

Perfect first impression - just the branding!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:23:11 +01:00
Vijay Janapa Reddi
bee62ee52a Add Demo 00: Welcome screen showcasing TinyTorch branding
Created a simple, impactful demo that shows:
- The beautiful ASCII TORCH logo
- The "Don't just import it. Build it." tagline
- Complete command reference organized by category
- Quick start guide

Perfect for:
- Social media posts
- README hero image
- First impression for new students

Demo 00 (Welcome): 1.5M

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:21:09 +01:00
Vijay Janapa Reddi
a43a834987 Regenerate all demo GIFs with consistent @profvjreddi prompt
Updated all demo tapes (02, 03, 04) to:
- Use consistent prompt: "@profvjreddi 🔥 › "
- Add "source activate.sh" at beginning to ensure tito is available
- This makes demos work when starting from a fresh terminal

Regenerated GIFs:
- Demo 02 (Build, Test, Ship): 3.2M (was 699K - now includes activation)
- Demo 03 (Milestone Unlocked): 273K (was 143K - now includes activation)
- Demo 04 (Share Journey): TBD

All demos now show the proper branded prompt throughout.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:16:34 +01:00
Vijay Janapa Reddi
204ac81b42 Make CLI welcome screen dynamically generated from registered commands
- Remove hardcoded command list in welcome screen
- Dynamically build help from self.commands registry
- Categorize commands: Essential, Student Workflow, Community, Developer, Shortcuts
- Ensures welcome screen always shows only registered commands
- No more stale command references

Benefits:
- Single source of truth (commands registry)
- Adding/removing commands automatically updates welcome
- Clear categorization for different user roles

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:14:49 +01:00
Vijay Janapa Reddi
f36abec2e7 Fix module completion tracking and add sequential validation
- Remove module from started_modules when marking complete
- Add validation to prevent completing modules out of order
- Show all modules in status (removed smart collapsing)
- Fix data integrity: modules must be completed sequentially

Prevents invalid states where module N is complete but N-1 is not.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:08:52 +01:00
Vijay Janapa Reddi
02553314d3 Fix demo tapes 03 and 04: use Sleep instead of Wait for reliability
Changed VHS Wait syntax to simple Sleep commands for more reliable demo recording.
The Wait+Line syntax was unreliable with the fire emoji prompt pattern.

Generated GIFs:
- Demo 02 (Build, Test, Ship): 699K
- Demo 03 (Milestone Unlocked): 143K
- Demo 04 (Share Journey): 124K

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:01:31 +01:00
Vijay Janapa Reddi
54c357f566 Update demo scripts and add README for demo workflow 2025-11-28 22:35:20 +01:00
Vijay Janapa Reddi
d3a38a75c0 Remove --skip-checks from milestone demo tape 2025-11-28 22:32:32 +01:00
Vijay Janapa Reddi
d72a637dd1 Add website static assets (CSS, JS, logos, demos) 2025-11-28 22:06:02 +01:00
Vijay Janapa Reddi
d7bdbe67d4 Remove docs/_build from repository 2025-11-28 14:59:59 +01:00
Vijay Janapa Reddi
403d4c2f4c Add .tito/backups and docs/_build to gitignore 2025-11-28 14:59:51 +01:00
Vijay Janapa Reddi
09d1d00f06 Remove stale documentation files
Removed orphaned/duplicate files not referenced in table of contents:
- INSTRUCTOR_GUIDE.md (duplicate of instructor-guide.md)
- STUDENT_QUICKSTART.md (duplicate of quickstart-guide.md)
- TEAM_ONBOARDING.md (moved to usage-paths/)
- checkpoint-system.md (not in TOC, minimal refs)
- learning-progress.md (not in TOC, minimal refs)
- learning-journey-visual.md (not in TOC, self-ref only)
- cifar10-training-guide.md (no references)
- cover.md (not in TOC)
- PRIVACY_DATA_RETENTION.md (internal doc)
- INSTRUCTOR.md (root level, moved to docs/)
- Various old scripts (activate-tinytorch, cleanup scripts, etc.)

Website rebuilt successfully with 46 warnings (same as before).
All critical content preserved (student-workflow, quickstart-guide, etc.)
2025-11-28 05:05:44 +01:00