Fire Tools — Engineering documentation

This section is for developers and operators who want to self-host the backend, build a custom client, or understand the internals. If you're a regular user, you probably want the user guide instead.

Pages in this section

Architecture at a glance

+----------------+        +----------------+        +----------------+
|  Web / Electron| <----> |  Node.js API   | <----> |  SQLite (def.) |
|     client     |  HTTP  |   Express +    |  SQL   |  or Postgres   |
|  (React, Vite) |        |    OpenAPI     |        |   (compose)    |
+----------------+        +----------------+        +----------------+

Why a local-first backend?

Most FIRE tools either run entirely client-side (data trapped in one browser) or fully cloud-hosted (third party sees your finances). Fire Tools' backend is meant to run on your own machine (Docker Desktop, your homelab, whatever) so your data stays on your hardware while still being reachable from multiple devices on your network.

The same code can be deployed multi-tenant — every domain table already carries user_id — but the default configuration boots a single user so you don't need to think about auth on day one.

Source map

Path Purpose
src/ React + TypeScript frontend (Vite)
server/ Node.js + Express + better-sqlite3 backend
electron/ Electron main + preload (desktop wrapper)
website/ Marketing landing page
docs/api/ OpenAPI contract + Redocly config
docs/database/ DDL + ERD notes
docs/deployment/ Docker Compose how-tos
docs/user/ End-user documentation (this site's /docs/user/)
docs/engineering/ Engineering documentation (this site's /docs/engineering/)

Related links