6 min read

Where’s the technical challenge in CRM anyway?

Phil Beevers VP of Engineering

Table of Contents

As engineers, we love to work on challenging problems; nothing beats that feeling of having elegantly solved something that you’ve been wrestling with for days, weeks, or even months. Fortunately, computer science generates a seemingly unending list of such problems, and with each one successfully dispatched, we learn and grow as engineers. That’s what keeps this job interesting.

Here at Attio, we’re disrupting the world’s largest software category: CRM. At first glance, CRM might not appear to have that interesting set of problems that the very best engineers crave. Yet the different approach we take at Attio, both to the application itself and to the craft of building it, means there is no shortage of challenges. We firmly believe that technical innovation is key to our success. In this blog post, I’ll walk through some of the tough problem areas that Attio’s world-class engineering team grapples with every day.

Flexibility

At its core, Attio is built for the builders. Yet building with Attio doesn’t require code and shouldn’t demand deep technical skill; our end-users should be able to rapidly build the CRM that fits their workflow. That flexibility, and the desire to make it simple and intuitive while retaining power, creates a fundamentally difficult set of technical problems.

Take our data model. In Attio we want the behaviors and semantics of a structured, strongly-typed, relational data model, combined with the ability to store and make sense of large volumes of unstructured data like emails and call recordings. We want to give the user the ability to extend that data model with their own custom attributes and objects. And of course, we want to do this in a way that works at scale and offers high performance for both read and write. That mix of requirements results in us pushing database technology to its limits, given Attio’s unwillingness to compromise on the seemingly competing goals of performance and flexibility. That flexibility is driven by our Rust-based query engine, which effortlessly handles thousands of queries per second on behalf of our users, over our Petabyte-scale dataset.

Yet the data model is just the start. While many think of CRMs as little more than systems of record, with a heavy emphasis on manual data entry and maintenance, Attio aims to harness the power of automation to liberate our users from repetitive, error-prone tasks. Much of that automation is built into the platform (for example, our seamless data import), but Attio also contains powerful tools that put the ability to create automations directly in the hands of the user. These tools include our no-code workflows and email sequences. Essentially, we’re building a powerful, programmable CRM, but in a way that is usable in a few clicks of the mouse by a user with no programming experience. Once those workflows are built, they must be executed reliably and at scale, with thousands of workflows being initiated every minute across the platform.

Flexibility without compromising performance or user experience: that’s what we strive for at Attio, and it requires great technical insight to achieve.

Seamless user experience

The convenience of browser-based application delivery has radically changed the way we consume software over the last 30 years. Yet web applications remain tricky to build and can often feel clunky, despite user expectations growing exponentially over that time. The latest generation of web applications goes a step further by looking beautiful and feeling responsive, while offering the ability to collaborate in real-time with colleagues and take work to the next level.

This is precisely the experience we want to deliver for our users at Attio. Our app aims to look and feel as if it’s a native application with local storage, while still offering all the advantages of a shared workspace stored securely in the cloud. We want to give the user a seamless editing experience that allows updates on the client without blocking on round trips to the server, and supports offline syncing and real-time collaboration.

Attio prides itself on taking a no-compromise approach to design and usability. We intentionally obsess over the details of our UI and the optimization of those key user journeys. We also think deeply about the process of building experiences for the web and for mobile, to ensure consistency without sacrificing maintainability.

A seamless, design-first, delightful user experience delivered on every surface, hiding the complexities of the distributed systems underneath; that’s our goal at Attio.

Real-time data, driven by AI

Attio’s users are fundamentally communicators and relationship builders. The next generation of CRM is about empowering those users by making sense of large volumes of interaction data across multiple media - email, meetings, instant messaging, video calls or any other way they talk with customers.

Attio achieves this by streaming those datasets into the platform in real time, extracting and enriching them with semantic meaning, and seamlessly joining them with existing customer relationship data. This means large volumes of high-throughput, unstructured data from multiple sources that need to be processed accurately and with low latency. At peak, Attio’s infrastructure seamlessly handles in excess of 250,000 events per minute.

As we increasingly drive data insights with AI, we’ve built a framework that allows our engineers to quickly and consistently harness the power of large language models, while still allowing the flexibility to choose the right model for the job. This is not just bolting in an LLM and wondering what it can do for us; this is giving our engineers the ability to rapidly build AI-driven features when it makes sense to do so, all at the scale of Petabytes of data.

Building for the Ecosystem

Many platforms offer App Store-like extensibility to knit together the web of complex systems that interact in a typical go-to-market software stack. At Attio, we give apps the full power of a rich API that’s been purposefully designed to be friendly to AI coding assistants. What’s more, Attio apps integrate seamlessly into the user experience, giving users a consistent way of working that looks and feels like the apps are a part of Attio itself.

Of course, running third-party code inside your application is a difficult challenge in itself. Maintaining performance and security while also creating that tight integration with the platform isn’t easy, but both our users and app builders love their respective experiences. This is much more than simply creating a set of APIs - we’ve thought hard about how apps should look to the user and what the developer is looking to achieve, to create a much richer experience. The significantly harder technical challenges we’ve had to solve along the way have certainly been worth it, as evidenced by our growing ecosystem of over 50 popular apps, which are responsible for over 20,000 calls per minute to our API.

Building intentionally

If there’s one thing that permeates our entire engineering culture at Attio, it’s that we build intentionally, asking difficult questions and solving problems from first principles. That growth mindset is driven by a desire to do things better, and it extends to how we look at our tools too.

That’s particularly applicable to the rise of AI-assisted software development, something no one in the industry has been able to ignore as capabilities in the area have grown over the past few years. As our CTO Alex discussed recently, Attio is using AI intentionally and thoughtfully - not only to speed up parts of the development process, but also to make them more effective. We choose our tools carefully, and we’re excited to be part of the rapid evolution in developer tooling and ways of working.

Summing it all up

At Attio, we’re creating a new kind of CRM - one that offers our users richer, beautifully designed, collaborative and automated experiences that integrate their entire GTM workflow and software stack. Doing so requires a high standard of technical innovation and new ways of building software.

Interested in solving deep technical problems in the name of amazing user experiences? Come build with us.

30,166 commits in the past year

Ready to redefine the world’s largest software category?

Careers at Attio