Freedom’s first software engineer is now the founder of his own company
It may come as no great surprise to know that we are quite a productive bunch here at Freedom. We do like to practice what we preach, after all! This means that we prioritize the things that matter to us – building a great product, providing an exceptional experience, and ensuring that we preserve time for rest and play, too! Those company values, combined with our fully remote workforce, have resulted in an exceptionally interesting team, full of multi-talented, creative, and super-productive people!
We are extremely proud of the small, but mighty Freedom Family, so we thought it was about time that we share the stories of some of our awesome employees!
Danny is one of the original founding fathers of Freedom! He joined as the company’s first Software Engineer and has been with us since the early days when there were just 3 people crammed into one small room. And oh, how we’ve grown – and so has Danny’s career! By day, he was helping to further Freedom’s mission and building the great product you know and love today, but by night, he was working on his very own passion project – Keebio.
Keebio designs and builds mechanical, split keyboards, which are hugely popular with those who spend their days typing, coding, or gaming, so Danny is still in the productivity game! Keebio has been so successful in fact that last year Danny transitioned full-time to his own company. But we weren’t going to let him go that easily – he still works for Freedom every Tuesday helping with product planning, and supporting our dev team with any technical queries.
He’s obviously a very busy man as you’ll gather from reading the Keebio blogs, so we were super excited to get the chance to chat with Danny about his years with Freedom, his entrepreneurial experiences, and learn more about mechanical keyboards.
How did you get into software engineering?
Back in middle school, I had to buy a graphing calculator (TI-82) for a class and learned that it could be programmed. After transferring some games for it from other classmates and looking through some of the code, I cracked open the manual for the calculator and worked through it to teach myself how to write my own programs. A year later, I won the opportunity to take a course for free at a local university, and I chose to take an introductory computer science course.
I ended up studying electrical engineering in college, but a lot of the coursework still involved programming, as I specialized in digital signal processing. After graduating, I spent about 10 years developing and implementing algorithms for working with wireless network signals, spending most of the time programming in C++, Python, and FORTRAN.
What inspired you to start Keebio and when did you realize it was becoming more than just a side hustle?
I had wanted to start my own company growing up, and since I had gotten really interested in mechanical keyboards and tweaking them, I decided to experiment with starting an e-commerce store. Initially, I went in expecting it to be a way to learn about running an online store and gain some experience to use in future business.
But early on, I quickly decided that I didn’t want to be selling keyboard modding components, so instead, I pivoted into designing my own boards. Due to the way I designed boards that made turnaround times shorter, I iterated through new designs quickly and released them frequently. I gained a pretty decent following of people who liked to build whatever I came up with.
There was steady growth in sales over time, and I think I realized that things were more than just a side hustle when I’d see hundreds of orders come in whenever I released a new revision of a product. If I could maintain that flow of customers by keeping products in stock and developing new ideas, then I’d be set.
What challenges did you have to overcome at the beginning of your journey?
When I first started hiring people to help out with packing, there was a lot of work involved in trying to transfer my knowledge to others who didn’t know anything about keyboards. I had to systemize various processes to make it easier for new people to learn how to do certain tasks like packing orders, labeling packages, and general operations. I spent a lot of time writing documents for these tasks and adding a bunch of screenshots/pictures.
Early on, there were a bunch of order fulfillment errors, as my employees had to know the name of every item, but I made improvements to the process like assigning short 3 letter codes to items for easier reference and organizing products on the shelves so that they aren’t easily confused with each other. These days, I’m still finding more ways to make operations smoother.
How did you organize your time in the beginning when you were still working full-time at Freedom?
For a long while, I was burning heaps of midnight oil. In the early days, after putting the kids to bed and cleaning up around the house, I’d start work on business stuff at 11 pm and work a few hours on whatever had to be done. Each night I’d rotate through different tasks, so one night would be customer service emails, another would be packing orders, and maybe another night would be dedicated to managing and ordering inventory. I actually wrote about what my day looked like back then.
What does an average day look like for you now?
The first thing I do when I get into the office at 8 am is check through customer service tickets to see if there are any order modifications or cancellations that need to be handled. After that, I print off the packing slips for all of the orders that need to be filled and hand that off. I then go back to the customer service queue and work through the tickets. On average, I usually handle about 10 tickets a day, which doesn’t sound like much, but the time adds up fairly quickly. Since a lot of questions are already handled by help documentation, a decent percentage of the emails tend to be technical in nature and require some investigation.
The rest of the day varies based on what my theme is for the day. I’ve got days of the week assigned for different things like operations, business (payroll, bookkeeping), design, and content generation. For instance, on design workdays, I’ll work through 3D modeling or PCB design. I’ll run off test prints on a 3D printer during the process to see how everything fits together.
On operations days, I’ll check inventory levels and reorder items as needed, as well as sort through incoming packages and decide what needs to be packed into kits.
Mid-afternoon, I hold a meeting with my team a couple of times a week for about 30-45 minutes to talk about the projects we’re working on. We spend some time coordinating product design work first, then talk about things like content generation like YouTube videos or emails.
At 3pm, I head out to go pick up the kids from school, and some of the time we go back to the office for a bit so I can finish up work for the day.
Can you explain some of the benefits of mechanical keyboards and how they can help people (especially coders) to work more efficiently?
In general, one of the reasons I prefer a mechanical keyboard is that they have a more consistent feel that lasts over time. At one place I used to work, I would cycle through one of those Dell or HP membrane keyboards every few months, because the rubber domes on those had worn out, causing a mushier feel. In contrast, by going with a mechanical keyboard, you can customize it to get the feel that you want, as you can select from a huge variety of switches that are clicky, tactile, or linear (I prefer a silent tactile switch), and you can also select a keycap profile that feels most comfortable. For something that you spend several hours a day using, you might as well make it feel and look the way you want it to be.
Additionally, most boards are reprogrammable, so you can move keys around to make certain ones more accessible. For example, I’ve set my keyboard up to change the right half to be a Numpad if I hold down the spacebar with my left thumb, meaning I don’t have to move my hand to type numbers. For programming, I’ve moved brackets/braces to the middle of the keyboard for quicker access. You can also set up a key to output a series of keystrokes with just one press, so I’ve got a key on my board that sends the keystroke combo to do a screenshot because I can never remember the 3-4 key combo required.
For my own boards, I prefer using a mechanical keyboard that is split, as that allows me to place my hands and arms apart in a more natural position. I’ve also got it angled up in the middle so my wrists aren’t rotated as much.
What does your own keyboard/desk setup currently look like and why?
I’m not going to sugarcoat things by cleaning up my desk neatly, as I always have a pile of parts on my desk. I test out keyboard parts very frequently, so I have an assortment of cables, screws, and other components sitting around. The keyboard that I have is a one-off piece that I designed for myself called the FFT, and I’ve got it angled into a position that I find to be more comfortable. I have a caliper at every desk since I’m always measuring objects. The desk also can be moved to a standing position and rolled around if I need to rearrange the workspace.
What has been the most challenging keyboard order that you have had?
So one service that I offer is assembly of pre-built keyboards, for people who don’t want to solder their own boards. Recently, I had one customer who wanted something low-profile, with the lightest switches possible due to his RSI issues, and it had to be lightweight for transport.
Since he was ordering two of the same keyboard, I decided to invest some time in designing a new case part to make it lightweight and low-profile. I iterated through a few designs with a series of 3D-printed test pieces until I settled on the final version.
Getting the switches was a bit of an adventure as well, as the lightest ones were out of stock. I tried contacting someone to get parts to make them but I never heard back. Luckily, I had an old stash of switches from a friend that we ended up using for the build.
What are some of the most important learnings from your time at Freedom that helped you in your new venture?
First of all, one of the reasons I joined Freedom as an early employee was to observe first-hand the start of a new business and what’s involved. I was previously working at a very large company, where I mainly just did technical work. But in coming to Freedom, I had to wear multiple hats, like taking part in customer service, being involved with product planning, and looking at analytics.
Another thing I’ve learned is to not make blind guesses about things and make informed decisions instead. Initially, one of my co-workers who was reviewing my code would frequently ask questions about why I was doing certain things, and if I gave a hand-wavy explanation, he’d push me to collect more data so I could back up my ideas. I may have been a bit annoyed by it at the beginning, but it has really helped improve my thought processes.
In terms of my business, I have to think to myself when I want to jump into a new project, “Does this make sense to do, and do I have the numbers to back it up, or am I just doing something on impulse?”
What is the best thing about working at Freedom?
One of the main things I like most about working at Freedom is the mission of helping people to get away from distractions so they can focus on what’s important to them, whether it be work, family, etc. I’ve worked on other products in my career, where sometimes, I didn’t believe in the product and questioned its purpose. But when Freedom came along on my radar, the mission really resonated with me and drew me in. It’s a great feeling to be able to see the impact that the app has on people, as I used to struggle with being distracted by social media and news as well.
The second thing I like is the people at Freedom. It’s been a very collaborative and friendly environment, and we’ve all worked together to build everything up. Whenever we run into any issues with the app, it’s been easy enough to hop on a call to solve the problem or figure out what needs to be investigated next. We’re also able to joke around a bit during our morning standup meetings, so we all get a bit of a look into each other’s lives, which keeps things lighthearted, despite the fact that most of us have never met in person before.
What would you recommend as a first step for someone who wants to start their own business?
Keebio wasn’t really my first endeavor into creating something, as I tried out a whole bunch of other things in the past, such as freelance software development, affiliate marketing, and Amazon FBA. While I wasn’t too successful at them ultimately, I learned a lot of skills from each thing I tried, and I was able to translate some of those skills over to starting Keebio.
So my main takeaway is to not be afraid of just trying and to experiment with new ideas. When I first started, I set aside $2,500 to buy some initial inventory and sell it as an experiment. My initial goal was to learn what it was like to run an online store. I didn’t set much of an expectation to be hugely successful, so I set some small profit goals, to begin with.