HostiFi is a cloud hosting service for Ubiquiti software which, as of today, is managing 660 UniFi and UNMS servers for 599 subscribers and generating $12.5K in monthly recurring revenue. I built it by myself originally and worked alone until recently when I hired Safwan Shaikh as our first employee to join as a Technical Support Engineer. We work 100% remotely and have not met in person yet, but talk on a daily basis over Slack primarily. Safwan lives in Mumbai, India and I live in Michigan, USA. We work together each week on the same schedule which is Monday through Friday, 9am-5pm EST, or 6:30pm-2:30am IST.
Growing from solo founder to +1 employee was quite an undertaking of its own, and I wrote a blog post about that recently as well, it really effected how I had to think about every aspect of the business.
In the beginning, as far as collaboration, there wasn’t any really because it was just me and the customers. Things were simple.
My (lack of) collaboration stack as a solo founder
- Email: Self-hosted. I was typically doing support from my personal address firstname.lastname@example.org
- Phone: Personal cell. I listed my personal cell phone number on the website, and customers called or texted me there. This became a problem a few times when I received a bill for expensive international minutes
- Internal KB: Inkdrop. I would write down some of my internal processes in Inkdrop, my personal note-taking app which synced between my iPhone and Windows laptop, but most of the time I just worked through support ticket solutions from memory
- Password Management: KeePass. I used it on Windows 10, and synced to my iPhone over a 2FA Dropbox account storing the encrypted password database file
- Live Chat: Hubspot free
- SSH: mRemoteNG. It’s an open-source SSH client that supports tabs. It lacked phone apps and synchronization features
- HR/Payroll: None. I would just transfer money from the business to my personal account once in a while
When the team expanded from 1 to 2 people, it made all of those systems inadequate. Literally everything had to be changed.
It took a few months to make the transition, but today we’ve got some solid systems in place.
Collaboration stack as a 100% remote team of 2
- Email: GSuite. We rarely use our personal email addresses for communication. Everything inbound from customers goes to our shared Intercom Inbox at email@example.com, and internally we communicate on Slack pretty much exclusively
- Phone: 8x8 X Series X2. Some who know me might be surprised I chose a VoIP vendor instead of rolling my own FreePBX or FusionPBX server with a SIP Trunk to Twilio because I’m a big VoIP enthusiast. I chose 8x8 because I am trying to spend more time working on the business instead of in it, and this is one less thing for me to have to build and maintain. It was also important for us to have great phone and desktop apps since we are only using softphones — no desk phones. Now instead of using my personal cell, our business number is toll-free: +1 (888) 566–1402. The international minutes are cheap. We have a ring group, so when a call comes in it rings us both simultaneously. Our number also supports SMS! It was easy to set up but did require a custom quote sales process and contract which was a bit annoying. They have an Express product that is fully self-service and contractless, but the features were too limited for us. I also tried Line2 but the features and apps there were missing features we needed as well
- Internal KB: Notion. We are documenting internal processes and creating standard operating procedures for everything we do, saving it to Notion to remind ourselves later and we can share guides on how to do things. We also use Zoom to do screen recordings and save them in Notion as well
- Password Management: 1Password Teams. We each have a 1Password account that securely stores passwords, and syncs them between devices. We are serious about security here so we use different long random passwords for each account as well as 2FA
- Live Chat / Team Support Email Inbox / External KB: Intercom. Intercom has been a massive improvement over doing support from my email inbox and Hubspot. Now email and live chats go to one shared dashboard where we can track requests, assign them to team members, make internal notes on a ticket, and make use of sharing saved replies and external KB articles easily
- SSH: Termius. I love Termius, it is a massive improvement from mRemoteNG. We’re managing over 600 Linux servers here so we spend a lot of our time inside SSH terminals every day. Termius is super well designed and syncs to our iPhone apps which is also amazing to work from. On a side note, we recently deployed Duo for 2FA for all of our SSH accounts
- HR/Payroll: Remote Team. We now have an HR and Payroll system! Each month I pay Safwan via the Remote Team Transferwise integration which does currency conversion from USD to INR and wire transfers straight into his bank account for only a few dollars fee per transfer. I still transfer money directly between my accounts on payday but now it is a consistent amount and tracked in Remote Team. Safwan is also now able to submit receipts for reimbursement, and time-off requests
- Internal IM: Slack. We DM on the MSP Story Slack channel as our primary internal communication tool. We rarely talk on the phone except to do an occasional screen share on Zoom to work through something
- Screenshare / Screen recording: Zoom. We use Zoom both internally, to help each other through something via screen share, and externally, to help our customers. I also use Zoom with Calendly integration for HostiFi demos. You can book me here: https://calendly.com/reillychase/30min and it automatically creates a Zoom meeting invite for us
- Business Address: Regus. I purchased a virtual business address in Bloomfield Hills, Michigan, a few hours away from where I live, to serve as HostiFi’s HQ address. Any mail sent there is forwarded to me. I’ll probably never visit the address, but having it helped us meet some legal and compliance requirements as we worked through GDPR and other paperwork with the help of https://termly.io/
Now that we’ve got this stack in place, and have been developing all kinds of internal processes, it’s going to be much easier to add another 100% remote support engineer as we grow.
Safwan still has the capacity to handle some more customer support on his own for now, so the next project I am looking at is hiring a software engineer. I’ll be looking for a Mid-Senior level Laravel developer who knows or can pick up some VueJS and Python easily. this person will most likely be living in Ukraine, Romania, or Poland, and will help me finish the new HostiFi website which is currently in development. Once done, we’ll work on some new products and features together as well. If things continue to grow we’ll hopefully have a small team of HostiFi developers and support engineers soon!
Moving from solo developer to development team of 2 will involve some big changes to my development stack, so I might make another blog post about that later on.
Some things I would have done differently
Now that I know how much work it was to transition from a solo founder mindset to a team mindset and collaboration stack, do I wish I had started out with the current setup instead? Not necessarily.
I think a big mistake many people make, myself included on previous startup attempts, is to start out trying to imitate a big company when you are really just one person. It’s a waste of time and money to set up the infrastructure to mimic a giant corporation — for example, a toll free number with 5 different call tree paths that all forward to your cell phone, the illusion of many international office locations by purchasing PO boxes in different cities, or expensive servers to run your website that has no traffic because you just started out.
Instead, I’ve found that transparency, being real with people about who you are, why you are doing what you are doing, how you are doing it, and what size your company really is at creates trust and establishes the right expectations. Most small business owners prefer working with other small business owners, they know they will typically receive better support at a small company and are more respectful of each other's time than when dealing with a giant corporation anyways.
One thing I would have done differently is to start using GSuite sooner because it is a huge improvement over self-hosted email and super cheap. I also wouldn’t use the support@ email address to create business-related accounts early on (use your personal or admin@ or something instead). Once I hired Safwan I realized I had to go and update all the accounts that I had created using the support@ address so that the password reset emails wouldn’t go into the team inbox for accounts that the support team doesn’t need to have access to.
I would also start off doing support exclusively from the support@ email address. It’s hard to untrain users from emailing your personal address instead of support. Same could be said about the support phone number, but that is a bit more expensive to start out with so I probably still would have used my personal cell for a while.