April 26, 2021
There are hundreds of startups across the world that have changed the way we do business.
Stripe is one such company we look up to. We admire them not just for their product or sleek website, but also for their enviable culture of knowledge sharing and absolute transparency.
Some of their best practices lauded by the entire industry include complete email transparency, weekly all-hands meetings, Stripe Press, and company-wide hackathons, among others.
In this case study, we take a closer look at the basic hack that fostered this culture of openness, right at the start, i.e. internal shortlinks at Stripe.
They are intuitive shortcuts or simple human-readable words to replace long URLs. Many Silicon Valley companies such as Google, Linkedin, Twitter, Uber, and more also use them to internally name (and shorten) their links in order to make them easier to find, access, recall, and share.
For example, the company all-hands meeting can be accessed by typing in x/allhands instead of looking for and copy-pasting the entire Zoom URL. Likewise, the product roadmap can be found easily at x/roadmap.
At Stripe, internal shortlinks originated in 2012 when Alex MacCaw, an early Stripe employee and now Founder of Clearbit, built Go.
In his own words,
“Most companies soon start to build up a fair number of internal URLs, and it can often be tricky remembering these all. This is especially difficult when somebody new joins the company. Go is a simple solution to this problem. Once installed you could point http://go/wiki, for example, to your company's internal wiki.”
The earliest version of Go is now available as an open-source project in Github.
Using Go, Stripe employees started creating internal shortlinks for everyday workplace resources such as go/payroll to access their payslip, go/cal to open their calendars instantly, o/okr to track key metrics, among others.
In addition, each of their important Slack channels gets its own Go link. Active Slack channels such as Legal, IT, Finance, Sales Ops, have Go links added to the description. They are linked with forms in Jira, which immediately raises an internal ticket in the Jira Service Desk. For instance, anyone can use go/it/ask to create an IT help ticket for assistance.
Go links are connected to the employees’ SSO. Most of the important Confluence documents are linked to Go. The IT Spinup Onboarding can be accessed intuitively at go/it-spinup, for example.
Stripe also has an internal user guide to familiarize its employees with Go. It contains detailed sets of how-to’s, instructions, and best practices for creating, editing, naming, deleting, finding, and sharing Go links across their workspace.
Go links became even simpler and more convenient at Stripe when they were used together with another one of Stripe’s famous internal tools — Stripe Home
Michael Schade, who built out engineering and operations teams at Stripe as employee #20 from 2012 to 2019 says:
“Back in 2017/2018 we indexed the Go links into Home search, which helped a ton.”
As the name suggests, Stripe Home is the internal home page of Stripe acting as a people directory and a communication platform.
There is a personal page for all Stripe employees, describing who they are, what they do, and how to get hold of them. It further categorizes all employees based on their teams and location.
In essence, Home is “the source of truth for who Stripe employees are” and simultaneously a platform for enabling individuals to get to know one another, especially outside of their work.
As Stripe grew, there was a need to simplify searching through this ever expanding directory of people.
Enter Stripe Home search — enterprise search that retrieves results not just from the employee directory but from Stripe’s entire knowledge base. It scans resources such as documents, people, teams, and even API models, with live filters to narrow the corpus of information quickly.
If there is no Go link configured for a particular document, it automatically searches Stripe Home and looks for a query parameter. Users are also prompted to create a new Go link instead.
Any employee in Stripe can create a go link by heading to go/ in the browser and filling in the form displayed.
The form requires the following inputs
While naming a document that has a Go link attached, it is common for Stripes to add the respective Go link in brackets next to the title of the document.
The naming convention extends to other areas such as Slack channels, which contain Go links in their description.
Parametric Go links let Stripes create Go links that accept an option. In other words, users can insert a (variable) value into a URL to target specific destinations, when the URL has a common domain but a different destination.
To do so, Stripes simply need to put a %s in the part of the URL that needs to be changed depending on the destination page.
For example, if a Stripe employee wishes to make go/cal/username, they can make a link for go/cal and put a %s where the username goes:
So, now go/cal/emma will direct to Emma’s Google Calendar and go/cal/steve to Steve’s.
In order to keep Go links relevant and high-quality, it’s a common practice at Stripe to edit and update links as often as needed.
This can range from editing links so as to give them clearer descriptions to updating the link destination or underlying document for an old link, for example.
Editing is extremely important for two reasons:
Here’s how Stripes can edit a shortlink:
i. Visit go/
ii. If the link is shown in the go/ UI, simply click the “Edit" button next to it.
a. Search for the Go link name in Home search (it should appear high in the results, but filter to just Go links if necessary). There will be a link on the result to bring one the edit page.
b. directly visit: https://go.corp.stripe.com/?edit=my/linkname and replace my/linkname with the Go link name.
If a Go link is no longer useful and does not need to be edited, Stripes are encouraged to deactivate it.
Anyone can do that by following the instructions below:
i. The link won't redirect anymore
ii. The link won't show up in Home search anymore
However, Stripe still keeps the history of the link around, and anyone can re-activate the link at any time.
Further, if anyone tries to create a link with the same name as a deactivated link, they are shown the deactivated link's info and allowed to choose whether to continue. Even if the deactivated link is overwritten, the link’s history gets retained.
One obvious question Stripes would probably ask themselves before deactivating a link is if it's okay to deactivate the link at all. Stripe solves this dilemma by tracking who created and updated the URL of each link, and showing that in the UI when available. With this, it becomes easier for everyone to see who last changed the link, and to reach out to that person to ask for more context.
Lastly, as Michael Schade stated, Home search is immensely helpful for Stripes to find links they have created or edited. They can do this by using the following script — creator:me type: go_link or editor:me type: go _ link
Using Go links is an inherent part of the Stripe DNA. It is the default way of navigating the labyrinth of resources every company builds up as it grows. 4000+ Stripes make use of Go links every single day to save over 10,000 hours every week while looking for information and collaborating on tasks with their colleagues.
Sounds impressive, doesn’t it?
It did to us, as well.
But, we wondered why should the power of naming URLs using simple shortcuts be restricted to big-tech companies with seemingly infinite engineering resources and capabilities?
We built OSlash to democratize the ability to name links. OSlash lets teams of all sizes use simple, intuitive shortcuts in place of long URLS to simplify finding and sharing information. This helps create a single source of truth for everything that’s important within the workspace.
OSlash offers everything an internal enterprise URL manager like Stripe’s does (and more). You can create, edit, and delete shortcuts; add URL parameters to links (variable shortcuts); organize links into neat folders (collections); or search across all your apps for the relevant shortcuts and documents (universal search).
The best part? Unlike internal URL managers, OSlash works in a managed cloud environment, offering a complete SaaS experience that does not require any significant investment of a company’s own engineering resources to set-up, finetune, and maintain the service. It meets the users right where they are — across browsers and devices.
Join us in a critical examination of AI cyber security. This blog outlines what AI is about in cyber security, its multi-dimensional benefits, and real-life implementation situations.
AI can be used for product development in multiple ways, such as automating tasks and testing prototypes. Learn more about AI in this space with use cases and examples.
After an exhilarating three-year journey building OSlash, we have made the difficult decision to wind the business down. But you can continue using your OSlash shortcuts. Here's how. Here's how you can continue using OSlash shortcuts