Skip to content

doublejosh/vibes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Vibes Presentation

πŸ”— View on GitHub

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.

πŸš€ Getting Started

Quick Start

  1. Direct Browser: Open index.html in a web browser
  2. Local Server:
    python3 -m http.server 8000
    Then navigate to http://localhost:8000

System Requirements

  • Modern web browser (Chrome, Firefox, Safari, Edge)
  • Local server for full functionality (recommended)

πŸ—οΈ Architecture & Components

Core Structure

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

πŸŽ›οΈ Interactive Features

Navigation System

  • 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 slides
    • Home / End: Jump to first/last slide
    • F: Toggle fullscreen
    • Escape: Exit fullscreen

Styles Toggle

  • 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

Floating Prompt Suggestions

  • 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

Prompts Modal System

  • 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

🎨 Design System

Visual Themes

  • 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)

Glass Morphism Effects

  • 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

Responsive Design

  • Mobile-First: Optimized for all screen sizes
  • Breakpoints:
    • Mobile: ≀ 768px
    • Tablet: 769px - 1024px
    • Desktop: β‰₯ 1025px
  • Touch Support: Swipe gestures for mobile navigation

πŸ“± Mobile Optimizations

Scrollable Content

  • 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

🎭 Custom Animations & Effects

Slide-Specific Styling

  • 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

Animation Examples

  • infiniteLoop: Scaling and color rotation effects
  • heartbeat: Pulsing animations for human-centered content
  • chaosGrid: Complex multi-layer background animations
  • magicSparkle: Color-shifting text effects

πŸ› οΈ Development Features

Cache Busting

  • Aggressive Caching Prevention: Multiple cache-defeating strategies
  • Version Timestamps: Dynamic version parameters
  • Development Headers: No-cache directives
  • Hot Reloading: Manual cache busting for development

Debugging & Monitoring

  • Console Logging: Comprehensive debug output
  • Error Handling: Graceful failure management
  • Performance Tracking: Load time and interaction monitoring
  • State Inspection: Real-time application state logging

Configuration

  • 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

πŸ“Š Content Structure

Slide Data Format

{
  "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 { ... }"
}

Slide Types

  • Title Slides: Large headings with gradient text effects
  • Content Slides: Formatted content with custom animations
  • End Slides: Conclusion slides with special styling

🎯 Key Learning Outcomes

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

πŸ”§ Development Workflow

Iteration Cycle

  1. Identify Need: User feedback or enhancement ideas
  2. Console Debugging: Open developer tools, monitor output
  3. Implement Changes: Modify code with AI assistance
  4. Cache Busting: Update version timestamps
  5. Test & Verify: Confirm functionality across devices
  6. Document: Update README and code comments

Best Practices Applied

  • Separation of content from presentation
  • Progressive enhancement
  • Graceful degradation
  • Accessibility considerations
  • Performance optimization
  • Maintainable code structure

πŸ“ Meta-Documentation

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. πŸ€–β€οΈπŸ‘¨β€πŸ’»

About

http://vibes.doublejosh.com/

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors