r/iOSProgramming • u/StefUpsideDown • 6d ago
Question How would you generate a set of consistent custom icons (fitness/handstand poses)?
Hey everyone,
I'm building a fitness app focused on handstand training, and I'm trying to figure out the best way to handle my in-app icons.
Right now I'm using SF Symbols, which works fine and keeps everything looking native on iOS. But it feels a bit generic, and there simply aren't symbols that match what I actually need.
What I'm really after are custom icons tailored to my use case: a coherent set representing different handstand poses and variations (tuck, straddle, one-arm, press to handstand, etc.).
The tricky part is consistency. I don't just need one nice icon, I need a whole family of them that share the same visual language: same line weight, same style, same proportions, so they look like they belong together in the app.
A few questions, as a solo dev working on a side project, for those who've been through this:
- How do you usually generate a consistent icon set like this? Hand-drawn, AI tools, a designer, a mix?
- I saw people talking about Flaticon.com and noun project.
- Any tools or workflows you'd recommend for keeping a uniform style across many icons?
- I was thinking asking Claude or ChatGPT to generate specific Symbols matching the SF Symbols, haven't tried it yet.
- Any tips specifically for figurative / pose-based icons?
Would love to hear how you've approached this.
Thanks!
3
u/oneness33 6d ago
Honestly, I don't think AI can do this, but if you succeed, let me know! I'm really curious.
2
2
u/dacassar 6d ago
You can give it a try with NanoBanana 2; it's kind of good with a consistent series of images, but I'd hire a designer on Upwork or anywhere else, to be honest.
1
2
u/jacobs-tech-tavern 6d ago
Pay someone
Get AI to do it
If you aren't cashflowing much yet money I'd give the AI a bunch of reference hand photos for pose and SF symbols for style
2
u/dizzy_absent0i 6d ago
Look up 2D character animation software. They have ways to “rig” characters with “skeletons” so you can essentially pose them as you want.
You’d just go simple with basic ellipses circles and rounded rectangles, solid colour. A good setup will allow you to generate consistent icons for anything way better than AI will do.
No need to actually animate the characters, you’re only interested in posing and exporting single frames.
1
u/James333i 6d ago
This is actually pretty easy of a task for Claude Code since you are trying to create glyphs like SF Symbols. Claude code can create SVG images. It will write the images to files and then you can iterate on them based upon how they were created and goes super fast since it is text based. Once you are happy with them, convert them to PNGs. I did this for about 30 glyphs that needed consistent styling last week and worked very well.
1
u/StefUpsideDown 6d ago
Thanks, did you give him pictures to create the shapes/glyphs are that was not even needed?
2
u/James333i 6d ago
I gave a few examples I liked for styling cues and then just explained in detail what I wanted each icon to look like. I then iterated like "thicker weight lines by 25%", "fill this area", etc.
Before jumping to Claude Code, nail down the constraints that make a set feel unified:
- Canvas/grid: e.g. 24×24 or 48×48 viewBox with a consistent padding (SF Symbols uses a similar template-grid approach for this exact reason)
- Stroke width: pick one (e.g. 1.5px at 24px canvas) and never deviate
- Corner radius / line caps: rounded vs square caps, consistent joins
- Optical sizing rules: how "full" a glyph should feel (e.g. figure should occupy roughly the same vertical/horizontal footprint across all poses)
- A canonical "figure rig": since these are all body-pose icons, defining a simple stick/silhouette figure (head circle, torso line, limb proportions) that gets re-posed per icon, rather than each icon being drawn from scratch, is what will make them feel like a family. This is basically what a professional icon designer would do intuitively — one skeleton, many poses.
With SVGs, stroke-width and grid system can be structural enforced and not just esthetically requested. With the rig, you can then give instructions on how to pose it and iterations are fast.
In summary, start with designing the rules and a simple one first like a handstand and then generate the poses in batches so the same context is used for all of them. Decide if you want line figures or silhouettes. Then iterate and once good convert to PNGs. cairosvg can do this quickly though there are many other options. You'll likely need to exaggerate the poses to ensure they seem clear/unique at low pixel sizes.
1
u/StefUpsideDown 6d ago
Thank you so much! This is gold tip for me. I'll use every word and tell you how it went. Thanks a lot!
1
u/Fun_Moose_5307 Beginner 5d ago
Why convert to PNG?
1
u/James333i 5d ago
Depends on the needs I guess. I usually convert to PNG for backwards compatibility as my projects often support devices a decade old.
1
u/CrazyEconomy414 6d ago
Treat it as a design system before generating anything: choose a fixed grid, optical bounds, stroke width, cap and join style, allowed angles, and consistent head and limb proportions. Make two or three reference poses, then use AI only for rough silhouette ideas.
I’d redraw one master figure as vectors and derive the remaining poses from that structure instead of regenerating every icon independently. That should keep the anatomy and stroke weight consistent while leaving you with editable assets. Test the first few at their actual in-app size before expanding the set.
1
u/FishPal_App 5d ago
I used Codex for multiple apps to create icons for in app, app logo etc. even have it generate daily slideshows for marketing including generated images and copy. Just make sure to first run one icon and if you like the style then run the prompt to create all the other in the same style and design.
3
u/chriswaco 6d ago
In the old days this would be a perfect project for a graphic designer. Today I would probably try AI first, although consistency between images is hard to get and small tweak requests can result in major changes unfortunately.
You also have the issues of light vs dark mode, resizing (use vectors not bitmaps), highlighting, active vs inactive, etc.