• >
  • >
  • >
  • >
  • >
Lightbend > Case Studies > Building a Production-Ready Social Networking Backend with Typesafe Reactive Platform

Building a Production-Ready Social Networking Backend with Typesafe Reactive Platform

Lightbend Logo
Customer Company Size
Startup
Region
  • America
Country
  • United States
Product
  • Typesafe Reactive Platform
  • Akka
Tech Stack
  • Scala
  • Java
  • Amazon EC2
Implementation Scale
  • Enterprise-wide Deployment
Technology Category
  • Application Infrastructure & Middleware - Event-Driven Application
  • Platform as a Service (PaaS) - Application Development Platforms
Applicable Industries
  • Software
Applicable Functions
  • Product Research & Development
Services
  • Software Design & Engineering Services
  • System Integration
About The Customer
Conspire is a TechStars company that specializes in analyzing email data to provide users with detailed analytics about their email network. Founded by Paul McReynolds and Alex Devkar in 2012 in the San Francisco Bay Area, Conspire aims to help users understand the strength of connections between people. The company maintains an always-up-to-date, weighted network of connections without requiring any effort from users. When a user needs to reach a person or company, Conspire identifies the strongest path of connections in the user's extended network. After participating in TechStars Cloud 2013, Conspire established its headquarters in downtown Boulder, Colorado.
The Challenge
Conspire faced the challenge of revamping their backend system to support a customer-facing product. Their original backend was a multi-threaded Java application with a traditional concurrency model, which was too complicated and not suitable for future developments. The team needed a new solution that could handle scalability, resiliency, and simplicity, as the existing codebase was not up to the task.
The Solution
Conspire chose to build their new backend using the Typesafe Reactive Platform, specifically leveraging Akka for its scalability, resiliency, and simplicity. Initially, the team opted for Java due to its familiarity, but eventually transitioned to Scala, thanks to Ryan Tanner's expertise and advocacy. The architecture was designed to decouple the backend from the frontend, allowing for independent service operation and fault tolerance. Akka's 'Let it Crash' philosophy was embraced, enabling the system to handle node failures without impacting the overall backend. The backend was divided into three siloed services—IMAP processing, analytics, and mailing—overseen by a supervisor, ensuring reduced cohesion and improved resilience.
Operational Impact
  • The new backend architecture allowed for complete decoupling of the backend from the frontend, simplifying code paths and enhancing fault tolerance.
  • The use of Akka enabled the system to handle node failures gracefully, ensuring that the backend remained operational even if individual nodes failed.
  • The transition to Scala, led by Ryan Tanner, demonstrated the benefits of type-safe, asynchronous code, ultimately leading to better code quality and maintainability.
  • The architecture's design allowed for easy scalability, with new Amazon EC2 instances being added seamlessly to the cluster as worker nodes.
Quantitative Benefit
  • The entire backend was built over a three-month period with a team of three developers.

Case Study missing?

Start adding your own!

Register with your work email and create a new case study profile for your business.

Add New Record

Related Case Studies.

Contact us

Let's talk!
* Required
* Required
* Required
* Invalid email address
By submitting this form, you agree that AGP may contact you with insights and marketing messaging.
No thanks, I don't want to receive any marketing emails from AGP.
Submit

Thank you for your message!
We will contact you soon.