The logbook

Voyages we've actually completed

Four kinds of trouble we get called for. The metaphors are on the house; the metrics are from the project records.

Migrations & cost optimization

Escape the Platform Tax

The tools that got you here can become the ceiling on growth — per-seat licensing, metered credits, per-customer compute that scales against your margin. The real risk isn't the new platform; it's moving years of undocumented data without breaking the business or hauling a decade of junk along with it.

Migration · Dynamics → Zoho + Snowflake

An engineered-infrastructure manufacturer

The trouble
Expensive Microsoft Dynamics licensing, and nobody knew which of hundreds of tables in a decade-old CRM actually mattered.
Our heading
Built a config-driven Python migration engine, lifted all 548 tables (144 GB) into Snowflake with row-count validation on every table, then profiled and classified each one — keeping only the 61 with real business value.
Landfall
Zero data loss, table by table, and a clean target instead of inherited clutter. The engine was reused for their ERP extraction in the same engagement.
Re-platform · unit-economics fix

A vertical-SaaS analytics product

The trouble
A SaaS analytics product running on Domo cost ~$40 per customer, per night — so every new customer made the product less profitable.
Our heading
Re-platformed the data layer: a one-click client-side ingestion agent (Python CLI on 100+ sites) → clean Parquet → S3 → Redshift, with ~30 ETL flows rebuilt as a tested dbt project reconciled against the old Domo cards.
Landfall
Targets a drop from ~$40/customer/night to near-zero ingestion cost — turning onboarding from a margin drag into a scalable motion.

Also in these waters: A global leadership-training firm · an automotive operations company · a higher-ed services group

Governed data platforms & warehouses

Build the Foundation

Most companies don't have a data problem — they have a trust problem. Two dashboards disagree and nobody can name the source of truth. We build layered medallion warehouses on Snowflake, BigQuery, and Databricks — version-controlled in dbt or Dataform, tested, and wrapped in just enough governance to stay clean after we leave.

Governed platform · BigQuery

A performance-marketing agency

The trouble
Advertising performance scattered across eight platforms, with no consolidated history and no cost-efficient way to feed BI.
Our heading
Built bronze/silver pipelines in BigQuery (80+ Google Ads tables, refreshing daily), backfilled 3+ years of history reconciled to a 0.5% tolerance, and partitioned/clustered for cheap downstream BI — then layered on Meridian marketing-mix modeling.
Landfall
One analytics-ready advertising warehouse with 3+ years of reconciled history, engineered from the storage layer up to make BI both fast and cheap.
Executive KPIs · BigQuery + Looker

A self-storage operator

The trouble
An executive dashboard with no period-over-period or year-over-year context, no facility drill-down — and a mid-year Google Ads account merge that broke historical continuity.
Our heading
Re-architected the KPI pipeline in BigQuery, pre-computing PoP/YoY in SQL across ~30 metrics, and unioned the old and new ad accounts into one canonical model with an auto-classifying optimization layer in the gold tier.
Landfall
Facility-level visibility into occupancy, revenue, and marketing efficiency with true PoP/YoY context — on a model that survived an account migration mid-year.

Also in these waters: A NetSuite-based storage operator · a BigQuery analytics team · a Snowflake + Domo estate · a multifamily operator · a first-platform evaluation

RAG, NL-to-SQL & document intelligence

Production AI That Earns Trust

Everyone wants AI; few have made it dependable enough to put in front of customers. The gap between a demo and a system is trust — does it match expert judgment, cite its sources, say "I don't know"? We build AI as production software, with evaluation and observability as first-class deliverables.

Vision-AI document intelligence

An electrical-equipment manufacturer

The trouble
Sales Engineers hand-built bills of materials from multi-page electrical schematics, cross-referencing a 200+ page spec — hours per drawing set, and easy to get wrong.
Our heading
Built a full-stack app with a hybrid symbol-detection engine (text-anchored matching against IEEE device numbers + a provider-switchable vision-AI fallback across Claude / GPT-4o-mini / Ollama) and a provenance-aware RAG pipeline that preserves the exact spec page and bounding box.
Landfall
Draft BOMs in hours instead of days — every detection confidence-scored, every spec citation one click from the source, engineers kept in control.
RAG benchmarked against humans

A safety-management services firm

The trouble
Safety advisors manually scored contractor programs — 30 to 250+ page documents — slowly and inconsistently between reviewers.
Our heading
Took it from a Streamlit prototype to a production platform (FastAPI + Postgres + LanceDB + Celery on Azure) with an LLM-judge RAG pipeline, then built an evaluation harness measuring agreement against human-graded "gold" documents and iterated until it converged.
Landfall
≥80% agreement with human assessors (internal hold-out benchmark) and ~60s → ~20s per document — then productized to a multi-client tool (164 and 264 criteria) with 141 backend + 48 frontend tests.

Also in these waters: A public civic-data organization · a home-care franchise

Executive BI & custom analytics apps

Decisions on Demand

Spreadsheets don't scale and generic dashboards don't fit. When the analysis is core to how a business makes money, it deserves a purpose-built, always-current tool — so we build the BI layer and, when dashboards aren't enough, custom apps that put live, adjustable models in decision-makers' hands.

Custom Domo apps · in-browser

A commercial real-estate investment firm

The trouble
An entire acquisition-scoring methodology trapped in a fragile spreadsheet that couldn't flex to different investor strategies.
Our heading
Built two custom Domo apps — a client-side engine scoring 10,000+ properties in-browser with DuckDB WASM and real-time re-weighting, plus a faithful market-ranking model (~43 metrics across 6 weighted categories) on a rebuilt data foundation.
Landfall
Production apps that recalculate on current data and let the team re-weight any metric on the fly — tailoring the pitch to each prospect's strategy.
Validated backlog · Domo + NetSuite

An aerospace engine manufacturer

The trouble
Sales and backlog reporting with no consolidated analytics layer, and stale reference figures floating around leadership.
Our heading
Built 6 Domo dashboards on ~32,000 rows of NetSuite order data, encoding 37 Beast Mode calculations for backlog logic, YoY growth, and AOP variance across 8 engine categories.
Landfall
Total open backlog validated at $99.4M against source — and a stale $77M baseline caught before it reached leadership.

Also in these waters: A marketplace operations team · a manufacturer's BOM automation