Building something new is really hard; let's not sugarcoat it. When I set out to create the LocalDeck, I knew I was diving into a challenging project, but nothing could have fully prepared me for the rollercoaster ride that followed. From the initial concept to the final product, this journey has been filled with moments of frustration, discovery, and ultimately, pride. Today, I want to take you through that journey, sharing the ups and downs of bringing LocalDeck to life.
The Spark of an Idea
Every great product starts with an idea, but coming up with something truly innovative is no easy feat. Most new products are simply iterations of existing one. Dating apps for example are just another form of texting but for strangers, or Slack as a glorified office chat. With LocalDeck, I wanted to create something that wasn't just another variation but a tool that genuinely addressed a need in the smart home space.
I've been working with smart home technologies for a while now and have seen various methods for controlling home automation systems. Zigbee buttons, for instance, have become quite popular, with some offering multiple buttons for different actions. But I wanted more, a customizable keypad that could seamlessly integrate with home automation systems, providing users with a powerful, versatile control device.
Drawing inspiration from various sources, including the multi-button Zigbee controllers, efficient keyboard setups used by tech enthusiasts, and of course, the popular Stream Deck, I began to envision what LocalDeck could be. A Wi-Fi-based product with plenty of buttons, RGB lighting (because who doesn't love that?), and an open-source software stack seemed like the perfect combination.
From Concept to Design: The Real Work Begins
Once the concept was clear, the real work began. Typically, product design starts from the outside in, focusing first on the aesthetics and then on the functionality. But I did things a little differently with LocalDeck. Instead of starting with the enclosure, I jumped straight into designing the PCB (Printed Circuit Board). Part of this decision was driven by practicality, I was on a summer holiday and had limited resources, but designing a PCB was something I could work on easily.
Of course, nothing ever works perfectly the first time. The first PCB design had its issues, none of the LEDs were correctly oriented, and several strapping pins for the ESP32 were missing. But as with any iterative process, each failure brought me closer to success. After a few revisions, I had a working PCB that could boot up and run basic software.
The enclosure design proved to be another challenge. Luckily, I had some friends with expertise in engineering and product design who were willing to help out in exchange for food, a small price to pay for valuable advice. We eventually settled on a design that could be produced using various methods, including 3D printing and injection molding.
Tackling the Software: Finding the Right Fit
On the software side, we initially considered Tasmota, which had served us well for other products like the Local Light Smart Plug. However, Tasmota's flexibility, while a strength, also posed a challenge for a device like LocalDeck that required a more tailored approach. Instead, we turned to ESPHome, which allowed for a more customized configuration process.
Originally, the configuration tool for LocalDeck was a simple web-based application that generated a YAML file. But after receiving feedback from early users, who I affectionately refer to as the "crack commando unit", we shifted to a more integrated solution: a Home Assistant add-on. This made the configuration process smoother and allowed users to easily revisit and modify their settings.
The Reality of Production: From Prototype to Product
With the design and software in place, it was time to bring LocalDeck into the real world. We aimed for a two-month launch window, believing this would give us enough time to handle production. But reality had other plans. Ordering components in bulk is vastly different from creating a few prototypes. We quickly ran into supply chain issues, missing USB ports, out-of-stock LEDs, and unavailable hot-swap sockets delayed our production by weeks.
Just when we thought things couldn't get more complicated, human error struck. A simple mistake, misorienting the LEDs, turned what should have been a straightforward assembly process into a time-consuming ordeal. Instead of a quick, efficient production line, we were stuck spending up to 10 minutes on each unit to fix the error.
This experience underscored an important lesson: the more you can automate, the better. Human error is inevitable, but by refining our processes and reducing manual steps, we can minimize its impact.
Looking Ahead: Where We Go From Here
As I sit here, surrounded by 240 LocalDeck units with 60 left to assemble, I can't help but reflect on how far we've come. The LocalDeck is still maturing, we're continuously refining the software, fixing upstream issues with ESPHome, and making hardware adjustments to improve resilience and functionality.
Our goal is to ensure that when you order a LocalDeck, you receive it promptly, with the confidence that it will serve you reliably. Whether you're setting it up for personal use or deploying it to assist an elderly relative with home automation, the LocalDeck needs to be a robust, dependable tool.
Final Thoughts: No Regrets, Only Growth
So, do I regret the countless hours, the frustrations, and the setbacks? Yes Not at all. This journey has been an incredible learning experience. Two years ago, I couldn't have imagined myself releasing a physical product, my expertise was in web development, not hardware. And yet, here I am, proud of what we've achieved with the LocalDeck.
If there's one thing I've learned, it's that creating something new is always worth it, even when it's hard. If you have an idea, something you want to see in the world, I encourage you to go for it. Build it. It might not work perfectly the first time, and that's okay. Each failure is a step towards success, a chance to learn and grow.
The sooner you make something, the sooner you can start improving it, and improving yourself in the process. So get out there, create, and don't be afraid of the challenges that come your way. Because at the end of the day, those challenges are what make the journey worthwhile.