A dynamic 20-slide presentation showcasing "Vibe Coding: AI-assisted development" - built collaboratively with HTML, CSS, JavaScript, and Claude Sonnet 3.5. This project demonstrates modern web development workflows, interactive features, and the creative partnership between human developers and AI.
- Direct Browser: Open
index.htmlin a web browser - Local Server:
Then navigate to
python3 -m http.server 8000
http://localhost:8000
- Modern web browser (Chrome, Firefox, Safari, Edge)
- Local server for full functionality (recommended)
vibes/
βββ index.html # Main presentation shell
βββ content/
β βββ slides.json # Slide data, content, and custom styles
βββ scripts/
β βββ presentation.js # Core slide management & rendering
β βββ navigation.js # Navigation controls & keyboard handling
β βββ prompts-modal.js # Modal system for prompt exploration
βββ styles/
β βββ main.css # Base styles, navigation, modals
β βββ slides.css # Slide-specific styling & animations
βββ assets/
βββ images/ # Static assets
- Slide Controls: Previous/Next buttons with keyboard support
- Progress Bar: Visual slide progression indicator
- Slide Counter: Current position with click-to-jump functionality
- Keyboard Shortcuts:
Arrow Keys/Space: Navigate slidesHome/End: Jump to first/last slideF: Toggle fullscreenEscape: Exit fullscreen
- Custom Styles Control: Toggle button to enable/disable custom slide animations
- Visual States: Active (blue) / Inactive (gray) button states
- Real-time Application: Instantly applies/removes custom CSS effects
- Default: Custom styles enabled on load
- Smart Content: AI-powered prompt suggestions relevant to current slide
- Positioning: Left and right floating boxes (desktop only)
- Keyword Matching: Contextual relevance based on slide content
- Responsive: Hidden on mobile/tablet for clean experience
- Interactive: Click to explore related prompts
- Comprehensive Library: Full collection of development prompts
- Search & Browse: Organized prompt exploration
- Results Display: Shows prompt outcomes and learnings
- Glass Morphism UI: Modern, translucent design aesthetic
- Progressive Evolution: Color themes that evolve through presentation
- Intro: Blue tones (
#3498db,#2980b9) - Development: Green tones (
#2ecc71,#27ae60) - Climax: Red tones (
#e74c3c,#c0392b) - Conclusion: Purple tones (
#9b59b6,#8e44ad)
- Intro: Blue tones (
- Backdrop Blur:
backdrop-filter: blur(10px-30px) - Translucent Backgrounds:
rgba()values for depth - Subtle Borders: Semi-transparent white borders
- Box Shadows: Multi-layered shadow effects
- Mobile-First: Optimized for all screen sizes
- Breakpoints:
- Mobile:
β€ 768px - Tablet:
769px - 1024px - Desktop:
β₯ 1025px
- Mobile:
- Touch Support: Swipe gestures for mobile navigation
- Content Cards: Scrollable containers for long slide content
- Safe Areas: Bottom padding for navigation clearance
- Touch Scrolling:
-webkit-overflow-scrolling: touch - Simplified Styling: Reduced visual complexity on small screens
Hidden Elements
- Prompt Suggestions: Automatically hidden on mobile/tablet
- Animation Info: Repositioned for mobile compatibility
- Navigation: Condensed button sizes and spacing
- JSON-Driven: Each slide can define custom CSS via
slides.json - Dynamic Injection: Runtime CSS generation and application
- Animation Library: Custom keyframe animations per slide
- Style Inheritance: Progressive theme application
infiniteLoop: Scaling and color rotation effectsheartbeat: Pulsing animations for human-centered contentchaosGrid: Complex multi-layer background animationsmagicSparkle: Color-shifting text effects
- Aggressive Caching Prevention: Multiple cache-defeating strategies
- Version Timestamps: Dynamic version parameters
- Development Headers: No-cache directives
- Hot Reloading: Manual cache busting for development
- Console Logging: Comprehensive debug output
- Error Handling: Graceful failure management
- Performance Tracking: Load time and interaction monitoring
- State Inspection: Real-time application state logging
- Centralized Content: All slides defined in
slides.json - Modular JavaScript: Separate concerns across multiple files
- CSS Architecture: Organized stylesheets by functionality
- Asset Management: Optimized loading and caching
{
"id": 1,
"type": "title|content|end",
"title": "Slide Title",
"subtitle": "Optional subtitle",
"content": "HTML content with formatting",
"styles": {
"fontFamily": "'Custom Font', fallback"
},
"customCSS": "@keyframes customAnimation { ... }"
}- Title Slides: Large headings with gradient text effects
- Content Slides: Formatted content with custom animations
- End Slides: Conclusion slides with special styling
This project demonstrates:
- AI-Human Collaboration: Iterative development with AI assistance
- Modern CSS: Advanced styling with custom properties and animations
- JavaScript Architecture: Modular, maintainable code organization
- Responsive Design: Mobile-first, cross-device compatibility
- User Experience: Intuitive navigation and interactive features
- Performance: Optimized loading and smooth animations
- Identify Need: User feedback or enhancement ideas
- Console Debugging: Open developer tools, monitor output
- Implement Changes: Modify code with AI assistance
- Cache Busting: Update version timestamps
- Test & Verify: Confirm functionality across devices
- Document: Update README and code comments
- Separation of content from presentation
- Progressive enhancement
- Graceful degradation
- Accessibility considerations
- Performance optimization
- Maintainable code structure
This README itself serves as a meta-document - documentation that evolves with the project, serving both human developers and AI assistants in understanding the codebase structure, functionality, and development philosophy.
Built with curiosity, iteration, and the power of human-AI collaboration. π€β€οΈπ¨βπ»