For a long time, I have wanted to write a book. As part of my experience teaching kids to code at MVCode, I realized that it’s not enough to put the tools in the hands of kids and let them go. You have to inspire them. I have written many articles on the value of coding, and why its important.

But these kinds of articles are not for kids. They are for their parents. I wanted to write a story that inspires kids, and gets them excited about how coding can change the world.

Magicode - Coding can change the world

So, I am writing a Young Adult Science Fiction book, called Magicode. It is going to be about a teenage girl who uses the power of coding to change the world.

You can check out my progress at

First Time Writer

From my research online, it seems that the path of a first-time writer looks like:

  • Create a concept, and pitch that to an agent or publisher
  • If you are lucky, you will win a very small contract.
  • More likely, be ignored
  • Write the book anyway, and try and pitch again
  • Get ignored, again
  • Self publish via Amazon or a few other websites
  • Spam your friends and co-workers on social media
  • Buy some ads and try to sell the book locally
  • Try again, pitch your next book….

Publish Online First

I am mostly interested in getting people to read and interact with my writing.

So, instead of the write-first-publish-later path, I am going to publish each chapter as I write it online, on a dedicated website. It’ll be available for free, with no sign in, or anything. I’ll set up a few social media channels to announce new content, and also make it a place for people who want to interact with me or the story.

The downside of this path is that I am forgoing a lot of editing and rewriting, which is important for a traditional book.

However, instead, I am going to edit during or after. So, I may put a chapter out, and decide later that it’s no longer part of the main story. Because it’s online, there’s not really a problem. Existing readers may be frustrated that the story has changed underneath them. But, my hope is that they will also get more engaged, and give more feedback, since I will be modifying the story based on feedback from readers, as much as it is based on my own ideas.

Web App

Rather than being a static website, I’ve set it up as a Rails app, and published it on heroku. This will let me add features that make the story more interesting. For now, though, it’s very simply 3 tables in a postgres database. Kind of overkill for a simple story, but I believe that keeping things organized is important to writing a good narrative.

Stay Updated

Follow our Twitter account @magicode_world to get updated whenever a new chapter is released.

Find a problem or mistake? File a bug or better yet, submit a pull request
Copyright © 2010 - 2022 - Doug Tarr