An interactive pixel art web application built with Vanilla JavaScript that allows users to dynamically create customizable grids, paint cells, erase, and automatically generate geometric outline shapes.
The project demonstrates DOM manipulation at scale, dynamic UI generation, touch/mouse event handling, and algorithmic shape rendering — all without external libraries.
- Dynamic grid creation (1x1 to 35x35)
- Real-time painting with color picker
- Erase mode toggle
- Mouse and touch device support
- Grid clearing functionality
- Procedural outline shape generation:
- Heart
- Square
- Circle
- Star
- Responsive layout
- Smooth UI interactions and hover effects
- Vanilla JavaScript (no frameworks)
- Dynamic DOM generation
- Event abstraction for mouse & touch devices
- Shape rendering using mathematical equations
- Element targeting via
elementFromPoint - State management for drawing and erasing modes
- Modular function structure
- Responsive UI with CSS flexbox
- Custom styled sliders and inputs
index.html→ Application structurestyle.css→ Responsive UI styling and visual designindex.js→ Grid logic, event handling, and shape algorithms
- Clone or download the repository.
- Open
index.htmlin any modern browser. - Select grid size.
- Click Create Grid.
- Paint, erase, or generate shapes.
No build tools or installation required.
This project showcases front-end engineering fundamentals, interactive UI logic, mathematical rendering techniques, and device-aware event handling — ideal for demonstrating strong JavaScript core skills without frameworks.