Pedro Piñera
Open Source

Open Source

Most of my software projects are designed and developed in the open and published under my GitHub username or organizations created for the purpose of the project. I believe sharing is a great asset the software industry has, and we should strive to keep it alive.

Working on open source software is not my full time job nor a source of income to me. For that reason, don't expect me to provide full-time support on those projects (I'll do my best though). I'll likely work on tasks that I find challenging or motivational.

If you would like to get involved in any of the projects or take ownership to drive them forward don't hesitate to ping me. Love for software is always welcome and encouraged.

Below you'll find the projects that I'm proud of maintaining or having maintained.


I started building Tuist back when I was at SoundCloud. We embarked on the journey of modularizing the codebase to speed up builds and make the teams atomic. Maintaining a modular Xcode project is cumbersome so Tuist was my answer to make the work more convenient.

One of project's main principles is enforcing conventions over configuration. We are taking the opportunity to make simple what it's not straightforward in Xcode, like configuring dependencies and their transitives. The goal is to remove all the maintenance burden from the developers and let them focus on building great apps.

Despite it's not a project widely adopted, nor have I had the opportunity to use it myself (because I don't do much development with Xcode these days), we continue to move steadily with the help of talented maintainers and contributors.

It's one of the open source project that I'm most proud of because of the value it provides, the quality of the code and the tests suite, and the people around it.


Before developing Tuist, I had to develop XcodeProj, a Swift library for reading, updating and writing Xcode projects, workspaces and schemes. I debated between developing XcodeProj as an internal component of Tuist, or rather, implement it on its own repository and make it distributable through CocoaPods, Carthage and the Swift Package Manager. I opted for the latter.

Nowadays, XcodeProj is powering several other tools like XcodeGen or Accio. I'm glad that other developers found in XcodeProj the opportunity to develop their own tooling and it's exciting to see all the ideas they come up with.

Copyright © Pedro Piñera, 2019