Skip to content

Tech Stack

Tabmega leverages DuckDB for all of it’s big data processing. In fact, Tabmega’s file format .tmga is essentially a DuckDB database with additional spreadsheet metadata. Below are some more technical details on how Tabmega is built with DuckDB.

Why use DuckDB?

DuckDB is a SQL database designed for analytical workloads. There a several key features that make it a great fit for Tabmega:

  • Free and Open Source: DuckDB and its core extensions are open-source under the permissive MIT License.
  • Embedded: DuckDB runs directly within applications, similar to SQLite. That makes it easy to run locally with Tabmega.
  • Single-File Simplicity: DuckDB operates using a single database file which is a perfect fit for creating application-specific file formats like .tmga.
  • High Performance: DuckDB is optimized for modern hardware, leveraging vectorized query execution for blazing-fast performance.
  • Battle-tested: Many top tech companies like Google, Facebook, and Airbnb use DuckDB. In addition, several companies have built entire businesses around it, including MotherDuck and DuckDB Labs

How Tabmega builds on DuckDB

Tabmega has four key components to it’s tech stack, in addition to DuckDB.

  1. Desktop UI built with Electron and React, including a compiler that translates the Tabmega spreadsheet into DuckDB SQL ( ~30K lines Typescript, 50% tests).
  2. Subprocess that manages the DuckDB database and communicates with Electron over stdin/stdout (~500 lines C++).
  3. Postgres and Node Express backend on Google Cloud with Stripe integration (~1K lines Typescript).
  4. Astro framework with HTML, CSS, and Javascript for the static site tabmega.com, including this page. The static site is hosted on Cloudflare.