Alexito's World

A world of coding 💻, by Alejandro Martinez

GoodProgress has been released

My birthday is the middle of July, seven days from now, which has always made me consider summer as the division between years. That mentality was reaffirmed when as a teenager I got hooked up on TV Shows. Those shows are broken down in seasons, and usually summer was that weird space between seasons without much interesting content to watch.

Last year, at the start of my new season, I made myself a promise: release a new iOS app. I've been an iOS developer for many years now. But at some point I stopped making apps for myself. I was busy with work and life, and the time that I had I put it in experiments to learn and explore new things. Swift has been a big topic on this space, but also the blog, making videos... I never stop learning or creating, but it's true that finishing a personal project is not something I'm very good at.

So here I am. One year later with an App on the Store. I present to you GoodProgress!


GoodProgress was born from necessity and curiosity.

Since I'm recovering the love for reading and fantasy I needed to build an app to help me keep track of the progress of books. You know that I love tracking progress, remember WishFilms? Well, for books Goodreads is basically the go to website. There is very little to no competition. And it's noticeable because the web and apps are quite bad.

Without exaggerating: between navigating the confusing interface, waiting for pages to load and fighting the constants bugs it can take you up to a minute to update the progress of your book. I wanted something quick and fast.

And that's how this app idea took shape. I just needed a single screen with the book I'm reading and a big fat button to update the progress. That was my primary motivation.

SwiftUI and the promise of WWDC showing us a more polished version of it was exciting too. So I decided, after working with SwiftUI for a year, to put something on the store with it, combined with The Composable Architecture.

But making an app like that would be too easy, right? Well, yes, except that the Goodreads API is worse than their app. Just read this: XML. Yes, in 2020. And the format of the responses is not such a big deal as so many developers on the community forum pretend to be. The real problem here is that the API is not maintained at all. The documentation is worse than generated docs. API calls missing or not working at all. And the worse, in my opinion, is that the entity organisation and relationships are so much more confusing that they should be.

But I was determined. I started listening to audiobooks with Overcast because of its Smart Speed feature. That meant that I didn't know the progress or even the page. I just had the number of the chapter I was in. So one of the most useful features of the App for me is the chapter update progress screen.


Design wise is not a piece of art. But I'm not disappointed. As always design is one skill I need to improve but I like the color contrast and full screen cover art. It makes it stand out for a simple stock list of books.

That's it, I just wanted to leave some thoughts for posterity on the release of my new App. More features are planning so hopefully I will write another post about it at some point.

If you liked this article please consider supporting me