Sketchbook Coloring Tool
A custom 2D HTML5 canvas-based digital coloring application featuring flood-fill algorithms, custom color palettes, and seamless PDF export, built with React, TypeScript, and Supabase.
๐จProject Overview
The Sketchbook Coloring Tool is an interactive digital canvas application designed for users to color and customize artwork seamlessly. It provides a robust suite of tools including flood-fill, freehand brushing, and color sampling, bringing a native app-like experience directly to the web.
Built to handle complex pixel manipulations efficiently, this app ensures real-time boundary detection and smooth coloring mechanics without sacrificing performance.
๐๏ธArchitecture & Tech Stack
The core of the application relies on a Custom 2D HTML5 Canvas Engine that processes pixel-level data dynamically. This engine uses advanced algorithms to provide accurate boundary detection and anti-aliasing for the flood-fill tool.
On the state management side, React Context is utilized to keep track of user sessions, sketch libraries, and active color palettes. A robust state history stack was built to support seamless step-by-step undo and redo operations.
Hybrid Data Layer
The data layer is designed to function seamlessly with a Supabase backend for cloud synchronization, while gracefully falling back to local storage for completely offline operation. This ensures that users never lose their artwork and can continue coloring regardless of internet connectivity.
โจKey Features
- Interactive Canvas: Includes a flood-fill paint bucket with adjustable color tolerance, freehand brushes, eyedropper sampling, and smooth zooming and panning.
- Undo/Redo System: A high-performance state history stack that allows reverting and re-applying any painting stroke or bucket fill instantly.
- Custom Palette Builder: Choose from curated preset palettes or build and save custom colors with a built-in color picker.
- Export & Print: Export completed colored artwork as high-resolution PNG images or generate printable PDF documents for offline physical coloring using jsPDF.
๐Check it Out
- ๐ Live: https://sketchbook-coloring-tool.vercel.app/
Feel free to give it a try and unleash your creativity!
FROM CONCEPT TO CODE </>
LET'S TURN IDEAS INTO SOLUTIONS
I'm available for full-time roles & freelance projects.
I thrive on crafting dynamic web applications
and delivering seamless user experiences.