I've been working on Boutique and Bodega for much of the last three months, officially celebrating the launch of Boutique and Bodega v2 today. If you’d like to learn more about what's new you can read about it in this tweet storm, or read a quick rundown below 1. But this post isn't about Boutique and Bodega, it's about the process of building Boutique and Bodega.
If you'd asked me in April if I'd spend three months this year working on an open source project, I would have said no way. I left my job at Twitter to be an indie developer building apps that represent my vision of personal productivity, but life is funny sometimes. Life teaches the same lesson over and over again — you can't predict what'll be important to you at any point in time. I built something to answer my own question, "what does a good SwiftUI architecture would look like?” for my own apps, and that's what came to be Boutique. But Boutique has blossomed into much more than just a new architecture, it's become a whole new way to build persistence layers, SwiftUI apps, and for me its created a community of people who find my work valuable. Boutique has quickly become a key part of my present and future app development plans, while remaining simple and approachable through many iterations. I've already integrated Boutique into more than half a dozen of my own apps, notably without many issues or much work, and every day I hear from people about how they're using it as well.
I can't say it's all been ups though, there have been plenty of downs as well. I’m writing this post not with the intention of convincing you to build an open source project, nor am I trying to dissuade you from participating in open source. I'm aiming to provide a balanced perspective because I would like nothing more than to see you build something that's important to you, to leave your dent in the universe. If that dent takes the shape of open source project then it would be an honor to have provided a head start based on what I've learned, knowing better what to expect than I did. Continue Reading →