Documatt 1.0 released. Finale or startline?#

🎉 Documatt is finally here 🎉. For everyone, not just our friends and fellow tech writers. After 12+ months of development and 6 months of closed beta, you can now author in Markdown/reStructuredText and host your next documentation with us.

Story behind#

My name is Libor, and I am the guy behind Documatt. Two three years ago I was dreaming, but a year ago I stopped. Throughout my career as a tech writer I missed a tool that is made for tech writers. When I quit my last “regular” job as tech writer it was an opportunity. I had an idea, I had some money, I had time, and I was lucky to have friends to help me.

I’ve been working in IT for over 20 years as a programmer, architect, or analyst, and I’ve always liked to write documentation. Over the time, I met and used many different tools and approaches to tech writing. I slowly find out that for every project and every company, most of the tools and preps before the actual writing are repeated. Creating an environment for writing professional documentation can be challenging. It requires knowledge of the command line, version control systems like Git, text editors, web development, scripting of many repetitive actions, etc.

This led me to create a tool for writing documentation or books which hides all the complexity and offers authors an easy user interface for writing. A text editor, preview, hosting, you can name it.

Tech stack#

Documatt is a classic REST API backend with SPA web application.

Sphinx, the warm heart#

The Sphinx is an absolute game-changer for technical documentation. It’s like a documentation superhero, effortlessly transforming your plain text files into stunning websites, PDFs, and even ebooks! Sphinx lets you write with ease using reStructuredText or Markdown, and then builds beautiful docs with cross-referencing and syntax highlighting – making it a breeze to navigate and understand. Plus, it’s incredibly versatile, supporting a vast array of extensions for even more powerful features. You won’t find a better tool to create clear, well-organized, and professional documentation!

The Sphinx is our heart. Documatt is like a hosted Sphinx installation. We are adding a web GUI with text editor, preview, building and website hosting of builded projects. My biggest thanks belongs to Sphinx and its community.

I have been using Sphinx since the early 2010s. Besides the tens of documentations I wrote in Sphinx, I also developed a few Sphinx themes, extensions like sphinx-reredirects, blog posts, and reStructuredText and Sphinx reference.

Falcon Framework#

For the backend we used Falcon Framework, one of the fastest REST API frameworks for Python. It’s not as famous as others like Flask or FastAPI. And it’s sad because it’s just awesome, pleasure and I can highly recommend it. I would like to thank its main creators Kurt Griffiths and Vytautas Liuolia.

Vue.js and PrimeVue#

We developed a frontend in Vue.js. It’s also a bit overlooked because of its older brothers React and Angular, but it beat them in its progressive approach. Small things like hiding/enabling/effects/whatever-you-used-jQuery-before are easy. But there is an arsenal at your disposal like router, state management (Pinia) and UI components libraries.

In particular, I wish to highlight PrimeVue, an UI library led by Cagatay Civici. It’s actively developed, well documented, supported, easily customizable and very innovative. Last year, this team pushed this library from “it’s good but like many others” to “wow, it’s the best UI lib out there”.

Kinde auth#

When you sign-up, sign-in, or lose your password, you are actually served by the Kinde, a sweet authentication cloud service. In its core it’s a standard OAuth server which you don’t have to administer yourself. Despite it not having any Vue.js and Falcon Framework integration, it was a breeze to implement it. I love everything about this small company. Their clean company style, great product and I have never ever met more helpful support staff like on their Slack.

Mistakes I did#

Backend is 30%#

Backend and APIs are simple. For a request, you receive a JSON response. Okay, you have async I/O, WebSockets, HTTP 2, Kubernetes, … But it’s something you fully control. With time and resources, the outcome is a well-performing API.

Frontend is 50%#

I totally underestimate frontend development. Before I was mainly a backend developer with experience with desktop GUIs and classic request-response websites like all did a decade ago. Therefore, I planned the backend and frontend 50-50.

Today frontend can do amazing things. We started developing our first web app 2 years ago with Vue.js 2, JavaScript, Webpack, Flexbox, and Bootstrap. None of them are almost the thing now. I am complaining because Vue.js 3 and Composition API, TypeScript, Vite, Grids and Tailwind are way better and I love them. Frontend is getting more complex every few months. You just have to count it.

Bureaucracy is 20%#

We are a Czechia-based company. I had no previous experience with running a company nor in Czech or elsewhere. It’s easy to do a business if you buy/sell within the same EU country. Going global is so hard. Taxes, customs, and regulations within the EU are worse and more complex than trading outside EU countries. Literally, I spent ~3 months just setting things up with government authorities, tax advisors, accountants, banks etc. At one moment, I was even considering leaving the EU area.


comments powered by Disqus