Overview
I used tachiyomi for a good while before I made my first contribution to it. Part of this was due to the fact that I had never touched the Kotlin programming language before, so I didn’t think I would be able to contribute any good code. Additionally, my knowledge in Android app development was already pretty sparse, and seeing so many new concepts in the source code bewildered me.
First Contribution
Tachiyomi uses additional Android apps (known as extensions) to provide the sources it uses. To maintain the integrity and trustworthiness of Tachiyomi, the app requires the user to explicitly trust sources not downloaded from the extensions repository. While experimenting with compiling my own extension, I noticed code that chooses what label to put on an extension had a ordering bug. This meant that unofficial extensions would be labeled as “Obsolete”, when they were intended to be labeled “Unofficial”.
I fixed the bug, opened a pull request, and with it being quickly merged, I was now a contributor to the Tachiyomi project.
Continuing Development
I have since then continually contributed to Tachiyomi, though most of them are small features or bug fixes, as I am not experienced enough with some of the finer workings to make big contributions. You can see my list of merged pull requests here