Skip to content

Latest commit

Β 

History

History
69 lines (57 loc) Β· 2.62 KB

File metadata and controls

69 lines (57 loc) Β· 2.62 KB

DevSim β€” Responsive Multi-Device Simulator

A modern, lightweight browser extension for responsive testing and multi-device website simulation.

Features

  • Responsive Simulation Engine β€” Dynamic width/height rendering with real-time viewport simulation
  • Device Presets β€” 20+ devices across 8 categories: Android phones, iPhones, Android tablets, iPads, smart watches, desktop screens, large displays, and TVs
  • Multi-Device Preview β€” View multiple devices simultaneously in grid, row, column, or stacked layouts
  • User Controls β€” Rotate device, zoom controls, refresh preview, custom screen dimensions
  • Screenshot Support β€” Capture and export screenshots
  • Dark/Light Mode β€” Toggle between dark and light themes
  • Responsive Grid Overlay β€” Visual grid for testing responsive breakpoints

Technology Stack

Area Technology
Frontend React 18
Language TypeScript
Styling Tailwind CSS
Build Tool Vite
State Management Zustand
Extension Manifest V3

Development

# Install dependencies
npm install

# Start development
npm run dev

# Build extension
npm run build

Project Structure

src/
β”œβ”€β”€ App.tsx                    # Main application shell
β”œβ”€β”€ main.tsx                   # Entry point
β”œβ”€β”€ index.css                  # Global styles
β”œβ”€β”€ background/
β”‚   └── index.ts               # Service worker & background logic
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ TopToolbar.tsx         # Top control toolbar
β”‚   β”œβ”€β”€ DeviceSidebar.tsx      # Device selection sidebar
β”‚   β”œβ”€β”€ PreviewArea.tsx        # Responsive preview rendering
β”‚   β”œβ”€β”€ ViewportFrame.tsx      # Individual device viewport
β”‚   β”œβ”€β”€ MultiDeviceControls.tsx # Multi-device layout controls
β”‚   └── StatusBar.tsx          # Bottom status bar
β”œβ”€β”€ hooks/
β”‚   └── useViewport.ts         # Viewport-related hooks
β”œβ”€β”€ store/
β”‚   └── deviceStore.ts         # Zustand global state store
β”œβ”€β”€ types/
β”‚   └── index.ts               # TypeScript type definitions
β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ devicePresets.ts       # Device preset data & constants
β”‚   └── helpers.ts             # Utility functions
└── content/
    β”œβ”€β”€ index.ts               # Content script for web pages
    └── content.css            # Content script styles

MIT License