A screenshot of a table of contents and cover image, with buttons like remove cover image, add author, and other controls.
The Table of Contents editor.

Bookish.press: a place to write and publish web-based books

Amy J. Ko
Bits and Behavior
Published in
5 min readFeb 20


Growing up, I had a fraught relationship with books. I read them, but mostly because school forced me to. And although I occasionally enjoyed some fiction, I was so much more interested in video games, illustration, and daydreaming that I could never really sit down and enjoy a book. I still feel guilty about never making it out of the shire in The Hobbit — there were just so many words!

Writing a book, therefore, seemed unimaginable. And yet, here I am, at 42, having written several. What changed was my junior year English teacher. I will never forget when he pulled me aside after I got a B- on our first big essay and he said, “You are not yet a great writer. But you could be. Do you want to try?” No one had ever expressed any sort praise, even hypothetical, for my writing, and so I sheepishly said yes. For the rest of that year, he would let me write, rewrite, and improve my writing until he thought it good. And when he felt like I could do that, he encouraged me to figure out what I thought was good, and then just never stop writing.

And after that year, I never did. Throughout college, I fell in love with books, and with writing. I had a wonderful research mentor, Margaret Burnett, who taught me that research requires a lot of skills, but great writing most of all. And so over time, I acclimated to writing a few hundred words, then a few thousand, then ten thousand, without feeling that sense of dread from an empty page. And I came to like my writing, and have a clear sense of when I didn’t and why.

I wrote my first book as an adaption of several lecture I’d developed about design methods. It wasn’t long, just 10 chapters and a little over 30,000 words. But that sense of having created something that was more than a just single argument or discovery, but rather a whole collection, was incredibly rewarding. And so I kept going, writing books for all of the other topics I teach, until I had a whole collection of books. I’m most proud of my most recent, Critically Conscious Computing, which might be over 100,000 words, synthesizing a vast collection of research, insights, and ideas about critical computer science teaching.

As part of all of this writing, it struck me how hard it was to self publish my writing. I started by creating simple HTML pages. I explored the many platforms on the web for doing it, like the open source PubPub, Amazon’s Kindle direct publishing platform, and Runestone. While they all did something interesting, there were three things I struggled to find:

  • Simplicity. All of the platforms require a surprising amount of technical knowledge to use, whether knowing file systems, knowledge of meta data, obscure details about publishing formats, or uploading documents for publishing. And there are so many errors to understand! I’m fine with all of these technical details, but they do get in the way of writing. I wished there was something like a Google Docs for books, where you just go to a web page, write, and share, with no hassle of tooling, and a clean what-you-see-is-what-you-get interface.
  • Beauty. I’m so fond of all of the interesting work communities have done to enable self-publishing, but I must say that I’m not fond of it’s typography. So many of these platforms, open source and for profit, are just ugly, often making user interface structure more salient than words, and giving so little respect to the importance of type in the reading experience. I wished there was something that produced beautiful books, that was also beautiful itself.
  • Accessibility. Few of the platforms I found aimed for any sort of web accessibility. Many aren’t accessible to screen readers at all, and many have accessibility issues that prevent people with some disabilities from writing at all. For me, this is a deal breaker; I wished for a platform where accessibility was a first class goal, and an ongoing project.

And so back in 2020 at the height of pandemic lockdown, I decided to try to make something that addressed the three gaps above. I started with something for simply rendering books. And then about a year ago, I started working on an authoring tool, trying to make an simple but powerful editor. Since I had a full time job that didn’t involve building a book publishing platform, I mostly stole a few hours each weekend to work on it, and used it as an excuse to learn TypeScript, Firebase, and Sveltekit.

And so today, I’m proud to announce the (beta!) version of Bookish.press. It’s place were you can:

  • Create a book, write its chapters, and adorn it with images, video, citations, footnotes, glossary entries, tables, quotes, and more. It’s also possible to have many editions of a book, embracing books as living documents that evolve in response to community feedback.
  • Add co-authors who can help you write and control permissions at the chapter, edition, and book level.
  • Publish the book at a bookish.press/[yourbookhere] URL for easy sharing.

As a beta, there are still many bugs and a few crucial features, like exports, so you can easily take your writing elsewhere. It also needs more sophisticated support for collaboration. I’ll be working on these over the coming months in my spare time, inching toward removing that beta label. I released it now in case you want to help or want to try the platform and share your feedback. And of course, because it’s a beta, use at your own risk: I can’t (yet) promise that everything works as intended.

And there are many things outside of development to figure out. Books are free to read for now and will always be free to write, but if people use this to publish at scale, eventually I’ll have bandwidth costs I can’t handle. I’m excited to hear your ideas for creative ways that we might keep books readable to everyone while covering these costs. But I suspect I have time: I don’t anticipate an overwhelming rush of people wanting to use this to write. So we will grow it over time, together.

Lastly, I’m excited to get the site to a place where I can use it myself. Even if I’m the only writer who uses the platform, I’ve already found it to be far more pleasant way to write and structure a book than in a disorganized collection of Word or Google Docs, in a rigid GitHub repository, or in some closed platform that’s primarily about taking it’s cut of your revenue. I’m excited to port over my existing books and make revisions in a simple, beautiful, and accessible editor. Maybe you will be too!



Amy J. Ko
Bits and Behavior

Professor of programming + learning + design + justice at the University of Washington Information School. Trans; she/her. #BlackLivesMatter.