Algolia is a fast-scaling company: we were about 120 when I joined in August 2017 and grew to 300 by the time of writing this article. We have many offices in different parts of the world, which means different time zones, so it’s easy to feel lost, and disconnected from each other’s daily lives. This can be especially true for new hires. That could fall under the scope of the Internal Tools squad that I’m a member of, as our mission is to improve productivity and internal communication. We wanted to create something to “cheat” the distance, something for people to feel more like they belong to one company.
What came first to our minds was a TV news screen rotating the week’s events: people’s birthdays, hiring anniversaries, new hires, events and meetups, candidate onsite interviews, job openings, as well as time zones—centralizing the company’s highlights of the week seemed like a good step into assisting the culture-scaling effort.
The screens are now set up in every office!
It took 10 days to make this project happen, from a manually updated Google Slides deck to today.algolia.com, the fully automated solution. However, the challenge we had to face was to make time for it, while our product roadmap was already quite ambitious. Here are some tips about how to ship a side project when you don’t have work time dedicated to it.
From side proof of concept (POC) to roadmap
The very first step was to validate the added value of the project. I took a few minutes to build up a slides deck on Google Slides with birthdays and events of the week, and a few more every Friday afternoon to update it. It was all manual, but the TV screen got much positive attention in our Paris office, making it legitimate to automate the process after a few weeks.
For this to happen, I needed to unlock some work time that I didn’t have, as the project was utterly off-roadmap. The strategy was to build a POC on my free time and present it to Baptiste Coquelle, the manager and tech lead of the Internal Tools squad. It would be nothing more than an API that would process the data and prove that we could automate everything and make it a one-shot project, reducing maintenance time to zero. Since the project was great for Algolia’s culture, and was already well-planned and contained, this was a win-win situation and made it evident for Baptiste to validate.
Optimizing production time
Even though my manager granted some time for the project, there was still a lot to do. Designers at Algolia collaborate with many teams and usually have a lot on their plate. I had spoken with designer Nicolas Meuzard about the project. He was impressed by it and wanted to contribute. To prevent this side project from cannibalizing his time, we needed to work fast and ship fast. We used a few strategies to optimize our collaboration and reduce the number of back and forths.
Paving the way
The first step was to give Nicolas all the information he needed to build the UI. To do so, I used Google Slides and created one page per screen, writing down a simple data schema that the API was returning, and added a few notes for the specific view logic. This came after a few quick chats about the project goal and global form—no other document needed there since the big picture was clear enough to both of us.
Reusing UI elements
Nicolas reused the layout of a previous internal tool we did together, making it the first step towards an internal design system that the next projects would rely on. The main grid was the same, we took colors and fonts from the global design system we have for the marketing website, leaving only a few UI elements to tailor and assemble to build the final UI.
At Algolia we use Sketch for designing UIs, and even though I am confident enough with it, it’s still not optimal for developers to work with. Even though Sketch has some nice export features, they’re still a few clicks away, quickly adding up to much delay when it comes to building a full stylesheet.
Zeplin, advertised as “the ultimate collaboration tool between designers and developers,” saved the day by giving me access to all the values like margins and paddings, the distance between elements, and font-related metrics, available at a glance on the right pane. It also imports and computes native Sketch files, making it seamless to integrate into the UI designer’s workflow. On my end, I was now fully autonomous on building the UI. The decision to use Zeplin was a no-brainer.
Handling corrections and feedback
As in any project that involves design, there was a gap between the initial mockups and the live version. The color calibration of a TV screen is different from the one of a computer, and we have different models of TV screens at Algolia, so we had to fix contrast issues and make it look good across them all. Aspect ratios were inconsistent too, so we had to reposition some elements and create some new responsive rules. People couldn’t correctly read our first pagination, so we had to iterate on that too. Add a few more small details like these, and you quickly come up with two weeks of additional delay before launch (especially since we weren’t working on this full time).
Therefore, we decided to collect all the fixes and feedback in one go. For this, I sat down for a full day in the Bridge, our main room in the Paris Office, where the screens are and where all the employees come for coffee breaks. Many came to me naturally with small feedback.
At the end of the day, Nicolas and I sat down for half an hour in front of the screens, live tweaking small issues. The next day, he sent me the last iteration of the design, which I implemented on the go. It looked like this:
Tips for unlocking time for side projects
Here are my top tips for working with a tight deadline on side projects without bleeding on planned projects:
- Demonstrate the value for the company. Create the world’s most simple POC to create buzz and excitement around the project.
- Create a good plan and a simple timeline to make it easier for your team and your manager to say “yes”.
- Anticipate the needs and constraints of other people working with you. Know that they will need to take time on top of busy work hours. Talk to them in advance and get their buy-in.
- Use simple tools that enable you to take over parts of the project from other pros (in my case, our designer).
- Communicate and fix live instead of asynchronously.
- Know what’s necessary for the project and remove unnecessary steps. In our case, this meant no tests since it’s not a production, customer-facing app, or no extensive responsive since it’s only meant for TV screens.
Culture eats strategy for breakfast
Another reason this project was possible at Algolia is that the Internal Tools squad has fewer constraints than other dev teams, making it easier for us to be agile. We also don’t have technological constraints, so we can pick the languages and libraries we’re the most productive with.
Algolia is big on trust and ownership and encourages people to work on company-related side projects. Yet, we know not all companies or teams or even timeframes favor such initiatives. I used to work in a services company where there was no side project culture because every working hour needed to be justified. Yet, I still managed to work on some internal projects: I anticipated and prepared a POC on my free time to finally get approval from the CTO, and unlock work time to polish them. If you can demonstrate there’s value for the company, and things can be done with ease while not affecting your daily work, you are likely to succeed.