Python 3 (ipykernel)

Data Loft
Software Developer
Jun 2026 – Sep 2026 · Toronto, ON
Data Loft is a Toronto data firm that works with companies to get more out of their customer data.
My work split between:
- the internal tooling engineers use to build on dbt and Snowflake
- the company's identity-resolution platform itself

Last day in the office
In [1]:
dataloft.summary()Out[1]:
- role
- Software Developer
- dates
- Jun 2026 – Sep 2026
- location
- Toronto, ON
- stack
- Python · SQL · dbt · Snowflake · DuckDB
Highlights
- Built an AI agent that turns plain-English data requests into dbt models. It plans, builds and tests them against Snowflake, then opens a PR, with a human approving each major step.
- Shipped customer-segment filtering, a platform feature that lets users define customer segments with a validated SQL filter.
- Automated merge-candidate scoring to surface customer profiles that likely belong to the same person, and rewrote candidate generation from pandas into DuckDB.
- Consolidated duplicated enrichment logic into a single enrichment step that every downstream table reads from.
Side quests
Eventually, I fell down the terminal rabbit hole. I started to learn Linux and Bash, and I stopped using my mouse after switching to tmux and Neovim. My screen ended up looking something like this:
In [2]:
dataloft.side_quests()Out[2]:
1with customers as (
2 select * from {{ ref('stg_customers') }}
3),
4
5orders as (
6 select customer_id, count(*) as order_count
7 from {{ ref('stg_orders') }}
8 group by 1
9)
10
11select
12 c.customer_id,
13 c.segment,
14 coalesce(o.order_count, 0) as order_count
15from customers c
16left join orders o using (customer_id)
17where c.is_active
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
NORMAL customer_segments.sql
Claude Code
~/dataloft
> Try "write a test for this model"
? for shortcuts
$ git switch -c customer-segments
$ dbt build -s +customer_segments
Completed successfully
$ grep -rl "stg_customers" models | wc -l
7
$ git commit -am "Add customer_segments"
$ gh pr create --fill
$
[dataloft] 0:nvim*"dataloft"
It wasn't all terminals, though:

