Awards for the third Stack Overflow code challenge:
Most Upvotes: André
Serene Scene Creator: Ale_Bianco
New Contributor: Michael Brown
Most Customizable: FoxWise
Snowflake Artisan: Newpzo
All of the awards given (aside from most upvotes) are subjective - Stack Overflow developers had a lot of fun reading through everyone's work and recognizing the entries that stood out.
Update on July 1, 2025: This challenge is now concluded! Thank you for all of your interesting, creative entries. Entries can still be submitted and votes can still be cast, but do not count towards determining the results. Stay tuned - results will be posted within the next several days. Check out challenge #4 here!
Thanks for coming back for the third Stack Overflow code challenge, and welcome to those who are new. The second challenge has wrapped up, stay tuned for an update on the results. Let’s forge ahead with the third challenge!
For more context on what this is and why we’re doing it, you can check out this post on Stack Overflow Meta. If you have feedback on the challenge itself, that’s the place to send it!
The Challenge
Devise a mechanism to create snowflake art using ASCII characters given a random seed.
Details
ASCII art is a way of creating pictures using only ASCII printable characters—like letters, numbers, punctuation marks, and symbols (e.g., @, #, /, |, etc.). The ASCII standard was developed in 1963, and ASCII art was popular in the early days of computing when graphics were less common. (This is way before emojis!)
For example, this is a smiley face:
:-)
And here’s a cat:
/\_/\
( o.o )
> ^ <
In this challenge, we’d like you to create a program that draws ASCII snowflakes given a random seed. The snowflake drawn should differ based on the seed provided (the seed can be anything you choose).
Because of variations in temperature, humidity and other factors, snowflakes each form a unique shape. Although they are all unique, they do share many common characteristics; for example, snowflakes start with a hexagonal shape at their center and are usually symmetrical. You can read this for more information on different snowflake types and characteristics.
This challenge is designed to be open ended. Feel free to approach it in whichever way seems most interesting to you.
How does the actual contest work?
You have exactly two weeks from the date this challenge is posted to submit your entry. For the first ten days, other entries are only visible once you have submitted your own. After that, anyone can view and vote on others’ entries.
June 17: Challenge goes live
June 27: All entries visible to everyone
July 1: Challenge ends
How to Submit:
Your entry is not permitted to be written, in full or in part, by AI. AI assistance with coding or debugging is permitted if it is disclosed in your entry and the initial code is wholly your own.
Your submission should include:
An explanation of your snowflake creation approach
The code you have written to create the snowflake(s)
An example of some snowflakes that your code has created!
AI usage disclosure
Instructions for how others can run your code to observe how it works
Anything you learned or any interesting challenges you faced while coding!
How do I win?
For this coding challenge test, user entries with the most upvotes will be recognized, as well as users with entries deemed to be particularly interesting by staff members. We realize this is not the most objective criteria; in the future, we plan to have a more sophisticated evaluation system! Please note that any upvotes received as part of this challenge do not count towards site reputation.
This snowflake generator creates unique ASCII art based on random seeds. Each snowflake maintains hexagonal symmetry and natural characteristics. The algorithm uses mathematical principles to generate branches, create symmetry, and add natural variations.
IA Disclosure: I used Claude to help structure and debug ideas, but all code and design choices were made by myself.