A static site generator, Doxti and a personal project.A static site generator, doxti and a personal project. Are you getting it? these are not 3 separate things. This is one thing. For the record, this is officially the first post I am writing in Doxti , and will generate with doxti to publish to my site manually after.
Yes, I am using my own product to write this post. Cool heh? I will use it from now on as it is usable, will find bugs, listen to the other users, come up with features, continuously evolve it.
A couple of years ago, a friend of mine told me about how static site generators are exploding and that there is a specific site generator that is crazy fast and very useful . He told me it was the future and he came up with an idea about how a UI for it, might be amazing. I was looking for a project to do and as he was trying to be a good friend and help, he laid out this idea and handed it to me.
So I did what any developer when given an awesome idea would do… I started poking holes in it and started to develop excuses to why I cannot do it. And yes, I waited for 6 months before coming back to it and resuming the denial process. That continued for about 1.5 more years and I have transformed from a wordpress developer to a React developer with a dash of nodejs on the side.
After convincing myself that there was not going to be a better product/service/project idea, Once I had the comfort of react and node under my belt, It was all clear to me exactly how and why I would do it. I started developing a plan, how I would build it, who the project is for, why I would do it like I wanted to do it, eventually how I would create a whole ecosystem around it.
Yes, understanding react as a library and all the components I have available, + nodeJs as a server, I began creating a sketch of a HTML skeleton that would later be the dashboard of the application.
You are not alone
Even though I started alone, after a short while, I had help.Having a helping hand in coding can make all the difference most of the time, any help is welcomed, even advice (people are full of that but some advice from certain people is actually good).
My girlfriend was starting to learn React and Node too and this project was a perfect opportunity for her to learn and I would have an extra hand in the project. Since I was working full time I was not able to work at all at the project and when she had some downtime between jobs, she was able to focus 100% on it and helped immensely.
Doxti started out as a self hosted project. It was supposed to be hosted on the computer of the user and everything would be under his/her control. That would mean I had to make sure that git and hugo where installed and it was easy for the user to install, the server code had to be perfect on any platform (wanted to make it for linux, windows and osx). While cross platform was not impossible (even though there where some challenges at first), everything was eventually starting to work. However, a “wordpress.org” package was not that easy to build and maintain, especially with the code all out in the open for developers to find holes in and break.
The question I asked myself was, “how is it better for the user?”. After thinking a bit and asking myself what does the user ultimately want, I came to the conclusion that I want to give access to Doxti to as many people as I could. I didn’t want to exclude the non-techies, and I realised that the end result was the staticly generated site that was going to be done either way. So I pivoted the project to a service, instead of a self hosted solution.
So, what is Doxti ?
Like the original idea, it’s a UI that works with Hugo. But it’s more than that, it’s a service that allows you to create, manage and build static websites with Hugo. It’s a custom CMS for creating sites that will eventually evolve into a documentation generator with custom themes and who knows…? We’ll see.