Palette Perfect: Our Story
Inspiration
The inspiration for Palette Perfect stemmed from a common frustration shared by many designers: the often time-consuming and subjective process of creating color palettes. While numerous tools exist, few seamlessly integrate aesthetic harmony with the crucial aspect of accessibility. We frequently observed designs that, despite being visually appealing, failed to meet basic contrast standards or were difficult for individuals with color vision deficiencies to perceive. This highlighted a significant gap in existing workflows. We wanted to build a solution that not only streamlines the creative process but also champions inclusive design by making accessibility an inherent part of color selection, rather than an afterthought. The goal was to empower designers to effortlessly create beautiful and universally understandable visuals.
What it does
Palette Perfect is an intelligent Adobe Photoshop and Illustrator plugin that empowers designers to create aesthetically pleasing and accessible color palettes with unprecedented ease and insight. It leverages AI to suggest harmonious color schemes from any selected image or design element. Furthermore, it provides real-time, actionable feedback on color accessibility, ensuring your designs meet WCAG (Web Content Accessibility Guidelines) global standards for contrast. A very special feature is its comprehensive color blindness simulation, allowing designers to instantly see their entire design as someone with various types of color vision deficiencies would, ensuring clarity and understandability for all users.
How we built it
Palette Perfect was developed as an Adobe Photoshop/Illustrator plugin, leveraging a multi-faceted approach:
Core AI Engine:
- Color Extraction: We used image processing techniques like K-means clustering and advanced color quantization to analyze selected image regions and identify dominant/complementary colors.
- Harmony Generation: An AI model, trained on vast datasets of successful color schemes and established color theory principles, generates harmonious palettes (e.g., analogous, complementary, triadic, tetradic relationships).
- Accessibility Module: This module integrates WCAG 2.1 guidelines for contrast ratio calculations. It provides real-time feedback and suggestions for adjustment, utilizing the luminance formula: $L = 0.2126 \cdot R_{sRGB} + 0.7152 \cdot G_{sRGB} + 0.0722 \cdot B_{sRGB}$.
- Color Blindness Simulation: We implemented algorithms that transform colors based on common color vision deficiencies (e.g., Protanopia, Deuteranopia, Tritanopia) using matrix transformations to accurately represent perceived colors.
Plugin Architecture: The plugin was built using JavaScript for the UI and communication with the host application, utilizing Adobe's UXP (Unified Extensibility Platform) for seamless integration. Core AI logic was optimized for performance within this environment.
User Interface (UI): We designed an intuitive and non-intrusive UI panel within Photoshop/Illustrator, allowing designers to easily select elements, generate palettes, view accessibility scores, and toggle color blindness simulations without leaving their creative environment.
Challenges we ran into
Developing Palette Perfect presented several significant hurdles:
- Balancing AI Creativity with Practicality: Making the AI generate genuinely useful and aesthetically pleasing palettes, rather than just random ones, required extensive iteration on training data and model parameters.
- Real-time Performance: Implementing complex AI algorithms and color transformations while maintaining real-time responsiveness within a demanding application like Photoshop was a major technical challenge, necessitating significant code optimization.
- Accurate Color Blindness Simulation: Accurately simulating various forms of color blindness is mathematically complex and required careful validation to ensure the transformations truly reflected how colors are perceived.
- Adobe SDK Learning Curve: Understanding and effectively utilizing the Adobe UXP and various APIs for interacting with document elements, layers, and color modes within Photoshop/Illustrator had a steep learning curve.
- Edge Cases in Color Accessibility: While WCAG provides clear guidelines, applying them to every conceivable color combination and providing universally helpful suggestions for correction in edge cases proved more complex than anticipated.
Accomplishments that we're proud of
We are incredibly proud of several key accomplishments with Palette Perfect:
- Seamless AI Integration: We successfully integrated advanced AI capabilities directly into industry-standard design software, making sophisticated color generation accessible to every designer.
- Empowering Inclusive Design: We've created a tool that genuinely helps designers build more accessible products from the ground up, moving accessibility from a post-design audit to an integral part of the creative process.
- Intuitive User Experience: Despite the underlying complexity, we managed to build a user interface that is clean, intuitive, and enhances a designer's workflow without disruption.
- Robust Accessibility Feedback: Providing real-time, actionable feedback on WCAG compliance, along with accurate color blindness simulations, is a significant achievement that directly solves a critical pain point for designers.
- Overcoming Technical Hurdles: We successfully navigated the challenges of real-time performance optimization and complex color science, resulting in a stable and reliable plugin.
What we learned
Throughout the development of Palette Perfect, we gained invaluable insights across several domains:
- The Nuances of Color Theory and Perception: We delved deeper into advanced color models, psychological impacts of color, and the intricacies of human color perception, particularly how different types of color blindness affect vision.
- Practical AI Application: We learned a great deal about applying machine learning techniques (image analysis, generative models) to solve real-world creative challenges in a practical, user-friendly way.
- Accessibility Standards in Practice: Implementing and understanding the practical application of WCAG standards was a profound learning experience, emphasizing that actionable advice is more valuable than just pass/fail indicators.
- Plugin Development Ecosystems: We gained deep expertise in developing for the Adobe ecosystem, understanding the unique constraints and opportunities of extending professional design software.
- User-Centric Design: The iterative process highlighted the importance of continuous user feedback to refine features and ensure the tool genuinely meets the needs of its target audience.
What's next for Palette Perfect
For Palette Perfect, we envision an exciting roadmap of future developments:
- Expanded AI Capabilities: We plan to explore more advanced AI models for predictive palette generation based on design trends, industry standards, or even emotional resonance.
- Cross-Application Integration: Extending Palette Perfect to other design software beyond Photoshop and Illustrator, such as Figma or Sketch, to reach a broader audience.
- Team Collaboration Features: Implementing features that allow design teams to share and manage custom palettes, or collaborate on color accessibility reviews.
- Enhanced Accessibility Features: Exploring simulations for other visual impairments or cognitive accessibility considerations, and integrating more advanced WCAG 2.2 guidelines.
- Community Palette Sharing: Creating a platform where designers can share their AI-generated or custom-built palettes with the wider design community, fostering inspiration and collaboration.
- Integration with Design Systems: Exploring ways to connect Palette Perfect with existing design systems to ensure consistency and compliance across large-scale projects.
- User-Defined AI Training: Allowing users to "train" the AI with their own preferred color styles or brand guidelines to create even more personalized suggestions.
Built With
- basic-ai/logic-simulation
- canvas-api
- css3
- html5
- javascript
- tailwindcss
- vanilla-js

Log in or sign up for Devpost to join the conversation.