Tech Stack

A detailed look at the technical details.

Turborepo

Turborepo is a monorepo tool that helps you manage your project's dependencies and scripts. We chose a monorepo setup to make it easier to manage the structure of different features and enable code sharing between different packages.

Turborepo - Make Ship Happen

turbo.build

WXT (Vite)

It's like Next.js for browser extensions.

WXT is a very lightweight and powerful framework (based on Vite) for building browser extensions using most popular frontend tools. It provides a modern development experience with features like hot module reloading, TypeScript support, and automatic manifest generation.

WXT simplifies the process of creating cross-browser extensions, allowing you to focus on your extension's functionality rather than boilerplate setup.

React

React is a JavaScript library for building user interfaces. It's the core technology we use for creating the UI of our browser extension, allowing for efficient updates and rendering of components.

React

reactjs.org

Tailwind CSS

Tailwind CSS is a utility-first CSS framework that helps you build custom designs without writing any CSS. We also use Radix UI for our headless components library and shadcn/ui which enables you to generate pre-designed components with a single command.

Hono

Hono is a small, simple, and ultrafast web framework for the edge. It provides tools to help you build APIs and web applications faster. It includes an RPC client for making type-safe function calls from the frontend. We use Hono to build our serverless API endpoints.

Hono

hono.dev

Better Auth

Better Auth is a modern authentication library for fullstack applications. It provides ready-to-use snippets for features like email/password login, magic links, OAuth providers, and more. We use Better Auth to handle all authentication flows in our application.

Better Auth

better-auth.com

Drizzle

Drizzle is a super fast ORM (Object-Relational Mapping) tool for databases. It helps manage databases, generate TypeScript types from your schema, and run queries in a fully type-safe way.

We use PostgreSQL as our default database, but thanks to Drizzle's flexibility, you can easily switch to MySQL, SQLite or any other supported database by updating a few configuration lines.

Last updated on

On this page

Ship your startup everywhere. In minutes.