Blog / Engineering

Using our One and Done library to power idempotent API requests

A look at idempotent requests, why they are important, and how to use our new One and Done library to implement them in your Elixir applications.

Brent Anderson
Brent Anderson07 April 2023

The developer's guide to notification system tooling in 2023

An in-depth look at notification systems and the ecosystem of tools, frameworks, and vendors available.

Chris Bell
Chris Bell11 January 2023

How to ORDER BY using the contents of a column in Postgres

How we solved a challenging customer request using Postgres.

Brent Anderson
Brent Anderson02 November 2022

Implementing SSO using WorkOS

How Knock used WorkOS to implement SAML 2.0 SSO quickly and efficiently in our Elixir codebase.

Juan Azambuja
Juan Azambuja27 October 2022

Implementing a usage-based billing system: integration deep dive (part 2)

A closer look at implementation details in building a usage-based billing system powered by Orb.

Thomas Yu
Thomas Yu19 October 2022

Six findings we rely on when managing PostgreSQL indexes

A look into how we evaluate which indexes to use and when to maximize query efficiency.

Billy Ceskavich
Billy Ceskavich06 October 2022

Evaluating usage-based billing providers: what engineers need to know (part 1)

A look into our experience in buying and integrating a usage-based billing provider at Knock.

Chris Bell
Chris Bell23 September 2022

How we built webhooks in Knock

A deep dive into how we built our webhooks feature using the underlying Knock notification engine and a few learnings along the way.

Meryl Dakin
Meryl Dakin14 September 2022

How we onboard engineers at a devtools startup

A behind-the-scenes look at how we onboard new engineers at Knock, and the principles we use to do so.

Chris Bell
Chris Bell21 July 2022

Controlling Elixir supervisors at runtime with feature flags

A look at how Knock uses Elixir and feature flags to adapt our software at runtime.

Brent Anderson
Brent Anderson16 June 2022

Building a batched notification engine

A deep dive on how to design and build a batched system for your product notifications.

Chris Bell
Chris Bell01 June 2022

How we use Postgres LTrees to surface API logs

Postgres ships with the Label Tree data type. How Knock uses LTrees for fast API log search.

Brent Anderson
Brent Anderson23 February 2022

How we work: moving fast to ship customer value

A peek behind the curtain at Knock. How we work to optimize for shipping customer value, quickly.

Chris Bell
Chris Bell25 October 2021

Using the Knock notification component to add an in-app feed to your product

A look into how to set up and use Knock's in-app feed component.

Chris Bell
Chris Bell15 September 2021

Using Knock to power Knock's notifications

Getting meta and showing the power of Knock to build our member invite feature.

Chris Bell
Chris Bell02 June 2021

This site uses cookies to measure and improve your experience.