A-Chroma is a premium, next-generation colour intelligence engine designed for creators. It goes beyond simple palette generation to offer a comprehensive suite of tools for mastering colour theory, accessibility, and visual aesthetics.
Built with Next.js and Tailwind CSS, A-Chroma emphasizes perceptual uniformity (OKLCH), accessibility (WCAG), and a polished, "wow-factor" user experience.
- Intelligent Palette Generator: Hit
Spacebarto instantly generate harmonious colour schemes based on rigorous colour theory logic. - Visual Gradient Studio: Create stunning linear and radial gradients visually. Add grain/noise for texture, adjust angles, and export as CSS, JPG, or Palette.
- Brand Scale Generator: Generate consistent 5-step tint & shade scales for design systems. Upload images to export brand-ready palettes.
- Daily Colour Rotation: A unique "Colour of the Day" for every day of the year (365-day cycle), complete with psychological meaning and usage tips.
- Accessibility First: Integrated tools to ensure your designs are inclusive, including upcoming Contrast Checkers and simulation of colour vision deficiencies.
- Localized "Colour": The application uses International/UK English spelling ("Colour") throughout, reflecting a sophisticated, global brand voice.
- Comprehensive Export: Export your assets as:
- CSS Variables: Ready to drop into
globals.css. - Tailwind Config: Copy-paste ready for your
tailwind.config.js. - PDF Reports: High-quality brand booklets.
- Images: PNG, JPEG, and SVG options with custom watermarks.
- CSS Variables: Ready to drop into
- Framework: Next.js 14+ (App Router)
- Styling: Tailwind CSS
- Icons: Lucide React
- Micro-interactions: Motion (Framer Motion)
- Colour Engine:
- Chroma.js for manipulation.
- ColorThief for image extraction.
- Color-Namer for semantic naming.
- Export: jsPDF for client-side PDF generation.
-
Clone the repository:
git clone https://github.com/desmondknunoo/a-chroma.git cd a-chroma -
Install dependencies:
npm install
-
Run the development server:
npm run dev
-
Open the app: Visit http://localhost:3000 in your browser.
app/: Application routes and pages (Home, Generator, Gradient, etc.).components/: Reusable UI components (ExportDialog, PaletteGenerator, etc.).lib/: Utility functions and static data.annual-colours.ts: The 365-day colour registry.colours-data.ts: Curated colour descriptions and psychology.daily-colour.ts: Logic for determining the daily colour.
public/: Static assets (Logo, icons).
We welcome contributions from the community! Whether you want to fix a bug, add a new feature, or improve documentation, your help is appreciated.
Click the "Fork" button at the top right of this page to create your own copy of the repository.
git clone https://github.com/YOUR-USERNAME/a-chroma.git
cd a-chromaCreate a new branch for your feature or bug fix:
git checkout -b feature/amazing-new-feature
# or
git checkout -b fix/annoying-bugMake your changes to the codebase. Ensure you follow the existing code style and conventions.
Run the development server and test your changes:
npm run devWrite a clear, descriptive commit message:
git add .
git commit -m "Add amazing new feature that does X"git push origin feature/amazing-new-feature- Go to the original repository: https://github.com/desmondknunoo/a-chroma
- Click "New Pull Request"
- Select your branch from the dropdown
- Fill in the PR template with:
- A clear title
- Description of what you changed
- Why you made these changes
- Screenshots if applicable
- Testing steps
- One PR per feature: Keep pull requests focused on a single feature or bug fix.
- Keep it small: Smaller PRs are easier to review and merge faster.
- Follow code style: Use the existing code conventions, linting, and formatting.
- Test thoroughly: Ensure your changes don't break existing functionality.
- Update documentation: If you're adding new features, update the README.md or add comments.
- Be responsive: Address review comments promptly.
- Bug fixes
- New features
- Documentation improvements
- UI/UX enhancements
- Performance improvements
- Code refactoring
- Translation/localization
- Adding tests
- Improving accessibility
- Use TypeScript for all new code
- Follow the existing component patterns in
components/ - Use Tailwind CSS for styling
- Write meaningful variable and function names
- Add comments for complex logic
- Keep components small and focused
If you find a bug, please open an issue with:
- A clear title
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots if applicable
- Browser/OS information
Have an idea? We'd love to hear it! Open an issue with:
- A clear description of the feature
- Why you think it would be useful
- Any similar features you've seen
- Possible implementation approach
- Issues: Use GitHub Issues for bug reports and feature requests
- Pull Requests: Use PRs for code contributions
- Email: For sensitive issues, contact [email protected]
Thank you for contributing to A-Chroma!
This project is open source under the Custom Open Source License by Achendo Agency.
All colour palettes, gradients, brand kits, and other assets created USING A-Chroma are free for both personal and commercial use. You own what you create. There are no restrictions on how you use the outputs generated by this software.
β Permitted:
- Study and learn from the codebase
- Submit pull requests to improve the project
- Share information about this software with others for free
β Not Permitted (Without Permission):
- Sell A-Chroma as a standalone product
- Integrate A-Chroma into commercial software or platforms
- Include A-Chroma in paid products or services
- Build commercial tools on top of A-Chroma
If you wish to integrate A-Chroma into any commercial software, platform, or service, you must contact Achendo Agency for permission and licensing:
- Email: [email protected]
- Website: https://achendo.com
Unauthorized commercial integration or sale of this software is strictly prohibited and will be subject to legal action.
While not required, we appreciate attribution when referencing A-Chroma:
Powered by A-Chroma by Achendo Agency
This project is developed and maintained by Achendo Agency. All rights reserved except as specifically granted in the LICENSE file.
