Every snowflake has six arms, and every arm is the same on both sides. So a snowflake is really one small shape, drawn twelve times: mirrored, then turned five times by 60 degrees.
The source code is at github.com/KirillOsenkov/LiveGeometry. It is written in .NET and Avalonia.