CoomerLabs is a high-performance, open-source desktop application built with modern web technologies. It serves as a comprehensive media management and viewing platform, demonstrating advanced optimization techniques and architectural patterns for resource-intensive applications.
This project is purely educational and experimental. We do not host, distribute, or support any content. The application only fetches publicly available data from third-party platforms. Please contact aiwag@duck.com for any concerns.
- CamViewer: Real-time multi-stream monitoring with advanced layout controls
- RedGifs Explorer: High-performance GIF discovery with 4K support
- Wallheaven: Ultra-high resolution wallpaper management
- Creator Archive: Unified access to creator content platforms
- Fapello Collections: Premium content galleries with infinite scroll
- JavTube: Advanced video streaming with dynamic URL extraction
Our performance optimizations deliver tangible improvements:
- 50-70% reduction in CPU usage with multiple streams
- 30% reduction in memory consumption
- 60-70% fewer component re-renders
- Advanced memoization patterns throughout the codebase
- Throttled webview injection scripts for efficient resource usage
- Smart layout calculations with memoization
- TypeScript-first codebase for type safety
- Electron for cross-platform desktop deployment
- TanStack Router with file-based routing
- React Query for intelligent data fetching and caching
- Zustand for efficient state management
- Framer Motion for smooth animations
- Radix UI for accessible components
- Tailwind CSS for utility-first styling
- Node.js 18+
- npm or yarn
- Git
# Clone the repository
git clone https://github.com/aiwag/coomerlabs.git
cd coomerlabs
# Install dependencies
npm install
# Start development server
npm start
# Build for production
npm run makeโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Electron Main Process โ
โ โข Window management โ
โ โข IPC communication โ
โ โข Native OS integration โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ React Renderer Process โ
โ โข TanStack Router (file-based routing) โ
โ โข React Query (data fetching & caching) โ
โ โข Zustand (state management) โ
โ โข Framer Motion (animations) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Component Modules โ
โ โข CamViewer (multi-stream with webviews) โ
โ โข Content explorers (RedGifs, Fapello, etc.) โ
โ โข Shared UI components (Radix UI + Tailwind) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| Metric | Before Optimization | After Optimization | Improvement |
|---|---|---|---|
| 1 Stream CPU | 8-12% | 6-9% | ~25% โ |
| 5 Streams CPU | 35-45% | 20-28% | ~40% โ |
| 10 Streams CPU | 70-85% | 30-45% | ~50% โ |
| Memory (10 streams) | 1.2-1.5GB | 0.8-1.1GB | ~30% โ |
| Component Renders | 12-18/sec | 3-6/sec | ~70% โ |
- Unit Tests: Vitest for component and utility testing
- E2E Tests: Playwright for full application testing
- Type Safety: Full TypeScript coverage
- Linting: ESLint + Prettier for code consistency
- GitHub Actions for automated testing
- Multi-platform builds (Windows, macOS, Linux)
- Automated dependency updates via Dependabot
- Code quality checks on every PR
# Run all tests
npm run test:all
# Run unit tests only
npm run test:unit
# Run E2E tests
npm run test:e2e
# Lint code
npm run lint
# Format code
npm run format:writesrc/
โโโ components/ # React components
โ โโโ camviewer/ # Multi-stream viewer
โ โโโ redgifs/ # GIF explorer
โ โโโ fapello/ # Gallery viewer
โ โโโ ui/ # Shared UI components
โโโ services/ # API services
โโโ hooks/ # Custom React hooks
โโโ stores/ # Zustand stores
โโโ routes/ # TanStack Router routes
โโโ lib/ # Utility libraries
โโโ styles/ # CSS/Tailwind styles
โโโ localization/ # i18n configuration
Create a .env file in the root:
# API Configuration
VITE_API_BASE_URL=https://www.chaturbate.com
VITE_CB_BASE_URL=https://www.chaturbate.com{
"start": "electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make",
"publish": "electron-forge publish",
"lint": "eslint .",
"format": "prettier --check .",
"format:write": "prettier --write .",
"test": "vitest run",
"test:watch": "vitest watch",
"test:unit": "vitest",
"test:e2e": "playwright test",
"test:all": "vitest run && playwright test"
}- Dark Theme: Elegant dark mode with smooth transitions
- Responsive Design: Optimized for all screen sizes
- Micro-interactions: Subtle animations for enhanced UX
- Keyboard Shortcuts: Productivity shortcuts for power users
- Accessibility: WCAG compliant with screen reader support
- Performance: Lazy loading and virtualization for smooth scrolling
- Multi-stream viewing with customizable grid layouts
- Stream quality controls and chat integration
- Real-time notifications and status monitoring
- Advanced performance optimizations for 10+ streams
- RedGifs: Advanced search, 4K support, intelligent caching
- Fapello: Infinite scroll galleries, bulk loading
- Wallheaven: 8K wallpaper support, smart categorization
- Creator Archive: Cross-platform content aggregation
- JavTube: Dynamic URL extraction, premium player integration
Our performance optimizations are documented in detail:
PERFORMANCE_SUMMARY.md- Complete benchmarksPERFORMANCE_IMPROVEMENTS.md- Technical implementationARCHITECTURE_OPTIMIZATION.md- System architecture
Key techniques implemented:
- React.memo with custom comparison functions
- useCallback and useMemo for reference stability
- Throttled observers for efficient DOM monitoring
- Partition isolation for memory management
- Canvas optimization for motion detection
We welcome contributions! Please read our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- All code must pass TypeScript compilation
- Unit tests required for new features
- Follow existing code style and patterns
- Update documentation for API changes
This project is licensed under the MIT License - see the LICENSE file for details.
- TanStack for amazing React libraries
- Electron for cross-platform development
- Tailwind CSS for utility-first CSS
- Framer Motion for beautiful animations
- Radix UI for accessible components
- All content providers for their platforms
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Wiki
- Email: aiwag@duck.com
Made with โค๏ธ by the CoomerLabs team
Built with passion for open-source and performance excellence
