engineer. builder. obsessed.

AI builder. Data engineer. Building in public.

Chris S. Yoon. 10 years across QA, SDET / automation, and Data Engineering — now using AI tools to build products I actually want to use.

Background

10+ years

QA → SDET / automation → Data Engineering at theScore / ESPN Bet.

Building with

AI tools

Claude Code, Codex, and the full AI-assisted dev loop — learning in public.

Current build

opb-poker

A poker performance backend I built because the right tool didn't exist.

The problem

The tools I needed
didn't exist.
So I built one.

AI tools

Session reviews forget everything between sessions. Next time at the table — same mistakes, no memory, no growth.

Solvers

Expensive, complex, and built around optimal ranges — not around understanding your own tendencies and blind spots.

Friends

Asking for advice means sharing your edge with someone you'll play against. Information stays inside.

“I play seriously. I want to improve. I needed something that actually remembers me.”

opb-poker

A backend that knows your patterns.

Three-layer data architecture: raw session packets ingested and deduplicated, normalized into canonical truth, derived interpretation built on top — each layer separate, inspectable, and independently testable.

Entity-centric PostgreSQL schema — player, session, tournament, hand, pattern, and intervention as first-class entities. Cumulative state across sessions, not stateless one-off review.

TDD-first: output contracts defined before implementation. Pytest regression suite covers ingestion through runtime serving. Playwright E2E on the consumer surface. Operator QA review gates before anything ships.

“I started wanting to build for everyone. Then I realized: I am the audience. If I can’t satisfy myself first, I can’t satisfy anyone like me.”

Work

Active build

Building

Private AI Poker Backend

Three-layer data pipeline (raw → normalized → derived) over an entity-centric PostgreSQL schema. TDD-first build with deterministic output contracts, Pytest regression suites, and operator QA gates.

  • Ingestion pipeline treats each upload as a session packet: parsed, deduplicated, and reconciled into canonical truth before any derived layer runs — provenance preserved end-to-end.

  • Entity-centric PostgreSQL schema: player, session, tournament, hand, pattern, and intervention as first-class entities. Raw, normalized, and derived layers kept separate and independently queryable.

  • TDD-first across the full stack: output contracts defined before implementation, Pytest regression suite from ingestion through runtime serving, Playwright E2E on the consumer surface.

onepercentbetter.poker
Python
PostgreSQL
psycopg2
Pytest
Playwright
Supabase
Next.js
TypeScript

Past work

Blue Jays Moneyball ETLPython, Apache Airflow, PostgreSQL
TwelveLabs API ValidatorPython, TwelveLabs, Pytest
1% Better - TodayFastAPI, Supabase, Stripe
1% Better - FocusFlutter, Dart, Supabase

About

Chris S. Yoon

10 years across QA, SDET / automation, and Data Engineering — most recently Senior Data Engineer at theScore / ESPN Bet. Now building AI products: current main build is opb-poker, a backend-first performance system built on real session ingestion, cumulative memory, and deterministic AI-driven outputs.

Open to AI Product / Senior Data / Platform roles

Recruiter path

Career context, then current work.

Background first, then current work, then LinkedIn or GitHub if you want more.