Hacker News new | ask | show | jobs
I built the "package manager" for your icons (one source → consistent outputs)
2 points by Theryston 181 days ago
This weekend I started building Iconoma because I kept hitting the same problem across projects:

Icons slowly turn into a junk drawer. Random SVGs with inconsistent sizes, weird fills, different naming, different optimization rules, and every app/team ends up re-solving the same cleanup work. The result is death by a thousand tiny UI cuts.

My vision: icons should be boring infrastructure — one source of truth, deterministic outputs, zero “why is this icon different?” surprises.

## What Iconoma does

- Imports and organizes icons with consistent naming + tags - Runs SVGO with your customizable config (so your rules are enforced, not “whatever the last person did”) - Generates targets automatically from the same source: - optimized SVG - React components - React Native components - Keeps things reproducible (so you can detect when a source changed and rebuild only what’s needed)

How you try it: npx @iconoma/cli studio

## Why I think this matters

When icons aren’t standardized, you pay forever: UI inconsistencies, PR churn, weird rendering bugs, and constant “cleanup” tasks that never end. Iconoma is me trying to make that cost go to ~zero.

What I’m looking for feedback on

- The workflow: CLI-first + Studio — does this match how teams actually manage icons? - Must-have targets beyond SVG/React/RN (Vue? Svelte? Flutter? Icon fonts?) - Your biggest icon pain point (alignment? color mapping? naming? review process?)

If this sounds useful, I’d love to hear what would make it a “yes” for you (or why it wouldn’t).

## Links:

Github: https://github.com/theryston/iconoma Web: https://iconoma.org

1 comments

I read your article and both your pages and am not sure what problem you are trying to solve. App icons? General-purpose icon libraries? In-app clickable icons that represent features and objects? What exactly do you feel is inconsistent in which context? One of your example mentions different icon sizes despite the same canvas size, but I can't imagine what you even mean by this. A couple of visual examples (good vs. bad, before vs. after) would help a lot towards understanding what your project is about.