Creating experiences
Picked up my phone and dumped some thoughts on why I'm so engaged and excited to build Tuist.
There's something in Tuist that keeps me very engaged with the project. Never before I had had that experience with other projects; I think it has something to do with the fact that with Tuist I'm creating new experiences and workflows that would otherwise be unimaginable.
After years of iOS development, I feel we have been accommodating our workflows and tools to what we were given by Apple. With Tuist I'm taking down those constraints. I imagine how I'd like the experience to be and then craft it as such.
If I would like to describe dependencies as .target("Core")
I codify it. If build times are slow, I think of ways of making them fast and add them to Tuist. I can push myself outside my comfort zone of just developing and work on designing a brand, a website. The same goes for writing documentation and building a community of enthusiastic developers that share the vision of the projects. That's damn exciting and can't stop doing it.
It's also exciting thinking of solutions for problems that I experienced myself. For instance, project generation is a solution to a problem: Xcode projects exposing too many complexities that difficult its maintenance and growth. Nowadays I look at Tuist's API and keep thinking further through ideas to make the API simpler and nicer. I'm not building a project generator, I'm building a tool to improve developers' experience using Xcode.
And I do all of this in the open because I'd like anyone to be part on helping others. I worked on a solid foundation to make this possible and now I'm starting to see the results.
Creating experiences in the open is awesome.