Developers

Briza's technology stack

Rishi Sharma
March 12, 2021

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.

UI

Briza's UI is built on Vue and written in TypeScript. Vue is a framework with increasing adoption, strong community and official libraries authored by the core team. We anticipate that our Vue app will be able to scale with our product roadmap and team. TypeScript makes JavaScript delightful in that reading and debugging code is easer with static typing (interfaces, types). The app is sparingly styled with CSS and, instead, leverages Tailwind and its utility classes to compose the design.

Design

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.

API

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.

Continuous integration

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

Infrastructure

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.

What's next?

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.


Rishi Sharma

With a passion for problem-solving, exploring new ideas, and creating optimized products, Rishi guides customer happiness as Briza’s CTO. Prior to joining Briza, Rishi spent 13 years building award-winning products and solutions for finance, insurance, eCommerce, and various other industries.

Beyond building the next-gen Briza platform, Rishi loves spending time with his wife and their daughter, enjoying vegan restaurants, and making a difference in his community. (Fun Fact: Rishi once ran for Toronto City Council.)

Related