“Local by default. Private by design. Fast by necessity.”
I’m the founder of baseworks.tech. We are on a mission to solve a growing crisis in modern living: the loss of control over the spaces we inhabit. The promise of a "smart" home has been undermined by technological fragmentation and a high Total Cost of Ownership - not just in money, but in the dozens of hours we lose every year managing devices that don't talk to each other. At baseworks.tech, we believe in 100% ownership. We want to build a solution that combines the out-of-the-box ease of closed platforms with the total freedom of open-source, open-protocol systems. But building such an ecosystem isn't just about the hardware; it’s also about the invisible work happening backstage.
For y'all builders out there, today we’re sharing a bit of what building baseworks feels like behind the scenes.
It turns out that… it’s all about the tooling.
As you can imagine, building not just a product but an out-of-the-box ecosystem comes with challenges.
Primarily, there are many moving parts: from operating systems and file systems to services and hardware resources. The easiest way to think about it is as one big software bundle containing all of them: you copy it over, and it's ready. This is how we started, and it worked—for the first two weeks, at least.
As we added more functionality, processes that used to take minutes started taking tens of minutes for building, testing, and deploying. We had to break the system down into smaller, independently buildable and testable modules. We built tooling to selectively deploy these modules so we could test real-world scenarios - like installing a new air quality measurement device - without affecting unrelated modules already in place.
An installation process is a combination of manual and automated steps that takes the user through anywhere from a few to tens of checkpoints. As we tested the later stages of these workflows, we realized it took too long to start from the beginning every time. We built tooling that allowed us to surgically operate on the exact modules and installation steps we wanted to verify. Once installed, the next step was ensuring the functionality was actually usable.
Using a device in an ecosystem requires it to stay functional over time. Monitoring this manually is a massive time investment; you’d literally have to watch it every five minutes. So, we built tooling that tells us if anything is wrong: connectivity, memory, CPU—you name it. Everything is analyzed automatically so we can guarantee operational stability across all software modules. Once a device is stable, it is technically usable.
Having a functional device is one thing; having it respond in an acceptable time (not waiting tens of seconds for a click to process) is another. We built tooling to link our components in a way that achieved an 85% reduction in time spent waiting for loading, downloading, and rendering website sections.
All of this is part of our search for a more reliable, faster way to set up your standalone smart ecosystem. A few months ago, we saw a 40% time reduction in early setup tests. Since then, we have added more devices and features, massively improving saved time relative to the ecosystem's complexity.
We are preparing to share more exciting, user-facing numbers in the upcoming weeks! 🚀
If you like what we're doing, you can stay up to date with our progress by following us on BlueSky.