Technology
Tools we use that help us build robust, performant, and secure software systemsWe’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 Nix Docker Ansible Make Webpack Nginx Apache Warp React Stimulus Laravel Ruby on Rails Django Flask Yesod Servant Jekyll Hakyll Tailwind CSS WordPress Shopify Amazon Web Services NearlyFreeSpeech.NET DigitalOcean Rackspace Heroku
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.
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.