Facebook Twitter GitHub LinkedIn LinkedIn LinkedIn
 

Technology

Tools we use that help us build robust, performant, and secure software systems

We’re strong believers in using the right tools for the job

We use technology that helps us build fast and reliable software systems. We’re not tied to a single framework or programming language, and have experience with a wide variety of technologies. Here are some of the tools we’ve built with before.

Haskell Elm Python PureScript TypeScript JavaScript Node.js PHP Ruby Lua Erlang Bash HTML CSS/SCSS PostgreSQL MySQL SQLite Redis ElasticSearch Linux FreeBSD Nix Docker Ansible Make Webpack Nginx Apache Warp React Stimulus Turbo Laravel Ruby on Rails Django Flask Yesod Servant Jekyll Hakyll Tailwind CSS WordPress Shopify Amazon Web Services NearlyFreeSpeech.NET DigitalOcean Rackspace Heroku Cloudflare

Tools we’ve found that consistently drive excellent results

Haskell Programming Language

Haskell is a statically typed functional programming language that enables writing software that is highly reliable and performant while also being conducive to developer productivity and maintainability. We’ve written and spoken about why Haskell is our first choice for building production software systems. We’ve found that Haskell allows us to consistently deliver excellent results in far less time than any other language we’ve used.

Hotwire (Turbo & Stimulus) JavaScript Libraries

Hotwire is a family of libraries published by 37signals designed to enhance static HTML. In our work, we find that server side rendered (also referred to as HTML over the wire) applications that leave most of the workload to the server and are merely enhanced through the judicious use of JavaScript lend themselves to faster development, excellent performance, and easy maintainability. The Stimulus and Turbo libraries that comprise Hotwire serve as the toolkit to enable this approach.

PostgreSQL Relational Database Management System

PostgreSQL is a powerful open source relational database management system. It is known for its reliability, broad feature set, and excellent performance. PostgreSQL enables creating and operating databases of all sizes that vary in complexity from very simple to having tens of millions of rows in hundres of tables. We use PostgreSQL for any system requiring persistent data storage.

Nix Package Manager & Build System

Nix is a robust package manager for the Linux operating system that makes software builds reproducible. Nix also simplifies system configuration management, allowing all underlying system components to be managed by a flexible configuration language. This makes provisioning servers and deploying software reliable and repeatable. We use Nix for provisioning servers and for managing multi-machine deployments with a variety of different system configurations.

Amazon Web Services Cloud Platform

Amazon Web Services (AWS) is an industry-leading cloud services provider that offers reliability and scalability on a secure and cost-effective platform. We use AWS for hosting the software systems we build and often utilize managed services like ECS, RDS, and AWS Lambda to provide great value and peace of mind to our customers.