Buy vs. Build: AI Assistants
Chances are you’re either already working on adding AI to your product, or you have plans to kick the project off soon...
At least, that’s what Productboard found from a survey of over 300 CEOs and product leaders. 90% planned to add generative AI to their products—64% within this year.
“AI is reaching the tipping point,” and “fear of missing out is a powerful driver of technology markets,” Gartner’s Mark Raskino wrote in their report on AI. Similar to how spellcheck and PDF exports were initially third-party apps or add-ons before becoming essential features in most apps, generative AI is now something consumers increasingly expect to find in modern software.
Yet most teams will struggle to build out AI tools in their products due to resource constraints. Most SMBs surveyed by Productboard have less than five people working on AI. Even large corporations had fewer than 10. “Competition for generative AI resources will be very tight,” they forecasted.
This reinforces research from PWC which found that 79% of companies said they’re “slowing down some AI initiatives because of the limited availability of AI talent.” Gartner’s report showed similar constraints, with 26% of CEOs saying talent shortage is “the most damaging risk for their organization.”
So, you need AI to keep up with the competition. You need full-featured and polished AI integrations (because there’s no use shipping something worse than what everyone else has). You need to ship it in record time to not fall behind the curve. And you need to do all of this with limited resources.
What’s a Product Manager to do?
Before we answer that question, let’s first explore which features and UI elements cut the mustard when it comes to AI assistants and chatbots.
Chat looks deceptively simple. At first glance, it’s just text.
But there are tons of small but important details that can make or break the UX. Typing indicators. Real-time syncing between devices. Chat history. Read status. Notifications. Integrations. Accessibility. A database to store all of the conversations. Settings for notification options.
Everything you’d expect in a standard chat interface today, your users will expect in your AI chatbot. They’ll also expect AI-focused features for the best AI chat experience.
For example, AI chat needs feedback. Where you might thumbs-up a colleague’s chat message to express approval, a thumbs-up on an AI reply can help train the response by letting it know what worked—and what didn’t.
🎙️ Want to learn more about how the folks at OpenAI train their models? Check out this exclusive podcast interview with engineer Doug Li who explains the role of pre- and post-training, and how he and his team have helped make GPT4 so gosh darn good at answering your questions.
You also need indication that something’s working… that your message didn’t just disappear into the ether of the internet. Animated dots let users know a question was received and a response is coming right up. A spinner or progress bar works for AI, too. Either way, these features mask the delay while the language model pulls data and writes a response.
Users will also expect notifications for complex queries that take longer to resolve. Much like an airline or financial institution call center that offers to call you back when an agent is free, your chatbot could notify users when the response is ready, freeing them up to work on other tasks while they’re (not-so-patiently) waiting.
Want to dig into all of this in even more detail? Cord’s Co-Founder and CEO, Nimrod Priell, explores emerging UX patterns in his latest blog (and video 👇🏼) for the product-obsessed.
Building a custom chatbot interface
Back to the question at hand: how the heck can already-stretched teams fit AI into their roadmap and ship it fast?
Tailwind and other UI component libraries could help —but you’ll still have to code most of the chat features by hand. You could also rely on OpenAI’s API to power your bot, or host Meta’s open-source Llama 2 language model and build a customized AI for your product.
But regardless of which route you take, to build a top-notch interface, we’re talking 6-12 months of developer and design time. Even the most basic one would take 10+ weeks. That’s the best-case scenario, where you’re watching for patterns in popular chat UIs and re-building them for your product.
“It took us about 3 months to develop an MVP,” Vention marketing specialist Diana Meleshkova told the G2 team of their chatbot. Carnegie Mellon University MBA candidate Rob Welch’s team built their chatbot in Python and Google Dialog—and it “took about 6 months to bring the product to market,” he said.
We dug into what it takes to build a custom chat UI (Prefer to listen? Check out the podcast version here.), and estimated that it’d take 10 weeks of concentrated effort to ship a basic chat interface.
You better hurry up and start building 🏃🏻
The good thing is, you’ll get exactly what you want. Your chat UI will blend in with your product, as it’s built by the same team. You could tie the chat more deeply with your product’s features, and customize the AI to use the same voice and tone as your brand. And when something breaks, you’ll know exactly what to fix. (Ideally, anyway.)
But what’s the tradeoff? Would those 6-12 months be better spent working through the feature requests your customers have been asking for since 2022?
Buying a pre-built chatbot instead
Toyota doesn’t make the tires for its cars. Apple doesn’t design the SSDs used in MacBooks. They benefit from the best suppliers and their expertise, making Toyota’s cars and Apple’s MacBooks better in the process. And you can get the same benefits without custom coding a new AI chatbot by using an SDK like Cord.
Coding custom chatbots “doesn’t scale,” as @stunt put it in a Hacker News conversation. “Or, you end up wasting all your resources on things that are not important to your customers.”
“Use something out there” instead, he advises.
With Cord’s UI components and APIs, you get a chat interface with all the bells and whistles (typing indicators, notifications, rich text formatting, etc.) out-of-the-box. All you need to do is connect our APIs to the LLM of your choice and you’re up and running. Don’t believe it’s that easy? Check out our GitHub repository.
This lets you focus on other important decisions like what data you should track, how to measure success, and how to build the AI response more deeply into your product.
To buy or to build?
Building always sounds better… at first. You can build exactly what your customers want and tie it in more deeply with your existing codebase. You’ll know what every line of code does. If anything breaks, you’ll know exactly what to fix.
And yet, as the commits and feature commitments pile up, it’s easy to imagine the project running over budget and under expectations. It’s like DIY home repair projects. They start out great, with a trip to Home Depot and a load of supplies. Then one thing after another comes up, and your kitchen cabinet repair turns into a slow-motion disaster.
Buying a pre-built cabinet might have been worth all the tradeoffs.
Your company isn’t a chatbot company, and you should focus on building what makes your product unique in the market. Not a feature that (sooner than you might think) will become table stakes. The months you’ll spend building a “good enough” chat UI could be time better spent building out the features that’d accelerate your growth and keep you ahead of the competition.
As YC founder Paul Graham says, “if you have such an idea and don’t grow fast enough, competitors will.”
It’s worth considering buying a pre-built AI chatbot, at least, before devoting the resources to coding your own from scratch.
If you’re a Product Manager, Designer, or Developer who wants to dig into this topic even more, check out our webinar replay below