Back in 2002 I was very active in the free-software community. I was both learning to code and was advocating the importance of free software. It was one of the most fruitful periods of my life.
On the coding side, I wanted to start learning a framework with which I'll finally be able to start creating apps that users can interact with. By that point I've been doing the university exam preparation data structures, algorithms and matrix reordering type of coding. I stopped liking it quite fast. I was thinking, there's gotta be more to this, something which will serve a real user. The influence of the free software community led me to Qt , a wonderful Desktop (and later mobile) UI Framework built on top of C++. It was a BINGO!
I vividly remember my very first app, which I guess came from some of the recipes as part of the framework. A Calculator. Nothing worked except one button. Pressing that button, would show a dialog. Pants were shat that day. The process was slow but I was 19, I had all the time in the world. Soon after I got into some more advanced things and finally, in 2004 I released my first app, Timix - a program execution scheduler.
It's a very funny feeling to see something that was created in my small room back then still living in the wild. I visit that page from time to time just to get back to the feeling.
The great thing about developing apps back in the 2000s was that app development was not something lots of people were doing. At least not compared to now. So the few apps I created and the knowledge I gained pushed me to a stream of requests for presentations, classes and lectures for other interested devs. It was funny. The feedback I got for my first app pushed me to start developing another app, which came from a very simple necessity I had - backing up my data. So I built something which I non-narcissistically named ab Backup tools. But really, it was my tool that I wanted to share with the world.
Look at that UI. Now feel with me. I cringe and feel proud of that old piece of work from almost 20 years ago. And that is what means progress for me. Publishing open source apps that were consumed by real users taught me a lot in terms of building -> receiving feedback -> acting upon feedback. And if there is anything outstanding in the open source community, that's feedback. It's instant, sometimes harsh, but the developers are faced with the reality quite fast. That gives very little chance of faking one-self. Of creating a persona that's not really you. You expose your work in a pretty much naked way. You open your sources and you show to the world your way of thinking. And then the world splits in a good one, which gives kind and actionable feedback, and a bad one which trolls and throws stones regardless what's seeing. Learning to isolate the latter and take just the actionable feedback was a huge growth potential for me.
The things lingered for a bit more as I was more present within the free software community. In 2008 I got my first full-time job offer for a proprietary product developed back in my country. Working for a commercial company taught me other things though. I started thinking business driven. I started learning on processes that would help me, and the team. I started caring about a team. I was becoming present in building a product that was being used by people that would pay for it. That meant pressure, but also it was a catalyst to a better me. And luckily, I used to work with amazing people at my very first job, an opportunity not everybody had.
Until 2011 I was doing Qt/C++ mainly. Thinking back, if I should mention something constantly present in my personal and professional life, that'd be: I LOVE DOING SIDE PROJECTS. Not just software. I love occupying myself with unknowns and goals. Those things sometimes turn into failures from which I (learned to) learn and some turn into successes (depends how you think of success). But eventually, I came to the conclusion that there is no academic parallel to a side-project. The value that a side-project brings in the real world, is by no means comparable to the knowledge a diploma brings. So building things with Qt on the desktop was no fun in terms of having a side project. Desktop was difficult, people started focusing on mobile and slowly but surely, in the period of 2010-2011, I turned to Android.
My very first app for Android was a crawler I built for the most famous yellow pages service in the country. I built it open source. It was free, it was working, it got really great attention from the community. As things are where I used to be, some of the executives of that company called me soon after giving me a cease and desist. They also gave me a deadline for the apps to be removed from the stores as, I learned right after, the company had already paid another company to build them an app. So for them it made more sense to kill the free app for their service. 🤷♂️ Friendly reminder: the year was 2011. I did what they asked, but the app was forked by few and luckily the code is preserved on my Github repo even now . Again, the quality of the code is next-level spaghetti.
Releasing a mobile app made me realise that I can do a lot. I had the knowledge to build an app, I knew how to release it, I had all I needed to start monetizing. I just missed a problem the others had. The next thing I tried building were smaller utility apps that I thought would gain traction and unfortunately never did. Some of them are still alive as pirated versions on some shady websites. Unfortunately not on the Play store anymore. But thanks to the pirates, I have a reference to them that I can mention. Two great apps I built and I'm really proud of are:
Kidography (joke on the name later) - an edutainment game for children (8-12) to learn Geography. It's a perfect match between my coding and writing skills. Part of it is a quiz which in a form of a rhyming riddle asks the user to guess the city. Also, the code lives on my repo.
And the other one is a game called The Pirate Dwarf. I built it as freelance work for a client that abandoned the project mid-development. I changed the assets and images, kept the code and published it open source.
There is one common thing in all of these apps, regardless of the technology and stacks I've used. With almost all of them I wanted to monetize, to become reach quick. But I didn't treat any of them as a product. They were just apps. My work ended the moment I released them to the stores. They were good apps, but bad products. Reagrdless how I tried, I could never monetize them.
The newer times
The past few years I am into Flutter and most of the things I do as side-projects also are done in Flutter (even web). During the first wave of the pandemic I built a small mobile app for organizing team events. It was called Eventon.
That was the first app I had thought of as a product. It was complete but never validated. Once I confirmed that the product has no demand, I quit working on it. But the knowledge I gained doing it is for sure something that justified every moment spent on it.
Nowadays I am working as a full time Flutter developer with a great team and also in the evenings amongst all the Lego blocks thrown all over our home, if I am not exhausted, I am building Writings. Now Writings is a project that is very dear to me. It's a crown to all of my learning efforts in the past two years. It's a mixture of passion (writing), skills (tech) and knowledge (marketing, communication, presentation). My goal is to have it published by end of 2021. Wish me luck!.
Wrapping it up
It's interesting to compare my past self and me today. I feel much more complete, I feel I can build a lot of things all by myself, yet I also hope that this version will be nothing to compare with the version 10 years from now. The things I did were done solely to learn, and I feel great for achieving that.
On to the next level, my goals are focused on publishing something that will get some real user traction and then monetize. I wanted to share this short summary of my past work, with emphasis on my side projects. I truly believe that the indie way of executing work comes naturally to me. Finding ways to make things work, interacting with users, getting feedback. It makes me feel alive.
Hope to have made clearer for the curious ones, why I feel sound to talk about product development. I've seen myself grow from simple app developer to a product builder. And regardless how much happy that makes me, it's just a fraction of what stands ahead.
Thanks for reading.