Dice: shake and roll
I have my own App Store Connect account since 2016 but I used to use it as my playground and testing environment. Sometimes I used this account to prepare test builds for my clients, but most of the time it was quite empty and abandoned. Now I decided to change it so I started to work on some side projects this year. One of them is Dice.

The simplest app on the Earth
In the first iteration I wanted to keep the design of the app as simple as posible. It has only a toggle to choose single or double dice mode. I wanted to avoid designing complex UI for choosing between variaty of different configurations, die types, rules etc. It should be as simple as a die itself.
My goals could be listed as follows:
- Make the UX as simple as possible
- Clear and colorful UI
- Continuous experience: toggle state should be persisted, so if someone kills the app or something unexpected happens it should start as it was before
- Available in more than 6 languages (especially in English, Polish, Slovak, Ukrainian, Czech and Russian)
- Keep it easy to extend: it should be easy to add new functionalities etc.
- Persist as many statistics as possible to reuse them in the next iterations
- Nice architecture: the app is simple and was developed in hours (not days, weeks or months) but I wanted to do this right anyways (BTW I chose the MVVM… And ehm, it has no so many models actually… 😅)
- 100% Swift
Michał Cichoń is a software engineer based in Kraków, Poland.
With over 15 years of experience in web and mobile development, he specializes in building software systems across mobile and backend environments, with a strong focus on product-driven engineering.
Over the years, he has collaborated with financial institutions, biomedical companies, and startups from New York, Berlin, and beyond. He is currently focused on AI systems that support and automate parts of the software development lifecycle.
