I once wrote about my content creation process and I still follow the things I wrote in there but now, going through the publishing process of my first ebook “The Big Git Microbook”, I can say I learned a few new things. Read through to understand learn about my adventure in self-publishing first ebook.

Writing that didn’t work

Writing itself was hard. I never wrote something so long and I gotta say this isn’t as long as it could be. “The Big Git Microbook” was actually a breath of fresh air as I was writing another longer book (still to be published) and got stuck with the dreaded “writer’s block”.

So this July, tired of not finishing any of the two books I was writing, I decided to finish one of them, after all, a book sitting in my computer somewhere isn’t helping anyone. I strongly believe in learn by doing, so this was also a learning opportunity since I used this book as an experiment of sorts.

My idea was to use this book not only to help others with Git but, on my side, to get rid of kinks in my writing process for longer content format and to figure out how to publish this type of work. By publishing the first book, I learned a process that works for me in the sea of information out there.

For the actual writing, I started using Apple Pages. That tool would allow me to write anywhere even offline, but I started noticing that the tool itself wasn’t ideal for the way I like to write: brain dump, clean up, edit, review, review, review, publish.

Apple Pages didn’t let me gauge the progress in my writing or review process. Consider this: I only focus on these types of projects on my free time, this usually means weekends. Relying on memory to remember whether or not I reviewed a section was, simply put, hard. So after writing a lot and a very long break, I moved from Apple Pages to Notion.

Using Notion as follow up tool for writing

I had been using Notion for my blog and gitfichas for the past year or so, by the time I decided to move the book to Notion I was very familiar to using databases to do what I wanted to do: track my progress.

Moving to Notion also meant that I spent a couple of hours one given weekend to:

  1. Copy over all the work done before;
  2. Structure the database with all the fields I needed.

After the tedious copying and pasting was done I could go back to the actual tasks: writing and reviewing.

More importantly, after everything was in notion I realized that, the first time around I had done more work than I thought and I was super close to finishing it. And forward I went, writing the pieces that were missing. I also took my time to recreate all images I already had.

Creating standardized images with Carbon

You see, I was taking screenshots from the terminal on a computer, then I converted into using only my iPad for writing and GitHub Codespaces for screenshooting commands on a terminal, that meant not all my images looked the same and I like patterns, so recreating the images was the only way to go.

I also wanted to remove any biases of my own configurations, make easier on me to hide sensitive information like my personal e-mail, and finally to make easier to create versions in other languages. After a few tries with a few online tools, Carbon ended up being the chosen one.

Another session of repetitive copying and pasting later, I managed to regenerate all images using Carbon. Now I don’t like doing repetitive work, so in order to take most advantage of using Carbon, I also started a second database in Notion, this time to save the images I just made.

Carbon is content based, so everything in a given image is actually part of the URL for that image, so if you save that URL you can recreate the image easily should the need arise. In the image database I not only saved said image, but the text present in each one of them, and also the URLs as well.

With all the images I had made in carbon I could start the first review. Reviewing everything for the first time still in notion allowed for some fast corrections especially using Notion AI to spot some easily fixable typos and missing commas. I then exported the first version of a PDF directly from Notion to start some “serious” reviewing.

Review three times, and then review again

Were this another other time, when I still used paper and had a printer, I would probably print out the first PDF I generated. But this is not that time, I don’t even own a printer or have paper lying around anymore, so I just used my iPad and Apple Pencil to do as I normally would and started the reviewing process.

Now mind you that even though I did review the content of the book once, the person that started writing this book is not the person I am today. I like to think that in past 2 years, my communication skills improved and that they are better than in the beginning of this journey, so I did a lot of improvements.

And here my first reviewer comes in: After a lot of virtual red ink, I sent a second PDF - with corrections made from the first review - to my husband Jairo “JJ” Jair. That sparkled a discussion around improving the order in which the content was presented.

This book was meant to look like dictionary. The reader would find the command they want in the table of contents, follow the hyperlink, and read about the command. This much is stated in the beginning of the book but try as one might, it is impossible to control readers, they will do what they want and probably read the book at least once in order.

After my husband’s review, a night of rest, and a lot of conversation we figured out a order that we both agreed made sense, more adjustments were made. Once again I generated a new PDF and this time, the second reviewer came into the picture: a dear friend Ana “Ceci” Cecília.

With a better sense for ponctuation than me, Ceci always find a way to improve my writing with a few edits. Because I was a little antsy to finish the book I did the final edits and exported the final PDF and ePubs… At least for that day…

Publishing a book on Gumroad

Finally, holding on to the first version of the finished work it was time to put a store front somewhere. Mind you that in the beginning I wanted to publish the book in a platform I control as much as possible and secondly on Amazon.

Now this is where the fun began. The “The Big Git Microbook” was first published in Portuguese with a focus on helping Brazilian developers, so Hotmart seemed to make sense since it had support to the country currency and widely used payment methods like Pix, while still being an international platform.

Hotmart was pretty much perfect at a first glance, until I read the terms of use: They have an exclusivity clause, so by using any of the platforms services, you accept to only sell your products there, and that’s how I gave up on using them.

I also didn’t want to develop the whole infrastructure, it seemed to required a lot of me to have the integrations I wanted so I picked another platform for digital products: Gumroad.

Gumroad is international, allows you sell your digital products there with minimal setup, has a flat rate over sales, and no exclusivity clause, with that said, Gumroad is kinda perfect for needs like mine.

Unfortunately Gumroad does not support the Brazilian currency and the same payment methods as Hotmart did, which I knew would probably hurt part of my sales, but it was still better than Hotmart.

Creating a book page on my website

Initially the idea was to have the page be the main landing page for the book and use Hotmart only to checkout and send the ebooks in PDF and ePub formats to customers, so I implemented a page on my own website that would allow me to add the book details and link to the payment gateway.

The page itself is pretty simple. My blog is built using Jekyll, GitHub Pages, and Netlify, so to create a new page I just had to write a new markdown but I wanted to have a few buttons and have the book cover next to it’s description.

So after the markdown was done I also added a little of CSS to make everything look pretty and everything was done. With the page in place, even though I ended up not using Hotmart and Gumroad having a standalone store front, I decided to keep the book page. Now it displays the details about the book and buttons to purchase the book on both Gumroad and Amazon.

Editing an ebook for the Kindle

During my reviews, one thing I did was send the ePub to my own kindle to see how it would render over there. Even though the ePub worked well on other e-readers, Amazon conversion kinda didn’t work as well…

The images, exported by Carbon were PNG with an transparent background and a shadow, in the kindle they showed up with a black border and the captions were also involved in the same black border making it impossible to read.

So instead of using the ePub to publish on Amazon, which would result in the failed image conversion, I downloaded and installed Kindle Create, Amazon’s software for creating Kindle manuscripts.

There are a mainly two layouts of books for kindle: reflowable and fixed. The catch is, if you want your book to be readable on the most common Kindle readers, you will want a reflowable layout and the way to get that is by using Kindle Create.

Think of Kindle Create as a limited version of Google Docs or Microsoft Word. For example, for reflowable you can only have chapter level headings. For technical books like the microbook that’s a little annoying because subheadings don’t appear in the automatically generated table of contents.

Long story short, after getting used to the limited text formatting functionalities in Kindle Create, as well as how you can add more content to it, it is pretty easy to get the manuscript, but first I needed to take care of the whole images situation.

A little draw back from Kindle Create is to only accepts JPG or JPEG images, which also meant that I needed to convert all PNG images into JPG files in order to use them. I just used FFmpeg to convert all files with .png extention into .jpg, there’s a script here. After running the script, converting all the images, and replacing old-poorly-converted-images in the manuscript I “only” had to export the file again and upload it to Amazon.

Publishing an ebook on Amazon

With the Kindle document ready, it was time to create a profile on Kindle Direct Publishing (KDP). That’s add the information about the book like the author name, cover, illustrator and editor information. After the first part of the metadata, you can upload the manuscript, then you’ll be able to see a preview on how the book will look like in different devices.

With all mandatory fields filled, the final piece of the puzzle is choosing a pricing and royalties agreement. For pricing I picked the same value as in Gumroad, but you still have to pick a model for royalties. You can choose how much Amazon will pay you out of every sale you make and how much amazon will keep. Today Amazon has two options as far as royalties are concerned:

  1. 35% royalties: all ebooks, as long as you sell at the same price as other platforms you are good to go;
  2. 70% royalties: if you chose to participate in KDP Select, but you have to agree with the exclusivity KDP select clause.

After all of that is just hit the big yellow publish button. Once you hit that button, your book will go through two steps that can take up to 72 hours each: Review and Publishing. For me, both of these were finished in under two hours total. After publishing is done, your book now has a page that show the book details and allows it to be purchased.

Claim your book as the Author

After your book is live, is time to claim it as the author, for that you need to create a profile Amazon’s Author Central. This process is very similar to creating a profile on any social media, only main difference is: before you can put your book under your library, you need to get you profile approved.

The approval process is similar to the Review and Publish processes for the book, you submit the data and wait. Once it is approved you’ll get an email and will be able to add the book into your profile like I added both of mine.


The reviews, store front on Gumroad, creating an Amazon profile, formatting the book for Kindle, took about 4 very long days. That is, two weekends when I solely focused on working in the book, from the moment I woke up to the moment I went bed, most days close to midnight.

Narrating all of that here made me realize what an intense journey this was, but as well how good it is to finally have figured out all of these steps. I can’t wait to go through that again, hopefully soon if I don’t get any writer’s block.

For you that read up to here, first thanks for reading, second congratulations, and third: I hope this could bring some clarity to the whole process for you and that now you can feel more confident into publishing your books, I’m looking forward to reading them.