5 ms·
Re-post as suggested by a moderator due to problem with account and post visibility. I'm Gerardo, a web developer based in Puerto Rico. Full Help is a self-ho
by fullhelp 7y ago
Re-post as suggested by a moderator due to problem with account and post visibility.
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!
- vbsteven 7y agoVery Nice! Congrats on launching. I'm definitely checking this out soon for support in my freelance gigs. I like the pricing model, I'm intending to do something similar with my next product. Selfhosted, pay once, use forever, optionally renew after 1 year for updates. I wish more software was like this. Only I'm also adding a SaaS option for people that don't want to bother with hosting. You seem to have written the licensing/checkout/renewal yourself. How much time did you spend on it? I'm working on solving exactly this problem with my product and I would love to have a chat about your experience/problems regarding this.
- fullhelp 7y agoThank you! It's a good pricing model which benefits both ends. A SaaS option for people that don't want to bother with technical stuff is a good idea. I've created the checkout/licensing and renewal myself because of the flexibility and not depending on other external companies. The licensing system is quite simple, the software doesn't ask for license verification at the moment. The system will allow the downloads based on the license the user selects. The license system is integrated with BitBucket. On each release BitBucket sends a POST request to a secure endpoint with a prepared ZIP file containing the app files. On each release, a new entry is created on the licensing system indicating the version and other details. Licenses are tied to the major release version number (e.g., "1" in v1.2.0). When v2.0.0 is released, new licenses are tied to the v2. Users will only have access to minor and patches releases until a renewal is made. That's a brief description of how the system works. For the checkout, I've created two Laravel packages (currently private) for sale statements (quotes, orders, invoices, etc) and another package for the affiliate program. I'll be releasing them with MIT license on GitHub. Sure! Feel free to send me a PM on Twitter @gerardojbaez or an email to g[at]gerardobaez.com. I'll be happy to help.
- arcdigital 7y agoI see you even built in a coupon system. Any chance you have a coupon for us on HN? :)
- 7y ago