I recently have been working improving my ability to quickly prototype projects from the ground up. I feel like in my day to day work I am frequently working on very large established systems. Where slow steady progress and refactoring are king. Working on smaller apps to try out new ideas and development methods can be a fun and educational habit. I built this app initially very quickly to solve a problem of my own. I have then expanded it a bit to build out out a app that might be useful for some to some other people.
The result is a tiny app, Blog2Ebook
Blog2Ebook supports importing from 3 different formats to make a Kindle book:
You might be thinking there are tons of solutions for this. Like Readability and Amazon’s send to Kindle. True but each seem to have some problems and is missing something I want.
So I built a little app and learned a ton about eBook formatting, publishing, and various eBook formats. I think I might want to self publish something in the future and this has prepared me with some knowledge of the self publishing problems and process.
Supporting very simple eBook publishing of a full blog with all content is the primary goal of the project. The other features are secondary and basically around because they were easy to add on and solved some problems. At this point I am starting to look a bit more into how to best format the content and embed related content into the books.
You can find the project Blog2Book, convert an RSS feed to Kindle eBook, hosted on Heroku.
The source code is available on github, as Blog2Ebook is open source
If you have thoughts, problems, or ideas send feedback to issues for the project.
I will likely post a bit more about the development process and specific examples of tech usage in another post, but I wanted to provide some details on the tech supporting the project.
Because this is using the free tier of some of the supporting services, I limited daily usage of the app to below the free tier limits. So please be kind to the service, if it starts to run out of capacity I will take a look at expanding it out.