Briza prides itself on being able to write quality software fast. Aren't quality and fast at odds with each other? Not when the technology stack is an enabler (among other qualities of an organization, of course). This matters in shipping product to our customers. And, keeping us developers and designers happy. There can be many cycles lost to unsupported languages/frameworks/packages, poor design systems, scant test suites, poor build/deployment pipelines, hand-rolled production servers and the list goes on. Developers and designers loathe these conditions because instead of creating product they lose time to firefighting. Below you'll get a window into our stack. It is not perfect, but it is an enabler that is continuously improving.
Our UX overlord (also referred to as "Kanye") wireframes, designs and prototypes in Figma. This design tool has enabled rapid validation and iteration of our product. We avoid making too many assumptions by constantly putting out designs to user testing and live demos.
Briza's API is built on Node.js and written in TypeScript. The web framework is express. PostgreSQL is the relational database of choice. Our data model is highly relational, so Sequelize is the ORM being leveraged. And Redis is used as a simple queue. These are all widely adopted, vanilla technologies. Much of the API's magic comes in the software we write to power small business insurance.
Both the UI and API have healthy tests suites with an appropriate distribution across unit, integration and end-to-end. These test suites get run on pull requests to master using GitHub Actions (a continuous integration tool). Additional checks get run including: lint, audit and production build.
Unfortunately, we're currently observing significant overhead from jest (test framework) and looking for ways to minimize it -- perhaps jest's v25 release will address the overhead (fingers crossed).
Briza's software is deployed to AWS. We don't manage servers though. The UI is a static bag of HTML, CSS and JS, so it is hosted on S3. And the API is containerized, so we let Fargate manage and orchestrate the servers and their automatic scaling. For the datastores, PostgreSQL and Redis, AWS-managed services RDS and ElasticCache are used. All of this is infrastructure as code via Terraform, which means developers are not stitching together servers/services in the AWS console. We reproducibly stand up new environments.
Monitoring and log collection happens through Datadog; providing us with amazing visibility into our software and infrastructure.
We've laid a simple yet strong foundation that enables developers to push code quickly. It can be faster though. Builds and test runs are under 5 minutes, but we need to keep these low as the product and team grows. Software dependencies need to be kept up-to-date; preferably through automation. We're eager to further leverage Figma's design system to bridge the gap between design components and Vue components. Machine learning will need to be vertically integrated into our stack and that starts with a well-reasoned data model and good data.
Briza is making small business insurance delightful, and that starts with happy, unencumbered developers and designers within the organization.
Looking to join a team that is pushing the envelope in insurtech? View our open roles.