Skip to content

aiwag/coomerlabs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

66 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CoomerLabs

CoomerLabs Hero

MIT License TypeScript React Electron TanStack

๐ŸŒŸ Open-Source Media Management Platform

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.

โœจ Key Features

๐ŸŽฏ Multi-Platform Integration

  • 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

โšก Performance Excellence

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

๐Ÿ—๏ธ Technical Architecture

  • 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

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Git

Installation

# 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

๐Ÿ›๏ธ Architecture Overview

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    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)                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“Š Performance Benchmarks

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% โ†“

๐Ÿงช Testing & Quality

Comprehensive Test Suite

  • 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

CI/CD Pipeline

  • 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:write

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ 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

๐Ÿ”ง Development Environment

Environment Variables

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

Available Scripts

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

๐ŸŽจ UI/UX Features

  • 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

๐ŸŒ Platform Modules

CamViewer

  • 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

Content Explorers

  • 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

๐Ÿ”ฎ Performance Engineering

Our performance optimizations are documented in detail:

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

๐Ÿค Contributing

We welcome contributions! Please read our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Quality Standards

  • All code must pass TypeScript compilation
  • Unit tests required for new features
  • Follow existing code style and patterns
  • Update documentation for API changes

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

๐Ÿ“ž Support & Community


Made with โค๏ธ by the CoomerLabs team

Built with passion for open-source and performance excellence

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •