All of our Tech Heap at Coffee Meets Bagel. We have been a mobile-first and mobile-only providers

November 21, 2021

All of our Tech Heap at Coffee Meets Bagel. We have been a mobile-first and mobile-only providers

Probably one of the most typical questions that interview candidates inquire if they interview only at java touches Bagel try, something your technology stack? Its also one of the most common concerns I get around san francisco bay area while going to technical meetups and meetings and these types of. Thus individually interested candidates and other people fascinated just how a premier tier dating providers has built their own program, right here you go, Ill attempt to break it all the way down available.

1st, at a high-level:

how far back can carbon 14 dating go

  • The Android application was indigenous (Java)
  • All of our apple’s ios app is actually local (Swift + unbiased C)
  • All of our backend software coating are Python & Scala
  • We use Golang for most information pipeline jobs
  • All of our backend is certainly caused by in AWS with a little in Google Cloud
  • We try for completely computerized testing
  • Today, lets enter some nitty-gritty, shall we?

    Why are we cellular only?

    We have a website landing page (and a couple of promotion websites here and there), but the only access guidelines for the app include our mobile iOS & Android customers. We really launched with merely web site in 2012, but once we launched our very own apple’s ios app in 2013, our web traffic fell to something like 40per cent of our own total visitors. Next, whenever we founded the Android app in 2014, web site traffic plummeted to below 5% of overall website traffic. When this occurs, we determined it really ended up beingnt worth every penny to use our very own restricted technology budget to support the website, so we dropped they and turned it into simply a landing page that directs browsers to either the software shop or Play shop.

    I will create the specifics of one’s mobile structure for another article, hopefully to get penned by one of the exemplary cellular designers, but at a high-level your mobile development strategy are:

  • The mobile software are dumb clients. Their particular major job occurs the info delivered by all of our backend in an appealing, performant, secure, and beautiful trend. We make this happen by sticking semi-strictly to RESTful internet solution rules.
  • Split of problems is important for maintainability, stability, and testability. Brand new laws composed should comply with a VIPER structure (for iOS) or MVVM (for Android os).
  • Were on the way to automating UI screening on iOS using XCTest.
  • Were at this time automating the majority of all of our UI assessment, and practical examination, on Android os using Appium.
  • 3rd Party methods on the cellular side:

  • iOS group utilizes Bitrise for CI
  • Android os group utilizes Jenkins for CI
  • Firebase for real time chat
  • Localytics for statistics
  • Materials (Crashlytics) for collision revealing and beta people administration
  • Twitter for authentication
  • As Ive discussed earlier, our company is about completely in AWS, for best or tough, therefore we are practically completely a Python shop. Ill leave the specifics of your backend design for ideally a future post from a single your exemplary backend engineers, but for right heres some more facts.

    We need some AWS treatments:

  • Cloudfront supply us rapid global accessibility cached info
  • S3 for picture storing, facts copies, and holding fixed the web sites
  • SQS (straightforward Queuing provider) for queuing right up various asynchronous jobs
  • ALB (software weight Balancer) for balancing burden and routing visitors to the appropriate providers
  • Cloudwatch for spying and worrying
  • Redshift for facts warehousing
  • ElasticCache for was able Redis for our algorithm staff
  • VPC (digital personal Cloud) to guard all of our servers from the outdoors community and from one another
  • Kinesis to flow events throughout our bodies
  • We also use a number of different databases technology:

  • Redis (Monolith master / servant setup) w/ HAProxy for heritage in memory databases
  • Redis (Cluster) for horizontally scalable in mind databases
  • Postgres w/ HAProxy for purchase databases
  • Cassandra split over 2 datacenters
  • ElasticSearch for looking / blocking sort facts necessities
  • With respect to monitoring:

  • Sentry for mistake stating
  • Grafana for high-level dashboards and graphs
  • Cloudwatch for monitoring and alarming everything AWS associated
  • Pagerduty for managing our on-call schedule and waking united states right up in the middle of the night time
  • Opscenter for spying Cassandra
  • Kibana for record aggregation
  • Kopf for ElasticSearch spying
  • Unique Relic for host / system fitness spying
  • Other third party Service server-side:

  • Localytics for statistics and giving pushes
  • Mailchimp for giving e-mail
  • Department for link generation and attribution
  • Facebook for verification and common friend data
  • Firebase for real time chat
  • Jenkins for develops, deployments, and booked activities
  • Imgix for picture caching and in-the-cloud transformations
  • Comments 0

    Leave a Reply

    Your email address will not be published. Required fields are marked *