Back to builds

Color Palette Builder

Built from a 2022 game UI workflow problem, shipped to Microsoft Store in late 2024, updated through late 2025, and still available.

  • Origin: first Puzzle Star Galactica (PSG) Unity attempt in 2022.
  • Evolution: Excel sheet -> WinForms prototype -> UWP prototype -> WinUI 3 Store release.
  • Status: shipped and live, but no longer the current workbench focus.
ShippedWindows appNot current
colorworkflowunitydesign-ops

Context

Color Palette Builder started in 2022 during my first Puzzle Star Galactica (PSG) Unity attempt.

Problem as experienced

I was moving between Illustrator, Photoshop, and Unity while building game UI. Static art and interactive UI needed to match exactly, and that meant constant color lookups and manual copy/paste between tools. It worked, but it was repetitive and broke flow.

Why existing tools didn’t fit

Each app had a palette system, but not a shared workflow. Once I moved between tools, decisions fragmented. Import/export helped in some cases, but the formats were inconsistent enough that I still ended up doing manual color hunting.

Timeline

  • 2022: Excel sheet, then WinForms and UWP prototypes
  • December 2024 (approx.): first Microsoft Store release
  • 2025: continued updates, then tapering at the end of the year
  • End of 2025: CPB Companion shipped to Edge Extension Store
  • February 2026: both remain live and available

Iteration path

Excel sheet first, then WinForms prototype, then UWP prototype. None of those prototypes were final. Once I decided to ship through Microsoft Store, I moved to WinUI 3 for the version that actually shipped.

Core data model

I moved from “just a color list” to structured color records with context.

  • Element name
  • State
  • Color value
  • Notes

Real examples:

  • Button / Enabled / #357EC7 / Use for all call to action buttons.
  • Button / Disabled / #6D6D6D / Color for disabled buttons that are otherwise generally active.

Copy actions and snippets

Copy behavior was designed for zero-friction paste:

  • Copy with #
  • Copy without #
  • Quick copy from snippet templates

Snippet templates used placeholders based on the selected color format (hex, RGB, ARGB, CMYK, etc.).

Example template: new SolidColorBrush(Color.FromArgb($a, $r, $g, $b));

The live preview replaced placeholders and quick-copy sent the final line to clipboard.

Feature expansion

After core palette handling, I added:

  • Color wheel editing and reassignment
  • Metadata-first organization and search
  • Custom snippet templates with quick-copy slots
  • Import/export support across multiple tool formats
  • Image and webpage color extraction

Import/export reality

Most reliable:

  • GIMP palettes
  • Paint.NET palettes
  • Text-based scanning/import

Most fragile:

  • Adobe ASE and related Adobe palette handling

Adobe handling required reverse-engineering and was very picky. Import could be “best effort” and recover partial results. Export had to be much stricter because Adobe often aborted on minor format issues.

One workflow that stayed useful was text scan and smart paste: scan arbitrary text/code for derivable colors and import what could be parsed. It could produce occasional false positives, but it kept flow fast.

Image and web extraction

Extraction included controls for:

  • Color proximity threshold (how aggressively nearby colors merge)
  • Sampling grouping depth
  • Target number of output colors

Those settings let me choose between very specific extraction or merged “top colors” output.

Technical decisions

Platform

I chose WinUI 3 because I wanted Microsoft Store distribution. That got the app shipped, but long term it was not ideal for my own workflow. I am on Linux now, and this app is effectively a candidate for future porting if revisited.

A recent reminder: returning to an older Windows laptop, the Store update flow itself errored before finally downloading. That kind of friction reinforced my direction for future projects: direct downloads over Store dependency.

Storage

I chose JSON with a custom extension.

  • Easy for users to inspect and recover directly
  • Strong enough performance for normal use
  • Performance degradation only became noticeable around very large datasets (around 20,000 entries in testing)

There were no hard platform constraints forcing storage choice. This was a practical decision based on implementation speed and user data transparency.

CPB Companion (Edge extension)

CPB Companion shipped later as a Microsoft Edge extension (end of 2025, still active as of February 2026).

Flow:

  • Capture colors while browsing (manual add, image pick, pixel pick)
  • Select colors to send
  • Companion sends payload and opens CPB desktop
  • CPB reads payload into import workflow
  • User reviews/edits and imports into a new or existing palette

Current status

This is not a sales page. It is the development record for a tool I needed, built, and shipped.

Color Palette Builder is still live and available. It is not my current focus, but it remains under development in the practical sense: if real user requests come in, I can continue building from here.