I'm Gerardo, a web developer based in Puerto Rico.
Full Help is a self-hosted help desk and multi-knowledge base software created for small businesses and freelancers.
The backstory:
I was using Help Scout and Zoho Desk before considering creating something like Full Help. Both services are excellent, the problem with Zoho Desk is that it is more focused on large businesses, with complex requirements.
I gave a try to Help Scout, and I was impressed. It was simple and perfect for companies of all sizes. My main issue with Help Scout was the pricing and the limitations of each plan, especially on the lower ones. It was expensive (and still is for me).
Another problem for me with Help Scout was the lack of customizability on the docs sites. The only way I was able to customize the look and feel of the knowledge base sites was through custom CSS and JavaScript. I wanted to get my hands dirty with my own HTML and site structure, but that wasn't possible at that moment (and still isn't I think).
I then started considering creating my own help desk, something small (yeah right); something that could give me the flexibility I wanted and at the same time, lower the costs.
I started working on a knowledge base management system in my free time that allowed me to create several knowledge base sites that I needed for multiple projects and products. I finished it in two months or so, can't remember exactly. It worked and got the job done.
I was using a regular email account for customer conversations and the knowledge base system for customer documentation, etc.
I was missing the integration I had between the knowledge base content and customer conversations. With Zoho Desk and Help Scout, I was able to quickly search the docs and insert a link into the email/chat message, along with other useful features. Also, I was considering selling it as a hosted service at that time, and for me, the knowledge base system alone wasn't enough for a commercial business app.
Then started the second stage, creating a "simple" communication management system. Something that could receive and send emails and could be integrated with the knowledge bases.
I started working on it by first designing a flexible and scalable database structure for the conversations feature. I wanted something that could allow the possibility of adding other conversations channels in the future.
The conversations section was finished, and everything was working as I initially wanted. It was receiving and sending emails (powered by Mailgun), and I had the integration between conversations and help content. Good!
Remember when I said, "something that could receive and send emails"? The other guys had live chats, something trendy these days. It wasn't smart to release a cloud help desk solution without live chat support, right? I added the live chat and while I was on it, developed a widget where customers could chat with support agents, and browse the knowledge base content from within the same widget, without leaving the main website.
But, wait! This is a cloud business solution, we need teams! I rolled a full team feature with role-based permissions and an invitation system. (currently, only "Account owner" role is present on the software; more roles coming soon!).
In conclusion, the small knowledge base system turned out into a big application with lots of useful features created to provide a full help desk software that's focused on small businesses and freelancers.
There are lots of other useful features planned, like more conversations channels, Single Sign-On, Integration with third-parties, and many more.
The software is a single page application. The UI is powered by a versioned Restful API. The API can be used for integrating the help desk with existing software, without hacking the core.
About the codebase:
It was developed with Laravel 5.7 using the Test Driven Development approach (Can't live without unit and integration tests!). The codebase follows today's standards. I'm a fan of thin controllers and thin models, so the logic is mostly split between service classes, presenters, and models (when necessary).
Anyone that understands the Laravel framework will be comfortable working with the code.
As I've mentioned before, my initial plans for Full Help was to launch a small cloud-based help desk service, mainly focused on Puerto Rico and other Latin countries. I decided to release it as a self-hosted solution because of the lack of good options along with the cloud space being crowded.
Regarding the distribution/sale method:
I opted to go with a custom made checkout system mainly because of the flexibility and better brand integration/control. There's also an affiliate program which is currently private, with plans on opening it to the public in the future.
The checkout requires an account registration (which some people don't like, unfortunately). This is for better license management (like renewals) and to give the user access to all his orders and invoices. I have plans on adding an app store (not anytime soon) where the user can purchase knowledge base themes and other extensions or services.
What are your thoughts, comments or suggestions? Any feedback regarding the software itself, landing page, pricing or anything is much appreciated.
Thanks for your time!