Facebook Twitter GitHub LinkedIn LinkedIn LinkedIn


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 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 JavaScript Node.js PHP Ruby Lua Bash HTML CSS/SCSS PostgreSQL MySQL SQLite Redis ElasticSearch Linux Nix Docker Ansible Make Webpack Nginx Apache Warp React Laravel Ruby on Rails Django Flask Yesod Servant Jekyll Hakyll Tailwind WordPress Amazon Web Services NearlyFreeSpeech.NET DigitalOcean Rackspace

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 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.

Elm Programming Language

Elm is a programming language influenced by Haskell and shares many of its features. Like Haskell, Elm enables creating high performance, error free software. Unlike Haskell, Elm is specialized for user interfaces. We use Elm for building highly dynamic front ends, particularly ones requiring complex user interactions and large amounts of data.

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 RDS and AWS Lambda to provide great value and peace of mind to our customers.