< BACK TO BLOG

Tech stack for the Hey email service

Published 30 June 2020

The launch of the Hey email platform was one of the largest application launches in 2020. It was reported that they had over 150k users signed up, so I thought it would be interesting to see what we could find about the tech stack. Luckily dhh shared some good information.

The HEY Stack

One interesting piece of information was that someone did some investigation and haystack was the codename for the project and basecamp had registered haystack.com also.

It’s no suprise that this is a Ruby on Rails app since dhh is the creator of rails. They are using Stimulus as the javascript framework, turbolinks to speed up page loads, trix for the editor and as yet unspecified NEW MAGIC on the front end.

MySQL for the database, plus Vitess for DB sharding. Redis for caching and short lived data. ElasticSearch for searching and all on Kubernetes running on AWS. He doesn’t specify if they are running their own kubernetes cluster or using EKS

HeyHey

The overall architecture uses what he calls the Majestic Monolith pattern, which is the opposite of the micro services oriented architecture.

After reading several of his tweets it seems to me that the architecture is really more of a Citadel, which is also something he labeled.

Hey

They use Github for source control and code review, but Basecamp for issue tracking and documentation. This is no suprise since the Rails community was an early adopter of github.

Hey

His comments on GCP were very interesting, obviously a bad experience but doesn’t give more details around when this happened.

Hey

For email processing it’s just standard Postfix so nothing special there, but that’s the theme stick with battle tested technology.

Hey

Why MySQL over Postgresql? He made another comment, I didn’t capture that he is just used to MySQL.

HeyHey

They practice Dry principles and extract out common code.

Hey

After the battle they got in trying to release the update to their iPhone app, not being a fan of Big Tech is to be expected. They want to bring things on prem in the future, but was happy to have the cloud scaling during the launch.

Hey

The On-Prem costs he calculates are much smaller than the cloud. This is a huge point of contention and is debated in many circles, for small companies it may be easy to calculate on-prim costs but for large companies there are so many hidden costs it’s hard to say.

Hey

He’s a big fan of Kubernetes, and I agree with him! Kubernetes is one of the few pieces of infrastructure code I’ve ran that lives up to the hype.

HeyHey

The trend towards HTML over the wire instead of JSON apis is something to watch over the next couple of years. With Phoenix Liveview and Laravel Livewire gaining in popularity, I would not be suprised if the secret sauce is some type of DOM diffing on the server for Ruby on Rails.

HeyHey

© 2020 Mergate Solutions, LLC. All rights reserved.