{"id":595,"slug":"modern-data-stack-on-budget-2026","title":"Reference: minimum viable data stack for a $1M-$10M Canadian service business (2026, C$100-C$500/month)","kind":"reference","scope":"business","status":"current","audiences":["kevin","claude-code","dev","candid-team"],"topics":["tech-stack","agency-methodology","data-infrastructure"],"reference_body":"**For a Canadian service business at $1M-$10M revenue, 5-50 staff, currently living in QuickBooks + spreadsheets + a half-used CRM:**\n\n### Architecture\n\n1. **System of record per data type.** Don't replace QuickBooks or your vertical SaaS; declare them authoritative for their domains.\n2. **Operational database** — managed Postgres (Supabase / Neon / Render / Crunchy Bridge): **$20-50/month**\n3. **Lightweight ingestion** — dlt (OSS) or Airbyte/Fivetran (managed). Pull from QuickBooks, vertical SaaS, Stripe, Mailchimp, GA: **$0-$200/month**\n4. **Transformations** — dbt-core (free) running locally or in GitHub Actions, or dbt Cloud Developer ($100/month)\n5. **Analytics engine** — DuckDB (free, in-process) or BigQuery (pay-per-query, often <$30/month at SMB scale)\n6. **Dashboards** — Evidence.dev (free, code-based, version-controlled), or Metabase OSS (~$85/month managed). Avoid Tableau/Power BI at this stage.\n7. **Customer-facing data tools (optional)** — thin internal-only Next.js or Retool app (~$10/user/month)\n\n### Realistic cost\n\n- **C$100-C$500/month** in software\n- **20-40 hours initial setup**\n- **4-8 hours/month ongoing maintenance**\n\nThat's roughly the cost of *one* underused enterprise CRM seat.\n\n### What this unlocks\n\n- Single customer view across QuickBooks + vertical SaaS + email + payments\n- Cohort retention analysis the vertical SaaS can't do\n- Marketing attribution joining ad spend → closed revenue\n- Daily-ops dashboards (Lovett Services-style — see [[research-brief-dataset-is-the-product]])\n- Clean export path for the *next* system, whatever it is\n- Better privacy posture: answer a PIPEDA SAR or Law 25 portability request without opening five SaaS tools\n\n### When NOT to build this\n\n- Sub-$500K revenue\n- Solo operator\n- Owner planning to sell or retire within 18 months\n- Pre-product-market-fit business model (the schema will change weekly and break everything)\n- No one in the business — including agency partners — comfortable with SQL\n\n**Related:** [[open-data-ingestion-stack-smb-2026]] for the public-data side; [[ten-year-cost-model-rebuild-vs-foundation]] for the longer-horizon economic frame.","rationale_body":null,"metadata":null,"links":{"outgoing":[{"slug":"open-data-ingestion-stack-smb-2026","title":"Reference: open-data ingestion stack for a 1-3 person SMB operation (2026) — under $50/mo realistic","kind":"reference","scope":"business","link_type":"relates-to"},{"slug":"motherduck-pricing-changes-2026-business-tier","title":"MotherDuck pricing 2026: Lite ($25/mo) removed; Business moved to $250/mo between Dec 2025 and Feb 2026","kind":"reference","scope":"business","link_type":"relates-to"}],"incoming":[{"slug":"rule-own-customer-id-as-primary-key","title":"RULE: Own a single customer_id primary key that joins across your vertical SaaS + QuickBooks + email + ads.","kind":"rule","scope":"business","link_type":"depends-on"},{"slug":"research-brief-dataset-is-the-product","title":"Research brief: The Dataset is the Product — when a service business should own its data (piece 12 of 15)","kind":"reference","scope":"business","link_type":"relates-to"}]},"created_at":"2026-05-22T20:37:13.262Z","updated_at":"2026-05-22T20:37:13.262Z"}