Skip to main content

The API Versioning Trap

Patrick Jusic
Head of Engineering
Nick Meessen - de Wit
Senior Backend Engineer

At Toggl, we recently concluded a decade-long journey to retire our V8 API and fully transition to the latest V9. This process was far more complex and time-consuming than we could ever expect, highlighting the challenges of API versioning for a product company. This post explores the complexities of API versioning, the pitfalls we encountered, and how best practices can differ depending on whether you're building a B2C or B2B SaaS product.

Delivering Toggl Shared Authentication

Liisa Ringmäe
Principle Product Manager & Team Lead

Last month, Toggl Hire was the last product joining the family of Toggl products using our shared authentication system. We finally provide a seamless experience across all Toggl services, using a single set of credentials. Or better to say, we made the first step to create a seamless experience across all Toggl products. This is the story about the journey that led to this release.

Lessons learned from our recent outage

Patrick Jusic
Head of Engineering

In the attempt of turning challenges into strengths, we take the opportunity to share the lessons we learned from the incident we recently suffered, that kept our authentication service unavailable for a few hours. This event, while disruptive, provided us with valuable insights and a clear path toward strengthening our systems and practices. In this post, we aim to share the lessons learned and the steps we are taking to enhance our resilience against future attacks.

A journey into PostgreSQL logical replication

José Neves
Tech Lead

Toggl Track has been evolving on top of a monolithic PostgreSQL database. However, we long struggled to serve OLAP usages of our data - meaning, our reporting features - while keeping the natural OLTP shape of our database. We strive daily to provide better reporting capabilities to our users, reporting over more data, with more insights, transformations, well... more of everything. But all of these reports were still running on top of our normalized data structure, on our transactional database.

Long story short, we long noticed the need to move, hydrate, and transform our transactional data into something with report-friendly structures, and that became harder and harder to ignore.

© 2024 Toggl. All rights reserved.