Sketch streamlines their workflows to provide teams with a comprehensive digital design editor.
- GitHub Team
- Customer Since
- Number of Developers
Every great product starts with a simple idea. But before anyone can build this product, they need to start from scratch—or rather, from Sketch—to design clear and workable visuals of what the product will be. By combining a powerful native Mac app with collaboration features in the cloud, digital design platform Sketch makes it possible to turn a spark of inspiration into incredible products—and add feedback, prototype previews, and more along the way.
Like the million-plus freelancers and organizations that rely on Sketch to bring their ideas to life, the Sketch team understands the importance of easy collaboration. The company has been fully remote for 10 years, currently consisting of 50 developers distributed between five tech teams. In addition to working closely with one another, their developers also need to be in constant alignment with other departments, including Product.
When Sketch opted to incorporate GitHub into their business back in 2008, it seemed an “obvious choice.” “Before GitHub, you would have one system for your version control and another for project management. Trying to integrate between them could be difficult,” said Luis Bosque, CTO. “GitHub does a great job of joining everything together in one place.”
The developers use GitHub for all things related to code—like pushing and committing code, working with different branches, and opening pull requests. However, all teams at Sketch use GitHub’s project management tools to communicate and stay in sync regarding various projects. For example, Technology and Product teams can submit requests, discuss ideas and bugs, assign tasks, create and update project boards, and track progress using features such as GitHub issues, projects, milestones, and more.
With GitHub, collaboration among a network of remote teams is simplified. “Even if their main responsibilities don’t require them to work within GitHub, we all need to communicate in one place,” explained Bosque. “With the way that Product and Technology conversations were already happening in GitHub, it just made sense to extend this to the rest of the company.”
Sketch automates much of their software development workflow through GitHub Actions and webhooks. All pull requests sent through Sketch are checked for code quality to ensure that their internal standards are met. Custom workflows analyze the code for test coverage, static analysis for various languages, and formatting. These automations help teams enforce code quality and security so they can ship better software, faster.
“Everything either happens within GitHub or at least starts in GitHub,” said Bosque. “Obviously, we have automations when it comes to creating or merging pull requests. And all of the continuous integration workflows are automated through Actions or webhooks as well. But at certain points we pause the workflow so the QA Team can conduct some manual testing.” Once approved, the team triggers another automated workflow that closes the release and carries the final code into production.
While these automations make it possible to build, test, and deploy all from within GitHub, Actions integrates with the tools Sketch’s developers already use to make their workflow as seamless as possible. For releases, the development workflow starts in GitHub, then connects to Jenkins or other CI/CD services to continue the process.
Sketch also depends on automations through Actions or webhooks in combination with GitHub security alerts to protect their code base from vulnerabilities. “When we receive security alerts or automated update requests from GitHub, we analyze them to determine how critical they are,” said Bosque. “We can then prioritize our plan of attack to complete the suggested action or security upgrade.”
There are always other people out there using the same software as you. One advantage of open source software is the security benefit: you get more eyes on the code to detect any possible issues.
Sketch currently has a team dedicated to handling company security practices, which includes working with external auditors and managing ISO/IEC certifications. Automated security reports help to bring potential vulnerabilities to their attention. Bosque says, “We have frequent reviews between the security lead and the development team to see if we need to change something based on the automated reports, or if we need to adapt our application to meet ISO/IEC certification requirements.”
While Sketch is serious about their security, the platform also promotes a culture of contribution through GitHub’s open source community. In fact, Bosque says there are security benefits to participating in open source: “There are always other people out there using the same software as you. One advantage of open source software is the security benefit: you get more eyes on the code to detect any possible issues.”
Most of Sketch’s cloud-based technology is written in Elixir. But since Elixir isn’t a very common programming language, it’s not easy to find developers or libraries that use it. So when minor issues in Elixir-based programs are found, Sketch developers are able to open a pull request with suggested fixes. The team has frequently contributed to the open source libraries of Phoenix, a web framework written in Elixir, and Absinthe, the GraphQL toolkit for Elixir.
By opening up their code, these libraries tap into the viewpoints of other developers beyond those on their teams. “It’s very strategic for companies to participate in open source, either by releasing their own open source code or contributing to other open source libraries,” said Bosque. “I’ve been working with open source my entire career, so it’s kind of my philosophy to give back in any way possible.”
Participation in open source also increases visibility, for both the individual developers as well as the company. For developers, greater visibility can give them a significant boost in any future endeavors. As a company, visibility through open source projects helps Sketch attract more talent. “You’re basically showcasing your code so people can see what your company is doing and if they’re doing it well,” said Bosque. “The more visibility your company has, the more talent you can attract.”
And working in GitHub is guaranteed to provide the best visibility, since “almost every developer knows GitHub and has used it at some point in their careers.” This only supported their decision to select GitHub to be the powerhouse that drives their organization. From raising their company profile to streamlining their software development process, GitHub helps the Sketch team focus on creating amazing products rather than getting caught up in the smaller details.
“If we didn’t have these tools to automate our processes, we’d probably need an entirely separate team to focus on internal checks and integrations,” said Bosque. “GitHub’s project management tools enable seamless collaboration throughout our entire company.” Now, GitHub makes it possible for teams to work together and stay focused on projects by handling code and conversations in one central hub. “It allows us to spend our time on what’s most important.”
Explore more from GitHub
What will your story be?
Start collaborating with your team on GitHub
Want to use GitHub on your own?
Check out our plans for individuals