A modern, professional web camera application showcasing advanced Browser API capabilities and modern web development practices. Built with vanilla JavaScript and cutting-edge web technologies to demonstrate expertise in client-side media handling, responsive design, and progressive web app development.
π Coming Soon: Live demo will be available shortly at a dedicated URL for interactive testing and portfolio showcase.
Built by: Siddharth Harsh Raj
Role: Full Stack Developer & UI/UX Designer
Specialization: Modern Web Technologies, Media APIs, Progressive Web Apps
- Advanced JavaScript: ES6+, Async/Await, Modular Architecture
- Modern CSS: Custom Properties, Glassmorphism, Responsive Design
- Browser APIs: MediaDevices, Screen Capture, MediaRecorder, Canvas, IndexedDB
- Build Tools: Webpack 5, Babel, CSS Optimization, Code Splitting
- Deployment: Netlify, Performance Optimization, Security Headers
- Advanced Camera Controls: Multi-device support with resolution selection (480p to 4K)
- Screen Recording: Full screen, window, or tab capture using Screen Capture API
- Real-time Filters: Live video filters with smooth transitions
- Professional Gallery: Modern grid layout with enhanced media management
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Glassmorphism Design: Modern dark theme with backdrop blur effects
- Smooth Animations: CSS transitions and micro-interactions
- Keyboard Shortcuts: Power user productivity features
- Accessibility: ARIA labels, screen reader support, and keyboard navigation
- Camera Only: Traditional webcam recording
- Screen Only: Screen capture and recording
- Camera + Screen: Combined recording mode (demo implementation)
- HTML5: Semantic markup and modern web standards
- CSS3: Custom properties, flexbox, grid, and advanced animations
- JavaScript ES6+: Modern JavaScript with async/await and modules
- MediaDevices API: Camera/microphone enumeration and control
- Screen Capture API: Professional screen recording capabilities
- MediaRecorder API: High-quality video/audio recording
- Canvas API: Real-time image processing and filters
- IndexedDB: Client-side media storage and management
- Font Awesome: Professional icon library
- Material Icons: Google's material design icons
- ShortID: Unique identifier generation
- Desktop: Full feature set with advanced controls
- Tablet: Optimized touch interface
- Mobile: Responsive design with gesture support
- Cross-browser: Chrome, Firefox, Safari, Edge
- Multiple camera/microphone device switching
- Dynamic resolution adjustment
- Real-time filter application
- Professional recording controls
- CSS custom properties and modern layout techniques
- Responsive design with mobile-first approach
- Progressive enhancement and graceful degradation
- Performance optimized with efficient DOM manipulation
- Intuitive interface with visual feedback
- Smooth animations and transitions
- Error handling with user-friendly messages
- Keyboard shortcuts for power users
# Clone the repository
git clone <repository-url>
cd open-cam29-main
# Install dependencies
npm install
# Start development server
npm run devVisit http://localhost:3000 and allow camera/microphone permissions when prompted.
# Build for production
npm run build
# Deploy to Netlify (drag & drop dist folder)
# Or use Netlify CLI
netlify deploy --prod --dir=distnpm run dev- Development server with hot reloadnpm run build- Production build with optimizationnpm run clean- Clean build directorynpm run serve- Serve built files locally
- Space: Capture photo
- R: Start/stop recording
- G: Open gallery
- S: Open settings panel
- Esc: Close active panel
- Primary:
#0a0a0a(Deep black) - Secondary:
#1a1a1a(Dark gray) - Accent:
#3b82f6(Professional blue) - Success:
#10b981(Green) - Danger:
#ef4444(Red)
- System fonts for optimal performance
- Monospace for timer display
- Consistent sizing and spacing
src/
βββ index.html & gallery.html # HTML templates
βββ index.js & gallery.js # Entry points
βββ js/ # Core modules
β βββ camera.js # Camera & recording logic
β βββ database.js # IndexedDB operations
β βββ ui-controller.js # UI interactions & events
βββ styles/ # Stylesheets
βββ main.css # Core application styles
βββ gallery.css # Gallery-specific styles
- Webpack 5: Module bundling with code splitting
- Babel: ES6+ transpilation for browser compatibility
- CSS Optimization: Extraction, minification, and autoprefixing
- Asset Management: Image optimization and font loading
- Development Tools: Hot reload, source maps, and dev server
- Code Splitting: Separate bundles for main app and gallery
- Lazy Loading: Dynamic imports for better initial load times
- Caching Strategy: Content hashing for long-term caching
- Bundle Analysis: Webpack Bundle Analyzer for optimization insights
- Content Security Policy: Implemented via Netlify headers
- HTTPS Required: Camera APIs require secure context
- Input Validation: Robust error handling and user feedback
- Progressive Enhancement: Graceful degradation for older browsers
| Feature | Chrome 88+ | Firefox 85+ | Safari 14+ | Edge 88+ |
|---|---|---|---|---|
| Camera Access | β | β | β | β |
| Screen Recording | β | β | β | |
| IndexedDB | β | β | β | β |
| MediaRecorder | β | β | β | β |
Siddharth Harsh Raj
Full Stack Developer & UI/UX Designer
- Email: contact@siddharth-dev.tech
- LinkedIn: linkedin.com/in/siddharthharshraj
- Portfolio: Specializing in modern web technologies and progressive web applications
- GitHub: Advanced JavaScript, React, Node.js, and modern web development
- Frontend: Vanilla JS, Modern CSS, Responsive Design, PWA Development
- APIs: MediaDevices, Screen Capture, Canvas, IndexedDB, MediaRecorder
- Tools: Webpack, Babel, npm, Git, Netlify, Performance Optimization
- Design: Glassmorphism UI, Mobile-First Design, Accessibility, UX/UI
Β© 2025 Siddharth Harsh Raj. All rights reserved.
This project demonstrates advanced web development skills and is available for portfolio review and technical assessment.
Open Cam Studio - Showcasing the future of web-based media applications through advanced Browser API integration, modern build tools, and professional web development practices.