Skip to content
TP

Product Engineer · Vancouver

TP

I am a product engineer who builds AI systems end to end and then proves they work.

I co-founded a study platform that reached a thousand students, shipped a non-custodial payments product, and most recently owned retrieval quality at Berribot. I like the part where it has to actually work.

tp · portrait.txt · hover to resolve

status

available for full-time

location

Vancouver, BC

local

--:--:-- PT

retrieval evaluation/llm agents/hybrid search/next.js/python/product discovery/reranking/typescript/observability/zero to one/fastapi/postgres/retrieval evaluation/llm agents/hybrid search/next.js/python/product discovery/reranking/typescript/observability/zero to one/fastapi/postgres/

01$stat --signal

The short version

Numbers first, then the shape of what I am good at.

1,000+

students served

4

products 0 to 1

4+

years building

1

papers published

shipping cadencelessmore

$capability --radar

self-assessed
PRODUCTFRONTENDBACKENDRETRIEVALEVALUATIONINFRA
95

retrieval

93

evaluation

90

product

Co-founder of a study platform used by 1,000+ students. Most recently building retrieval and evaluation infrastructure at Berribot.

02$ls ./work --detail

Selected work

Problem, product, system, outcome. Each one links to the full case study.

01In production

Berribot Retrieval Evaluation

Turning "the answers feel better" into a number the team could trust.

  1. Problem

    The assistant shipped fast and answered well enough in demos, but nobody could say whether a change made it better.

  2. Product

    Query → Hybrid retrieval → Rerank → Answer → Eval

  3. Outcome

    Retrieval quality became a tracked metric with a per-commit history instead of a vibe.

berribot-retrieval-evaluation.app

retrieval eval · run 214

passing

nDCG@10

0.81

+.09

MRR

0.74

+.06

Recall@20

0.92

+.04

bm25 + dense · rrf0.78
cross-encoder rerank0.81
baseline dense only0.72

System

QUERYnormalised, expanded, 01HYBRID RETRIEVALBM25 and dense candida02RERANKcross-encoder scores t03ANSWERgrounded generation wi04EVALnDCG@k, MRR, Recall@k 05

nDCG@10 lift

{{NDCG_LIFT}}

Recall@20

{{RECALL_AT_20}}

p95 latency

{{P95_LATENCY}}

Eval set size

{{EVAL_SET_SIZE}}

thirdslate-prase.app

PHYS 216 · unit 4

7 / 12

Which quantity is conserved when the net external torque is zero?

source · lecture 11, slide 6

ALinear momentum
BAngular momentum
CKinetic energy
DMechanical work

verified against source

02Live

ThirdSlate

A study platform that reads the actual course, not the internet.

Students served
1,000+
Questions generated
{{QUESTIONS_GENERATED}}
Next.jsTypeScriptPythonFastAPI
outpay.app

checkout

128.40 USDC

order #A-4417 · base

Merchant wallet
Non-custodial
Gas sponsored
confirm payment

reconciliation

A-4417128.40settled
A-441664.00settled
A-4415212.75pending
A-441439.90settled

export → csv · matches order ledger

03Shipped

Outpay

Non-custodial USDC checkout that merchants can actually reconcile.

Settlement time
{{SETTLEMENT_TIME}}
Fee vs card rails
{{FEE_DELTA}}
Next.jsTypeScriptBaseUSDC
tekkscope.app

trace · task 88f2

4.2s · 6 calls
plan
search.web
search.index
ground
synthesize
stage ground below threshold · flagged in CI

success

0.86

tool prec.

0.91

cost/query

$0.03

04Active build

Tekkscope

Agentic search infrastructure that fails loudly instead of quietly.

Task success rate
{{TASK_SUCCESS}}
Tool call precision
{{TOOL_PRECISION}}
PythonTypeScriptLangGraphVector search

03$plot --growth

What sustained output looks like

One product, from an empty repo to a thousand students, with no paid acquisition.

sepoctnovdecjanfebmarapr
ThirdSlate cumulative signups, normalised

04$stack --layers

How I put a system together

Top to bottom, the way a request actually travels. Hover a layer for the tools and where they shipped.

AI & MLBackendInfrastructureFrontendProduct
Hover any node to trace its connections and see where I have shipped with it.

06$git log --graph

Four years, six seats

Research, consulting, founding, and applied AI, mostly in parallel with each other.

UBC AgroBot · ML
RK&GT · ML intern
Hyr · consultant
ThirdSlate · co-founder
Uniffy.me · SDE intern
Berribot · applied AI
20232024202520262027
Full experience

6 roles · Vancouver, BC

07$faq --recruiter

Answered before you ask

Location, role type, start date, compensation, authorization.

Vancouver, BC. Happy with remote, hybrid or relocation for the right team. I have worked across Pacific, Eastern and Singapore time zones already.

Full-time product engineering, founding engineer, or applied AI. I want a wide surface and real ownership rather than a narrow slice of a large system.

{{NOTICE_PERIOD}}

{{COMP_RANGE}}

{{WORK_AUTH}}

Week one I read the code and talk to whoever owns the metric. By week two I ship something small and real. By the end of the month I can tell you what I would cut and why.

$./next-step

Hiring for a product engineer who can carry the whole thing?

Send me the role and the problem behind it. I will tell you honestly whether I am the right fit.