Amity turns to a graph database for its social cloud software

Image courtesy of Amity

These days, having an indispensable feature in your software isn’t an assurance that it will succeed. Developers also need to integrate social features into their apps. Apart from being a channel to inform one’s target audience about promotions, being backed by a thriving digital community helps with an app’s brand development, monetisation opportunities, audience acquisition and retention, and return on investment.

To keep the process of adding social features simple (especially since app development is complex enough), companies like Amity offer plug-and-play integration of chatbots, feeds, live streaming, and various other solutions. This service, however, wouldn’t be possible without the use of a graph database, which stores interconnected social data.

In Amity’s case, they recently decided to work with Neo4j, a graph database company headquartered in San Mateo, California. Founded in Thailand in 2012, Amity caters to more than 10 million monthly active users globally, and delivers over 3 billion messages per month for over 120 international clients.

Frontier Enterprise got in touch with Touchapon Kraisingkorn, CTO & Head of Professional Services at Amity, to learn more about the collaboration and dig deeper about the Neo4j integration, the technologies used by Amity, and many more.

What graph database platform did Amity use before? What necessitated the switch, or did you start with Neo4j?

Prior to adopting Neo4j, we were using another graph database for our relation and activity-based features within Amity Social Cloud. We encountered some performance issues with our existing graph database that made us look towards other solutions for upcoming features which would be much more complex to build.

How does Neo4j’s graph database platform integrate with the rest of the software and systems you use in Amity?

In a social product, all our flagship features are built on relationships and connections, such as user relationships or feed algorithms. We, therefore, need tools and platforms that allow us to build all these features that we envision. As we are building a more mature social product with a complete feature set, the implementation of Neo4j and their graph database will play a crucial role — it is where we store relationships of data, for instance if someone follows, likes, comments, joins a group, or posts in a feed.

What other technologies does your organisation use for Amity Social Cloud? Could you talk about your operations setup at Amity?

We base ourselves on AWS Cloud, and most run on Kubernetes. Meanwhile, AWS Fargate is the backbone on the application side. In addition to these technologies, we use a number of other services such as MongoDB and Neo4j.

We are building our tech stack by partnering with expert service providers in different verticals to master it more quickly. If we can master all of these technologies, we can overcome challenges at a lower cost, enabling us to provide innovative and cost-effective solutions to our customers and users.

How has the overall Neo4j experience been since you started using their graph database platform? Why did you choose Neo4j over other competing and possibly faster graph databases?

The experience has been great. We selected Neo4j for a number of reasons, including; competitive pricing through a special offer on AWS Marketplace, outstanding performance, and ease of use, which allows not only our developers to utilise Neo4j, but teams across our organisation as well.

In addition, the availability on AWS through Neo4j Aura provides us – and by extension, our customers – the ability to deploy in multiple regions of our choice. We considered a few other vendors during the selection process, but they were falling short on either pricing or not being compatible with our tech stack (i.e. node.js).

What are Amity’s technology objectives for its Social Cloud over the next five years? What emerging technologies are you planning to adopt?

In the past, social networks have been defined by a handful of open and centralised platforms, which has resulted in a monopoly of social experiences online. Our goal is to democratise social experiences. By providing Amity Social Cloud to companies at a fraction of the cost it would take to develop these complex features in-house, anyone would be able to build decentralised digital communities and implement social features.

As a PaaS (platform as a service) company, we hope to eliminate the need for customers to build, maintain, and scale the technology by themselves. We want to build the most complete social feature set available, and offer this to our customers in a cost-effective package that’s easy to integrate and fully customisable to their needs.