π‘ Idea 5: PortalPresenter β Turn Learning Docs into Presentations
| Field |
Detail |
| Priority |
π Important |
| Status |
β
Complete |
| Category |
π Learning / πΌ Official / π¬ Content |
| Date added |
2026-03-29 |
| Source |
Copilot CLI brainstorm session |
What Is PortalPresenter? (The Simple Version)
β Cloud CafΓ© analogy: Imagine your cafΓ© has a beautiful printed menu (the learning portal). Every time you do a cooking class or VIP tasting event, you've been making separate handwritten cards to explain each dish. PortalPresenter turns your printed menu INTO the cooking class β just press a button and each menu section becomes a beautiful display card, while your private notes appear on a screen only you can see.
PortalPresenter transforms the learning portal (learn.aguidetocloud.com) into a full presentation tool β replacing PowerPoint for both YouTube video recordings and customer enablement sessions.
No more:
- β Creating PowerPoint slides from scratch
- β Alt+Tabbing between apps during recordings
- β Inconsistent branding between docs and slides
- β Duplicating content that already exists in the portal
The Problem It Solves
Current Workflow (Painful)
Record demo β Alt+Tab to PowerPoint β Show 2-3 slides β Alt+Tab back β Resume demo
β β
Manually created Edit out messy
slides (time-consuming) transitions in post
New Workflow (PortalPresenter)
Record demo β Press 'P' key β Portal enters Presentation Mode β Navigate slides
β β
Content already Arrow keys +
exists in docs smooth transitions
Core Features (v1)
1. Presentation Mode
| Feature |
Detail |
| Enter mode |
Button on page + keyboard shortcut (P) |
| Slide splitting |
Auto-split by H2 and H3 headings |
| Large sections |
Auto-split across multiple slides (no cramming) |
| Transitions |
Clean fade between slides |
| Navigation |
Arrow keys + keyboard shortcuts |
| Exit |
Esc key |
2. Slide Picker / Overview
- Grid of slide thumbnails before presenting
- Check/uncheck slides to include or skip
- Creative freedom to curate the flow per session
- Different selections for different audiences
3. Lightbox Pop-out
- Click ANY element to pop it full-screen with dimmed background
- Works for: images, tables, code blocks, diagrams, bullet points, admonitions
- Works both in presentation mode AND normal browsing
- Close with Esc or click outside
4. Presenter View (Dual Screen)
| Screen |
What's Shown |
| Screen 1 (audience) |
Clean slide β visuals only, no progress indicator |
| Screen 2 (presenter) |
Current slide + speaker notes + next slide preview + timer |
5. Auto-Generated Speaker Notes
- Visuals (diagrams, tables, code, bullet points) stay on the SLIDE
- Explanatory paragraphs automatically move to SPEAKER NOTES
- No manual note-writing needed β content already exists in the docs
- Presenter reads notes on Screen 2, audience sees clean visuals on Screen 1
6. Auto-Generated Title Slide
- Generated from page title + portal branding
- Helps start each topic on video with a branded intro
- Uses the retro terminal theme / clean theme (TBD)
7. Interactive Mermaid Diagrams
- Live rendering in slides (not static images)
- Zoom and pan during presentation
- Perfect for explaining complex architecture to customers
- Laser pointer: Red dot follows mouse cursor
- Drawing tools: Draw circles, arrows, highlight areas over slides
- Toggle on/off with keyboard shortcut
- Clear annotations between slides
9. Offline Support
- Cache/download presentation for offline use
- Critical for customer sites with spotty WiFi
- All assets (images, diagrams, fonts) bundled
10. PDF Export
- Export static slides as PDF
- Share with customers after enablement sessions
- "Here are the slides we discussed" follow-up
Theme Options
Will prototype BOTH and let Sutheesh decide:
| Option |
Description |
| Retro Terminal |
Green-on-dark, terminal fonts, scanlines β full brand identity |
| Clean Minimal |
Same content, cleaner typography, white/dark background β max readability |
Keyboard Shortcuts (Presentation Mode)
| Key |
Action |
P |
Enter presentation mode |
β / β |
Previous / next slide |
Space |
Next (same as β) |
Esc |
Exit (priority: lightbox β picker β annotations β exit) |
O |
Slide picker / overview grid |
S |
Toggle speaker notes / presenter view |
F |
Toggle fullscreen |
L |
Toggle laser pointer |
D |
Toggle draw mode (shows toolbar: freehand, arrow, rect, circle, eraser, colors) |
E |
Toggle eraser (while in draw mode) |
C |
Clear annotations on current slide |
W |
Toggle whiteboard / blackboard canvas |
X |
Export presentation as PDF |
Home/End |
Jump to first/last slide |
Page Eligibility
- All pages presentable by default
- Exclude specific pages using frontmatter:
---
presentable: false
---
Pages to exclude: Task Board, Progress Tracker, Idea Vault index
Architecture (How It Works)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LEARNING PORTAL (MkDocs) β
β β
β βββββββββββββββ ββββββββββββββββ ββββββββββββββββββ β
β β Normal Mode β β Presentation β β Presenter View β β
β β (browsing) βββββΊβ Mode βββββΊβ (2nd screen) β β
β βββββββββββββββ ββββββββ¬ββββββββ ββββββββββββββββββ β
β β β
β βββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββ β
β β Custom JavaScript Layer β β
β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Slide β β Lightbox β β Annotate β β Export β β β
β β β Splitter β β Engine β β Tools β β (PDF) β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β β β Note β β Slide β β Offline β β Diagram β β β
β β βGenerator β β Picker β β Cache β β Zoom β β β
β β ββββββββββββ ββββββββββββ ββββββββββββ ββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β MkDocs Material Theme + Plugins β β
β β (glightbox, mermaid, custom CSS/JS extensions) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Technology Considerations
| Component |
Options |
| Slide engine |
Custom JS (no external framework) |
| Lightbox |
Custom overlay with fit-content sizing |
| Presenter view |
Window.open() to 2nd screen + BroadcastChannel API |
| Annotations |
Canvas overlay + toolbar (freehand, arrow, rect, circle, eraser, 6 colors) |
| PDF export |
window.print() β no external library, respects picker selections |
| Offline |
Service Worker (network-first caching strategy) |
| Diagram zoom |
Custom pan/zoom (wheel + drag + pinch, no external library) |
v2 Features (Later)
| Feature |
Description |
| Customer branding |
Add customer logo to title slide ("Prepared for Contoso Ltd") |
| Phone remote |
QR code link to control slides from phone |
| Slide templates |
Pre-defined layouts (comparison, timeline, diagram-focus) |
| Recording integration |
Built-in screen recording from the portal |
Use Cases
- YouTube Videos: Record demos, press P to present a concept, resume demo β all in one app
- Customer Enablement: Present from the portal with branded slides, share PDF after
- Internal Training: Use the same content for team enablement at Microsoft
- Conference Talks: Full presentation tool with offline support
Success Criteria
- [x] Can enter/exit presentation mode on any doc page
- [x] Slides auto-split cleanly by headings
- [x] Speaker notes auto-generated from content (with contextual coaching)
- [x] Presenter view works on second screen (BroadcastChannel)
- [x] Lightbox pop-out works for all content elements
- [x] Clean fade transitions between slides
- [x] Slide picker/overview with element-level toggle
- [x] Laser pointer and drawing tools (freehand, arrow, rect, circle, eraser, colors)
- [x] Whiteboard/blackboard canvas for free explaining
- [x] Offline mode works reliably (Service Worker)
- [x] PDF export produces clean static slides
- [x] Mermaid diagrams enabled and zoomable/pannable
- [x] Retro neon theme applied throughout