What is a design process to me?

This sounds like another interview question and is so generic that it can hold absolutely anything. Some people will understand it only as branding, some will understand it as market research, some would even go as far as to development of the product. I like to keep things simple, usable and tangible for me.
So to me, product design is a process that works for you and helps you outline all the key aspects (idea, marketing, user base, competition, flows, interface, risks, monetization, distribution). It should let you start implementation with a clear idea of what you want to achieve.. Basically, it’s like a small, non-technical thesis.
It’s so easy to get lost in this phase. One of the most powerful advice I have ever received and one of things I consider a success is to:
“Prototype everything from the start – gather feedback, test it and refine it. Otherwise you won’t know you will be leading yourself into a trap”
So of course, prepare a plan, do some analysis, come up with ideas on how your app should work and how it fits into the market – this is all important and should be done. But before you go and plan the entire 10 huge game chapters or 20 big app functionalities… start with a simple one, the most prominent one. In case of games, test it as soon as possible, make sure it’s fun. Beautiful graphics and animations can come later, but they won’t matter if the game is not fun. For apps, have that one flow ready and check it with the users – does it solve a real problem? Does it fare better than other available tools (or at close enough)?
“If you have to explain your app or game logic in more than one sentence – that’s a sign you might need to simplify.”
My product design process
Here I’d like to focus on what worked for me. I have designed lots of different products and ideas, went into a lot of details and used all my design skills I have achieved in my day work as a business analyst and product owner.
So knowing what I consider a design process, let’s look at how my creative process looks like (another very popular question these days in job interviews).

1. Come up with an idea (duh?)
The idea doesn’t have to be perfect from the start! It can be vague. I strongly encourage the use of AI as a support tool, just ask your favorite AI to brainstorm with you. Ideas are almost never perfect from the beginning. They are like a relationship – they start in a very intense, exciting way but you really have to invest your time and effort to make the idea last. Most importantly, you should be the one who believes the most in your idea and keep constantly ignited (even if sometimes you might experience colder days).
2. Research your idea
Like mentioned in the beginning chapter, you need to do your research work. Is this idea popular? Is it unique (or at least has some unique aspects)? Is there competition? How do they solve the issue you want to solve? Are these apps paid or free with ads? All these questions you should be able to answer before you go to a drawing board and start working on details. It might help to actually do some interview with random people to get their feedback too.
3. Document your idea
Once you know your idea is worth pursuing, document the essentials so you don’t lose the core vision. Go for as much detail as you can. Cover the essentials like:
- What is the idea in one sentence?
- What problem does it solve? (in case of apps)
- What is the “fun” factor? How will you make your players feel rewarded? (in case of games)
- What are the main (high-level) functionalities?
- Is it a social or offline app? How do users interact with each other?
- Outline the first prominent functionality or game mechanic, in as much details as possible – focus on making that one perfect, it will be the foundation of everything.
Most probably, after some months of implementation the document will get outdated and many ideas you had in the beginning will no longer be there or will be twisted based on all the feedback you get (or based on your own adaptations). For some of my apps I cannot describe how many times I have changed the entire concept. One my of games – Katanas – was supposed to be first a standard 2d action platformer and I ended up after many iterations with a tactical game where you have to think about your next move.
In any case, you can always update your document, it’s much worse to just start coding blindly without a plan.
“If something is not written down – it doesn’t exist.”
4. Think about monetization strategy early on
Ads are an obvious first step, but if you are going for a paid model it’s especially important to think about which functionalities are free and which are paid. This will affect your design heavily. Most classical choice for paid functionalities for apps are:
- Cloud backups.
- Statistics.
- Exporting capabilities.
- Increased limits (if you have any).
- For games, microtransactions work wonders (sadly).
5. Select your technology stack
if you go for multiplatform, maybe React or Flutter is the way to go? If you prefer native, then Android or iOS. If it’s a game, Unity, Godot or Unreal Engine are the most popular choices. Do you plan multiplayer or sharing capabilities – if yes, which cloud provider would you use or other backend? All of these questions I’ll try to answer based on my preferred choices:
| Area | My choice | Why? |
|---|---|---|
| Documentation | Google Drive with Google Docs and Google Sheets | After working for around 10 years with Jira and Confluence I prefer simplicity (although I do love products of Atlassian). The point is, don’t overdo it with documentation in the beginning. Unless you are a professional software house, you do not need to document every single popup in your app or validation message. Focus on the essentials and design pillars. |
| Mobile apps | Flutter | I tried it once and I fell in love with it. Especially the hot reload is great and there are other cool features. Before I was working mostly with Kotlin for Android and Swift for iOS, but it kept me stuck in those platforms only. There might be even more popular options for multiplatform languages (React?), but my personal choice is Flutter. What is important though is that you test your apps as soon as possible on real devices, try to avoid emulators. |
| Games | Unity | I find it easier for indie developers to start with 2d games and Unity in general (which uses C# as a programming language which is also easier to learn than C++). Unreal engine (with C++) seemed like an overkill for me. Regarding game development, check out my another blog post Most common traps in game development I encountered |
| Cloud provider | Google Firebase | Mostly because of the ease of use and speed of integration. Also the costs are not that bad so far. My Achilles heel is DevOps in general. I know almost nothing about clouds technologies like Azure or AWS. To me, they still feel like complex boxes with many potential hidden costs, and I personally never got fully comfortable with them (even at my IT work, my DevOps departments seem to be struggling every day). I found Google Firebase to be so far the friendliest one to use that doesn’t require too much expert knowledge. |
| Backend services | Google FIrebase Functions | I do not need a heavy microservice architecture (although I enjoy building them). My advice is to start small and scale. Google Firebase functions are easy, plus the costs are not that bad (paid per usage, high free limits). Always think about optimizations and costs. If you plan on doing online games that need to call some server, count every single read and write, make sure there are no options for spamming calls to your cloud services. When starting, everyone will tell you that costs are negligible, which is true for 10, 100, maybe 1000 users. But once you reach 1 million users (and you will), every single call to your server has to make sense. |
| Code repository | GitHub | I strongly encourage everyone who plans to write apps or games to setup your code repository as soon as possible. Why? Because you will get lost at some point, you might lose your code, you might need to rollback to previous states. It will be impossible if you just make zip backups of your code on your laptop. I went for the most popular choice – GitHub – mostly because it offers GitHub copilot which reviews my pull requests and can write code for me with agents. |
| AI assistants | All! | ChatGPT for brainstorming, GitHub copilot with Claude for programming, Eleven Labs for sound effects and music. If you are against using AI in your creative work… well, I can respect that, but the many of your competitors will not have such ethical dilemmas. I believe, if used right, AI can enhance your work, not replace it. |
6. Start with a quick prototype
I want to reiterate this, it’s especially important for games. Don’t go and start implementing things like user management, database layers and all that stuff. Start with something ‘fun’ and tangible that you can immediately test with the market. That’s the best way to refine your original idea and see if it ‘sells’.
7. Plan the work, implement step by step
Try to do it in small increments. Make use of GitHub copilot pull request review features, discuss with ChatGPT your architecture, do it cleanly from the beginning. It can be very tempting to make a pull request with 100 files and 10k lines of code especially when working alone… but trust me, we avoid doing that for a good reason and if you ever worked in an IT company, you know this is the first thing a development team should respect.
8. Test often, ask for feedback
In the beginning we are tempted to keep our work a secret until we are ready. Like we are building some grand secret project and we don’t want to spoil the surprise. Don’t wait until the work is done to test your app / game. You might realize you are creating a meaty burger for a vegetarian audience.
9. Once ready, setup monetization strategies
I use Google AdMob for ads, Ko-fi for donations and I will use the Google Play services for subscriptions. Don’t wait till the last time to setup your ads because that has an impact on your app design, for example – at which point of the game do I show a video ad? Should I add a reward ad that gives in-game money for watching? Where do I place my banner ad? Monetization might seem like a dark-sided of the app development, but in the end, we have to have money to put food on the table, not to mention to be able to afford other nice things in life.
10. Setup your app store accounts
Google Play and iOS appstore most likely – both have a fee associated with it. I waited to have my first product ready before registering there. The publishing process is quite tiresome and can take even some days. Don’t expect that your app will get immediately approved, and the amount of stuff you need to prepare is quite staggering. I’ll make another post about it some day.
11. Publish first as beta tests
In my experience, the apps can work great locally but usually work completely different once published to app stores. Test with your friends or a group of beta testers. Also, there’s a saying a heard:
“Being a developer and a tester at the same time is like being your own lawyer when being judged in a court of law.”
12. Once ready, publish as production application
Sounds easy. We publish and the money starts flowing automatically, no? Well, it’s an important milestone, but we are far from over.
13. Launch your marketing campaigns
You need to use everything you have at your disposal. Your app won’t promote itself. You need to start posting in your social media, you need to setup (and pay) for Google Ads or other, you need to get your app visible in Reddit channels or other forums. I personally use Facebook, Instagram and YouTube as social media. Google Ads for paid ads, I tried Facebook and Reddit ads but the reach was not good enough for me. I admit, marketing on my side is one of my failures which I described in more details here: What 10 000 downloads taught me about Android monetization.
14. Always know the next step
Publishing the app is the first step, but to really be successful you always need to have a plan for the next steps. What cool update will you launch next? What new app will you start working on? Do you plan on somehow combining all your apps at some point? What about gamification? Promotions? It’s called a vision and goes way beyond a single app. Prepare your roadmap, whether it’s a Trello / Jira board, some diagrams in Draw.io, a Confluence page or a simple Google Doc / Sheet. Make sure to document (as mention in previous points) everything, otherwise it doesn’t exist.
