Why this site runs on DuckDB
One embedded database for content, leads and analytics — transactional writes and analytical reads without a second system.
Small sites still need three things: somewhere to keep content, somewhere to keep leads, and a way to see what's happening. Traditionally that's a CMS, a CRM and an analytics vendor.
Torotech.ca uses one embedded DuckDB file for all three. Page views are appended as rows; the admin dashboard runs columnar aggregations over the same file in milliseconds. Custom fields live in a JSON column, so adding "estimated budget" to the lead form is a settings change, not a migration.
When traffic outgrows one server, the same SQL moves to MotherDuck or Postgres. Until then, the whole thing ships as a single Docker container with one volume.