Download the case study

Newton: A new-age email client application that works seamlessly across a wide range of platforms

Category: Communication

Services: Managed Engineering Teams, Cloud Architecture Design, and Review

Newton
  • Implemented new features that gave new life to the app
  • Reduced the complexity of the infrastructure
  • Cost reduction to 14 cents/ indexing user/month
  • Increased the syncing ability to 13 million emails daily

About Netwon

Newton is a new-age email client application that works seamlessly across a wide range of platforms like macOS, Android, iOS, and Windows. In addition, the tool offers users many useful features like read receipts, sharing emails with a link, and snooze, to name a few.

Challenges

  • The client was going to close the product due to low response
  • Integrating with multiple third-party libraries
  • The infrastructure bill was more
  • The existing infrastructure was complicated, hence difficult to maintain

Solutions

Added a lot of exciting features to the product

  • As the product struggled with a low response rate, our engineering team decided to add many attractive features to the product. After conducting thorough market research and studying the customer persona in detail, we implemented the following features in the product.
  • Read receipts- get a notification when the receiver reads your email.
  • Templates and snippets- create and customize the templates right from your inbox.
  • Share emails with a link- publicly share emails with a link on apps like Asana, Skype, Slack, and Jira.
  • True Darkmode- a dark mode that adjusts the brightness according to the time of the day leading to less eye fatigue.

These features hit the right chord with the customers and helped Newton quickly become its users’ email app of choice.

Resolved the complex infrastructure issue

We resolved the complicated infrastructure by enabling the transformation of the client’s infrastructure into Kubernetes from physical servers. We used the Amazon Elastic Kubernetes Service(EKS) for this purpose. In addition, we built a single codebase for the application to ensure that there are no maintenance issues in the code in the future.

Reduced the infrastructure costs

To reduce the infrastructure, we first estimated the monthly workload. The Simform engineering team then decided to add dynamic load balancing with auto-scaling groups into the architecture. This made the system highly scalable as it could now scale up or down based on the workload that it was facing. We then used managed database services and designed certain logic to be run serverless. Our team utilized the reserved instances facility and the savings plan facility provided by AWS to reduce the costs of the infrastructure.

Architecture Overview

Newton Network Diagram

AWS Services

Load balancers

The public and internal load balancers are used to ensure the correct load distribution between the EC2 instances. The requests first come to the public load balancers, then the medusa public servers handle these requests and route them to the internal load balancers. The internal load balancers then distribute the load to the ec2 instances based on availability.
Job distribution: SQS/ Gearman

Amazon SQS and Gearman are the services responsible for queuing and job distribution. Whenever a service request comes, it first goes to a que. Then the job pushers push these jobs into SQS and Gearman while the job workers start working on the job.

DynamoDB

The dynamo DB stores the metadata regarding emails and templates. Our engineering team thought about this feature as we came across a user need to share templates of emails with other users through various apps like Asana, Slack, and Skype. DynamoDB also plays a role in enabling the link tracking and read receipts feature in Newton.

Amazon S3 and RDS

The Amazon S3 is another database solution used in the Newton app. The S3 stores email templates and attachments. The S3 enables the application to have faster access to the data stored in S3. The user experience gets improved as the users can download the attachments faster. The public email sharing with a link feature is also enabled using the S3 and RDS databases. The data regarding the public email sharing feature is stored in S3 and RDS and is fetched through the front web servers and displayed to the user. The users can enable a feature that allows this public link to remain active for 30 days, after which it automatically expires.
SQLite storage with thrift interface

The SQLite storage with thrift interface is used to store the email’s metadata for 60 days. We do this to serve these emails quickly to the users as and when required. During the trial period, the emails are stored for 15 days.

Worker Nodes

Worker nodes are EC2 instances that perform various functions like

  • Crawling – Gets state from source: sync emails, calendars.
  • Action – Makes changes in source a/c: read, star, delete mails,
    create or delete events.
  • Notification – Sends push notifications.
  • Web Services – Provides API for devices.
  • Infra Management – provision infra, deploy code,
    monitoring, alerting, availability.

Related Case Studies

Freewire card
CrayPay Case Study

Speak to our experts to unlock the value of Cloud!