How to self-publish a book in 7 years

A Short Work

If you ever think about becoming a writer, then go ahead and type a single character on Google. Before your finger is off the key, Google will recommend hundreds if not thousands of material. Not just any material, good material. There are classes on Udemy, there are videos on YouTube, there are well written articles from prominent bloggers. You can join forums, clubs, guilds. There is no shortage of information to turn a complete newbie into a respectable author.

But from the moment I opened a new text file to the moment I hit the green publish button, 7 years had gone by. No amount of good advice can be applied to a blank page.

What follows is a story. I'll try to make it chronological, but sometimes it might not even seem to be about writing. After all, we are human and we have to live in this world where you can turn off your screen and experience a whole other part of reality. A reality where anything can happen. A reality where you make a promise and then the entire universe conspires to make you break that promise. This is not entirely a guide, with bulleted instructions that will help you recreate my success. Instead, somewhere between the lines, a moral will be buried.

If you are still here, well let's start... at the beginning.

  1. Writing
  2. Life
  3. The year 2020
  4. Publishing
  5. What's next
Get the Book
idiallo 2013 in 2013


The very first post I wrote on this blog was about the use of mysql_* functions in PHP. They were being deprecated at the time and I was urging people to switch to the new and improved mysqli_. It was a very safe bet, there was nothing to criticize in that article. It was like saying: The sky is blue. But when I shared it on reddit, someone was able to say something bad about my post. In fact, he said something bad about my whole blog. And then, he said something bad about my mother. He ended with, "You write like a seventh grader".

It was like showing slight interest in boxing and 10 seconds later you hear the bell ring and Mayweather is coming at you full force. He punches you square in the face. Through an unknown quirk of gravity and biology, your body never falls to the ground and you never pass out. Floyd gets angry, so he doubles down the punches. There were a dozen of boxers on reddit that day. They cooperatively punched me thoroughly then down-voted the post into oblivion.

I finally fell to the ground coughing blood, shriveling and thinking about the best way I could scrub my blog off the Internet. At least I could say I had tried blogging, and it wasn't for me. That's when a true champion stepped into the ring. He offered his hand, then lifted me back on my feet in one swoop. "Who are you?" I wanted to ask but I was blinded by his aura and sparkling golden belt burning bright like a phoenix reborn. He turned to me and said: "Writing at a 7th grade level is a good thing. It means people can read and understand what you are saying. Don't listen to these guys, I encourage you to keep going."

That's how I want to remember this anonymous commenter. When my blog turned 1 year old in April of 2014, I had written 91 entries. I don't know if I should brag about that. Even I have a hard time reading those entries. But some did make it to #1 on hackernews and a few subreddits. This complete stranger on the Internet helped me realize that people are much more vocal when they disagree than when they agree. My skin grew thicker and in 2014, I was ready to write my first book.

The first word I wrote in this book was the title, Provolone, and I stuck with it. My only experience being blogging, I capped at 2000 words. That wouldn't cut it for a book, so I edited the whole thing. Now I was down to 1,800 words. After doing some research, I read that a good size for a short novel or novella was around 50,000 words. I only had to pad it with 48,200 words and I would be good to go. What do you do when you are done telling a story?

Since I didn't have anything else to add, I saved the story in Dropbox and moved on. Every year, I would accidentally stumble upon the story and read it. I'd tell myself "It's a good story, I should turn it into a book and publish it." But then I couldn't come up with those 48,000 words so instead, I'd open a new document and write a different story.

Every new story I wrote was longer, and more elaborate. I'd gain more experience. But they were nowhere near the requirements to be called a book.

In 2016, I was hired by a large company as a software engineer. The moment I walked into the building, I had a flashback. I wanted to stop everything and start writing immediately. This was the place I was writing about. It had all the elements I was describing. The tiled marble floor, the decorated cubicles, the slow elevators, the green initiative emails. It was as if my story in Provolone had taken a life of its own.

At lunch time, I'd grab my phone, open the text editor and start typing. You know that guy walking in the streets, his eyes glued to his phone, his fingers vigorously typing? The same guy that sometimes walks into a pole face first? That was me. Every second of my free time was spent working on this book.

I'd complete a chapter, convert it to audio using a text to speech engine, and listen to it while working. It was a great way to find mistakes. By 2017, I had written all 8 chapters of my book. It was a good story. So I went to work one day only to find out that I was fired. Not because I was terrible at my job. In fact, I was pretty good and I did not let my side project interfere with work. My manager was just as surprised to hear it. I was fired because... well it's a long story.

Now that the manuscript was completed, I had 18,000 words. Again, what do you do when you are done telling a story? They hired me back once they figured that it was just a mistake, but I knew that I had to reset my priorities. I quit shortly after. I turned my attention to the startup I had co-founded as it was starting to gain traction.

TechCrunch disrupt 2017


We were on stage at TechCrunch talking about our amazing service. The rumors were that we had won the battlefield competition that the rest was just formalities. The rumors turned out to be false. We lost to a team that was not even on the roster. But our idea was great and investors lined up to fund us.

The book took a backseat. It was a good story that I liked, but I dreaded letting anyone else read it. What if it sucked? What if they didn't like it? Or what if they asked me to change a whole chapter? It would mean rewriting the whole thing. Plus how do I even find a publisher? I don't have the 50,000 words minimum.

90% of startups fail and I'm sad to say that we had an incredible journey. By 2018, the funds had run out, the team had disbanded, and our journey was summarized in a 3000 words essay that remains unpublished. Oh, and I met a girl.

I don't usually talk about my personal relationship but this one was special. There was a Muslim dating app that was launched at Ycombinator. Being a hackernews addict, a Muslim, and a software developer, I decided to QA it for them. I downloaded the app, went through every section, clicked on everything, swiped left and right, broke some of it. I documented all the quirks and sent it to the makers. Then I did the natural thing to do, I deleted the app.

One thing I forgot to do was delete my account.

A few months later, I got a notification on my email. I had a match. Being single at the time, I was happy to respond to the notification. I downloaded the app to see who wanted to match with me. It was a very nice girl from India living in Los Angeles. We became friends for a while, but we lost touch eventually. I told myself that we didn't click because we were matched based on some random QA criteria I had set on my profile. So I set my criteria to something more realistic. 27 to 32, black, and 25 miles maximum distance.

The app became awfully quiet. It was as if such a person didn't exist. Eventually, I did get a match. The only thing is she was 25, not black (mixed), and she was 700 miles away, in Utah. I had the choice to report it as a bug to the developers, or... oh well we are married now.

diallo family

I was in Utah when I published the story about my firing. It had been a year and a friend and I were laughing about how silly the whole thing was. So I wrote and published it. If there is a formula for virality, I’d be the last person to tell you about it. I thought at best a dozen people will read it and chuckle. Instead, it became a phenomena. I don't know how, but every journalist somehow had my phone number. My email was flooded. I was getting requests for interviews left and right.

Among them was BBC, they wrote an article about it and the traffic to my server tripled.

What intrigued me the most was the talk around the article. Other than the story itself, many focused on the technical aspect of it: my literary style. I heard some references to Hemingway, Kafka, Naipaul. Many suggested I should write.

I must confess, the fame got to me. There was only one thing to do. The people had spoken and I was the instrument of the people. On the plane back to Los Angeles, I flipped my laptop screen open and created a brand new text file. I named it "justfired.txt".

In the coming week, I wrote 20,000 words. They poured out of me. I didn't need to do too much thinking. All I was doing was telling my own story. I wrote down the list of places I worked, then told one memorable story about each place. They would all lead to the day I get fired eventually. It was a beautiful yet sad metaphor about the American dream, in the eyes of an immigrant.

just fired landing page

With this momentum in place, I announced on twitter that I was writing a book. I created a landing page and started collecting emails. The easiest thing in the world.

That's when my wife called me from Utah and told me that she had just come back from the doctor. She was pregnant. I always thought that as a modern man, my wife and I would sit down and have a long conversation. We would have an excel sheet open and write the pros and cons of having a baby. We would plan ahead, anticipate the expenses and set a date for when she would get pregnant. But none of that happened. It was just a call. When she told me she was pregnant, all I felt was joy.

Sure I'd have to change my plans a little, but that's fine. I might not be able to write 20,000 words a week but even half of that is still reasonable. She was still in Utah, I had to find a new apartment in Los Angeles. Maybe a little bigger since there would be 3 of us. A week later, and 28,000 words later, she calls. "We are having twins."

I did not believe her. We had just joked about it the night before. "Twins? Really?" I want to say that I welcomed the news. But man, twins! I knew that one kid would be a compromise, but we would still manage. But twins? Lord, I was screwed.

We got a place in LA, a block away from my mom. I needed all the help I could get. My writing speed decreased considerably, but it was still manageable. I had to get a job you see. It was fine to live off my savings when I was single, but with a wife and children on the way, good insurance is a must.

My wife did not have an easy time. It was constant trips to the hospital where they'd tell us this or that was unusual. The kids were due in March 2019, but by December 2018, she would be staying 3 to 4 days at a time in the hospital. On January 2nd, 2019 we went to the hospital and they said she is not coming out until she gives birth.

On January 11th, I was holding my wife's hand and distracting her with the lamest jokes I could think of. "One down, one more to go" the doctor said casually. I didn't even know they had started the c section, but Baby A was out. 2 minutes later, Baby B squealed. The nurse tapped me on the shoulder, "you can stay with the children, we will close her up." As soon as I got up, I heard the doctor say "Well that's weird. It explains everything."

Something happened to me that day. Something in my brain. Maybe it's because in less than a year everything had changed so drastically in my life. Maybe, I had to do some growing up and become responsible like never before. Maybe it's because my wife was born with a rare condition that made it nearly impossible to conceive children, yet there they were. My brain shutdown, and rebooted in emergency mode.

Diallo Twins

The Diallo Twins

I had two beautiful boys born way too early living in the Newborn Intensive Care Unit and a wife facing a difficult recovery period. In the 6 weeks they spent in the hospital, I wrote once or twice. The drive wasn't there anymore. Then there was work, and fatherhood. Writing was no longer in my radar.

The year 2020


Here, 2020 happened


In January 2021, I found myself sitting in an office a block away from the beach. I was driven here by my wife and two children who were happy to have daddy home all day everyday. Our small apartment did not have room for a personal office, and I doubt it would have made a difference to the two-year-olds either way. Office time was the only time I could have to myself.

It's only recently that I learned that Ray Bradbury sat right here in Venice Beach, typing away at his novels. Although there are some key differences if I may compare myself to him if only for a paragraph. Unlike him, I was not writing an action packed sci fi story (Fahrenheit 451) that will become a timeless classic. Second, It cost me more than $9.80 to rent an office in modern day Venice Beach, a block from the beach. Third, I do not have a typewriter. Instead I have a machine more powerful than all those that were used to send men to the moon. In my opinion, it is very distracting.

So the question remains. What do you do when you are done telling a story? The answer is self evident.

"You publish it."

I didn't know the first thing about publishing. At some point I'm supposed to contact a publisher, or an editor. But that means sending the book to someone and waiting for their approval. If there is one thing I have learned from blogging, it's that I don't have to ask anyone's opinion to publish anything. For the most part, no one reads it anyway. So I took the route of self publishing.

In the span of 7 years since I first had interest in writing, the landscape has shifted. Publishing became easy. Everyone wants you to publish your book on their platform. I was reading and clicking buttons and accidentally linked my Amazon account to a Kindle Direct Publishing account. It's that easy. The challenge came when I had to format the book so it could be uploaded on different platforms. To publish on Kindle or most digital readers, the standard format is epub.

Epub is probably one of the most annoying formats ever created. I spent a whole day reading through the W3C epub 3 specifications before giving up. At the end of the day, epubs are just zip files with a few xhtml files in them. So I bought a book that I really wanted to read in Epub format and reverse engineered it. Of course the W3C epub validator always rejected mine.

I figured I would have to spend an important amount of time trying to work my book into shape to fit this format. So I did the next best thing. I published my book Provolone on the web. Directly on my blog. For free. Mission accomplished.

The reason I posted a version on the web for free was simple. I have a hard time reading an entire book online. Most of the time, if the story is really intriguing, I buy the physical copy instead. But reading my book on my blog was exceptionally bad. There was no design or appeal. I figured most people would give up after the table of content. So I tried to add a little bit of interactivity.

I did 3 things. I added an animated title screen because I have to make an entrance. I improved the style of the page to make it less straining to look at. Then I added audio narration. Not a full narration of the book, just for the places where a character is speaking. I figured it was a good way to get the reader engaged with the story. I sent a link to a couple people and they may have enjoyed this feature more than the book itself. So I added Audio book to my to-do list.

Provolone book online

I had been staring at this book and editing it for 7 years, yet the second it was online, I noticed dozens of grammatical mistakes. I fixed them, then republished. Checked the page on my phone, found more errors and some UI quirks. Fixed and republished. That's when I realized that I now had two different versions of the story. The one online with the many fixes, and the original txt files on my computer. If I had to build an epub version, I'd have to maintain that version too. Then there would also be a PDF version. It would easily get out of hand if I had to keep them all up to date. So I decided to automate the whole thing.

I wrote a PHP script that uses the txt files synchronized with Dropbox as the source. When they are updated, the script generates the blog, and the epub versions. After an annoyingly long time, I fixed all the quirks of my epub version and the w3c validator accepted it. To this day, I was not able to find a fully functional PDF generator. Every single one I tested added some artifacts that broke the layout after some number of pages. Instead I generate an ODT file dynamically then convert it to a PDF manually in LibreOffice.

Of course I found out along the way that Amazon doesn't actually accept epubs. The file has to be converted to a Kindle Preview File or KPF format. For that you have to download a 333MB program called Kindle Previewer and use it to convert your epub to kpf.

In order to publish a kindle book on Amazon, you upload the KPF file, upload the cover image, and wait for a 24 hour review. That's it! Amazon also provides a paperback print-on-demand option. It takes some formatting, a high quality PDF, and an ISBN.

provolone on amazon

An ISBN is that number you see printed in the back of a book. It's 13 digits and if you'd like to buy one, it costs $125. Without it, a distributor like Amazon cannot sell your book. It's a good way to track which book the customers are looking for. And for the company that sells this number, the reason they sell it so high is, it's a good number. No seriously. Look at their website, they keep telling you how good and important those numbers are. It's a complete scam, but there is nothing we can do about it. If you buy 10 numbers, they give you a discount. It only costs $295. Complete scam!

Because I don't want to be tied to Amazon, I did the exact same process with Barnes and Noble. It does take much longer for them to approve the files. I published on Apple Books, probably the worst experience of them all. If you are like me and don't use a Mac, I'm sorry but you will suffer for it. I published on Google Play and Google Books, surprisingly slow approval process.

While waiting for all these platforms to approve me, I recorded an Audio version of the book. This was the most time consuming part of the whole process. Turns out, I cannot read, I cannot pronounce words, I cannot speak. Geez, is that how I sound like? Why didn’t anyone say anything?

Ibrahim recording studio

Pretty bad echo from the glass.

It's also a fantastic way to find which part of the book makes no sense at all. Recording forced me to go back to the text version and reword some sentences. This meant re-uploading the book on every platform and waiting to get re-approved. I also had to create a publishing company. I couldn't come up with a name so I went for an anagram of my name. Arab Idiom Hill. It does sound like an old established publishing company, doesn't it?

When I finished recording, I created an ACX account to upload the book on Audible. Their automated system rejected every single file I uploaded. I spent weeks re-recording and re-editing every single section. The system has finally approved me. Now I just have to wait for the manual approval which may take 30 business days according to them. I am still waiting.

Oh, right. I’m a published author now.

What's next?

We all know how the story ends. The bad guys are defeated, the prince saves the maiden, and the book is published. That's how I have defined the success of this book. Publishing is the end goal. Then I live happily ever after. But the world judges the success of a book differently. What is a book on a shelf that has never been read? More specifically, what is a book that doesn't sell? It is merely processed wood.

I'd like to believe that there is more to a book than its sales numbers. I read The Alchemist 30 years too late. It was sitting right there in my apartment for a decade, and I didn't even bother dusting it. Yet, reading it sparked my enthusiasm for writing. Maybe my book can reach someone. Maybe they will buy it, and ignore it for a decade, only to rediscover it and read it in one sitting. Maybe it will be there at the right place, at the right time.

If I hope to reach that person, I'd have to do the thing I dread the most: Marketing.

The reality is much simpler than our scary imagination. Marketing is analogous to telling people about something you made. Look at this post. I told you that I wrote a book, then told you about my journey that led me to publishing it. If you find it interesting, you may buy the book. All it cost me was the time I took to write this post.

In a more practical matter, here are a few things I am doing:

The rest will be posting links to the book where relevant.

Link to the book.

This is it for this post. It's the end. I published a book. I have saved the princess. We are married with two children. It took all of 7 years, but a couple of people have bought the book already. Thanks mom and aunty.

I'm in the office again. Alone. I'm writing again.


There are no comments added yet.

Let's hear your thoughts

For my eyes only