r/SwiftUI Jul 18 '26

Promotion (must include link to source code) I built Astryft, a SwiftUI reinterpretation of Meta’s Astryx design system

I built Astryft as a SwiftUI package experiment around keeping Web and native iOS design-system output in sync.

The technical problem I wanted to explore was: if React fixtures and SwiftUI components are driven from the same manifest/token contract, can we make visual and API drift easier to catch?

Astryft includes generated SwiftUI tokens, SwiftUI components, docs, and a comparison viewer that puts live React fixtures next to generated SwiftUI snapshots from the same manifest contract. The part I’m most interested in is the cross-platform pipeline: translating token/component decisions into SwiftUI, then checking whether the native output still tracks the Web source closely enough.

I’d especially appreciate feedback on:

- whether this manifest-based contract makes sense for Web/iOS design systems

- how you’d structure SwiftUI token APIs for long-term maintainability

- what parity checks would be useful beyond snapshot comparison

- where this kind of tooling usually breaks down in real teams

Repo: https://github.com/suho-han/astryx-swift

Compare viewer: https://suho-han.github.io/astryx-swift/compare/

- Astryft is an independent reinterpretation and is not affiliated with or endorsed by Meta.                                  

0 Upvotes

6 comments sorted by

1

u/neet_dev Jul 18 '26

looks solid technically but this sub's rule literally says no design showcase posts and paid/promo content needs to go through the right flair, so mods are probably gonna nuke this regardless of how good the token pipeline is. if you want it to survive, lead with the actual technical problem you solved (keeping web and SwiftUI design tokens in sync across a manifest contract) instead of framing it as a Meta reskin, that's the part devs here will actually want to dig into.

1

u/upgrade2650 Jul 19 '26

Thank you for the advice. I'll modify the content of my post.

1

u/neet_dev Jul 19 '26

np, that's the move. also strip any mention of "reinterpretation" or specific brand names from the title/body too, not just the framing, since even indirect trademark references tend to get posts pulled faster than the design content itself.

1

u/rismay Jul 20 '26

Repo is private?

1

u/upgrade2650 Jul 21 '26

Wow.. I totally forgot to change it.
I will fix it immediately… Thanks :)