Skip to content
View teddy8023mars's full-sized avatar
🌏
c
🌏
c

Block or report teddy8023mars

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
teddy8023mars/README.md

Chen Ziyu (Teddy) — Data Engineer, Singapore. Pipelines, analytics and AI applications.

LinkedIn · Interactive portfolio · Explore the code

I’m Teddy, a data engineer based in Singapore. At work, I turn product questions into SQL datasets, scheduled pipelines and tools people can use themselves. Outside work, I build things I want on my own desktop.

Manus AI · Previously Tencent Games · Earlier internship at Shopee, Search & Recommendation
M.Sc., Computer Engineering — NUS · B.Eng., Electrical & Electronic Engineering — NTU

What I work on

  • Pipelines and warehouse models: Python, SQL and Airflow; incremental loads, validation, backfills and production troubleshooting.
  • Product analytics: subscription and cost data for AI products; player activity, retention and match data from my earlier work on overseas MOBA operations.
  • Self-service data tools: Slack-integrated analytics, OAuth, query authorization and audit logging, with engineering and database partners.

My professional work lives in company repositories. The projects below are personal work you can inspect here.

Data engineering labs

Three new personal labs built with AI assistance and synthetic data. Each has a runnable demo, tests and documented limitations.

MOBA analytics dashboard preview

Try the demos: Player analytics · Failure and recovery replay · Quality gate explorer

Lab Engineering focus Demo and evidence
MOBA Analytics Lab DuckDB + SQL facts, observable D1/D7 retention and payment metrics; optional dbt models and a local Airflow retry/validation flow Dashboard · dbt · Airflow · Measured loading experiment
Incremental Load Lab SQLite transactions couple versioned state and checkpoints; tombstones, replay and recovery after process termination Interactive replay · Process-kill experiment
Data Quality Gates Declarative CSV contracts with eight check types; strict count/rate validation, structured reports and distinct error exit codes Interactive report · Strict retention example · Actual failure output

The dashboards explore recorded synthetic outputs. The quality dashboard covers the original six-check example; the linked strict retention example uses eight checks. Airflow is exercised locally with DAG.test; cloud deployment and distributed processing remain outside these labs' demonstrated scope.

Selected projects

Project What I built Where to start
LeetCode Tracker A practice app with bilingual problem ingestion, scheduled sync, progress tracking and a local judge. TypeScript · React · tRPC · MySQL Schema · Sync orchestration · CI
Skin Lesion Analysis My first deep-learning project, revisited with segmentation, classification and an evaluation retrospective that documents leakage and failed experiments. Python · TensorFlow Results and limitations · Saved metrics
QuickMD A native macOS Markdown viewer with diagrams, math, live reload and PDF export. Objective-C · AppKit · WKWebView Screenshot and setup · Native app · Rendering tests
DeskCat A desktop companion with a procedural teddy bear, cursor tracking and idle animations. Swift · SceneKit English overview · Procedural model

The tracker’s judge is for local development, not a hardened public execution service. The skin-lesion project is an experiment, not a clinical tool. Both repositories explain their limitations alongside the implementation.

Tools I use

At work In personal projects
Python · SQL · Airflow TypeScript · React · tRPC
Redshift · TiDB/MySQL · AWS TensorFlow · Jupyter
Git · pytest · CI/CD Objective-C · Swift · AppKit · SceneKit
How I build

I use AI coding assistants for implementation and review. I focus on understanding the design, checking the results and documenting the limitations.

A little outside the warehouse

My portfolio is a small Three.js studio. Click around the room; the cat follows your cursor. There’s a Text version if you’d rather skip the 3D.

Interactive Three.js studio with project links and a cursor-following cat

Also: a restock notification tool, diving, and more side projects than spare weekends. English / 中文都可以。

Pinned Loading

  1. Skin-lesion-classification Skin-lesion-classification Public

    ISIC 2018 dermoscopy deep learning — all three tasks, a concept-bottleneck experiment, a skin-tone fairness audit, and a scored entry on the live ISIC MILK10k leaderboard (macro F1 0.422). My first…

    Jupyter Notebook

  2. leetcode-tracker leetcode-tracker Public

    Self-hosted LeetCode practice platform — bilingual problem sync, study plans, local online judge, AI explanations. React 19 + tRPC + Drizzle/MySQL.

    TypeScript 1

  3. DeskCat DeskCat Public

    macOS desktop companion: a 3D teddy bear (or cat) whose head follows your mouse — SceneKit + procedural SDF modeling

    Swift

  4. QuickMD QuickMD Public

    A lightweight native macOS Markdown previewer with GFM, syntax highlighting, Mermaid diagrams, LaTeX math, and dark mode support

    JavaScript

  5. teddy8023mars.github.io teddy8023mars.github.io Public

    My interactive 3D portfolio — a low-poly studio you can poke around. Three.js, no build step.

    JavaScript

  6. fk_popmart fk_popmart Public

    Pop Mart restock monitor — notify-only, no auto-checkout

    Python 2 1