Startups Using Elixir in Boston
Via their job posts and information submitted by startups themselves, these are the Boston Elixir startups we've found.
Interested in other technologies? Browse or search all of the built-in-boston tech stacks we've curated.
Tech Stack Highlights
React and Redux – The skeleton and nervous system of our in-browser code. The combination of one-way data binding and functional state transitions has made our products much easier to build (and, more importantly, debug).
Elixir – Our persistent services are written in Elixir, a relatively young functional language built on the Erlang VM. It’s got lots of features to recommend it — immutability, actor-based concurrency with crash supervision, hot upgrades and rollbacks, built-in clustering, etc — but the syntax is also downright comfy and very productive. Elixir’s been great to us in the last year we’ve had it in production.
AWS Lambda and Serverless Framework – Lambdas are an amazingly cost-efficient way to implement services or event handlers that don’t require low latency or long execution times. We’ve recently begun to move our dozen-or-so Lambdas into the Serverless Framework, which automates their deployment and configuration. And the ease of working with Serverless Framework makes it likely that we’ll build a bunch more features with it.
DynamoDB – While we use a combination of data persistence layers (Postgres, Firebase, and S3 also play a part), we began to experience growing pains with our most frequently-updated data. We moved this workload from Postgres to DynamoDB last fall, and we’ve not only seen a 30-40% reduction in operating cost, but our response time is much more predictable, and our peak-traffic performance is between three and twenty times better.
Redis – We’re using Redis as the basis of a stats collection system. In particular, its implementation of the HyperLogLog cardinality estimation algorithm means that we can keep as many unique counters (e.g., daily active users for each customer) as we like without worrying much about disk space or CPU time.
Tech Stack Highlights
Ruby on Rails – We use Rails for most of our services. It’s easy to read, easy to test, reasonably fast to learn, and opinionated in ways that we find helpful.
Elixir – We’re using Elixir for select services where high concurrency is important.
React – We are using React on new frontend features because it’s stateless paradigm makes for code that is easier to reason about and winds up with fewer bugs. It’s also nice to have a single framework across our services, so folks don’t have to learn an entirely new system every time they work on something different.
MariaDB – It seems like everyone is moving to NoSQL data stores, but we love SQL! It turns out that databases that have been around for several decades are very good at what they do — indexing, locking, transacting — and using this proven technology means we get a lot of DBMS features “for free” that NoSQL variants force you to build yourself. We do have a service at scale beyond what a single SQL database can support, and in that instance we are sharded across several database instances.
Docker – All new application servers that we build are containerized and thus entirely immutable. This eliminates an entire class of problems that arise when servers are otherwise left in an unexpected state. We never have to worry about rogue processes, old open ports, or artifacts on the file system impacting a newly-deployed set of code.