CL
CONNOR.SYS
FIG. 00 — POWERED ON

CONNOR LIN

DRAWING NO.
CL-000
CURRENT
FLOWING
TITLE
PORTFOLIO — HERO
01
FIG. 01ABOUT

About

ID // C-LINOnline
Subject
Connor Lin
Role
Computer Engineer
Origin
Taipei, TW
Base
Seattle, WA
School
UW · Allen School
Class of
2028
Focus
ML · Hardware · Web

Hi, I'm Connor! My journey started in Taipei, Taiwan, and brought me to the suburbs of Chicago at age 10. While I spent my high school years as a competitive fencer, it was a curiosity for programming at age 12 that truly sparked my passion for building and problem-solving.

I'm currently a Computer Engineering student at the University of Washington's Paul G. Allen School, minoring in Entrepreneurship. I love building things from the ground up, which is why I chose an engineering path that merges a rigorous CS curriculum with the fundamental principles of hardware.

University of Washington

Paul G. Allen School of Computer Science & Engineering

Degree
B.S. Computer Engineering
Minor
Entrepreneurship
Graduation
June 2028

Transcript

Computer Science & AI/ML

  • Data Structures and Parallelism - CSE 332
  • Hardware/Software Interface - CSE 351
  • Artificial Intelligence - CSE 473
  • Natural Language Processing - CSE 447
  • Computer Vision - CSE 455 (Upcoming)

Mathematics

  • Discrete Probability - CSE 312
  • Discrete Mathematics - CSE 311
  • Differential Equations (IP)
  • Linear Algebra
  • Calculus III

Systems, Hardware & Robotics

  • Digital Logic Design - CSE 369
  • Autonomous Robotics - CSE 478 (Upcoming)
Selected Readout
0.0%
Extraction accuracy · 684-filing benchmark, Bondoro
NIST
Research · U.S. Dept. of Commerce
0.0k
Unique visitors · SHS Maps, week one
02
FIG. 02WORK

Projects

Here are some of my projects that I've worked on.

DWG. CL-001● FEATURED

Multi-Agent Explainer Video Generator

🎥 AI/ML Engineering Internship at Bondoro Insights

An internal production tool that turns Bondoro's written analyses of Chapter 11 bankruptcy filings into finished, documentary-style explainer videos of about two minutes: narration, animated charts and timelines, court-exhibit pages, captions, mastered audio, and a publish bundle for X and YouTube. A non-engineer starts a video from a case URL in a web dashboard, walks away, and later revises it by leaving plain-language notes that a Claude agent carries out, changing only what the note names. Because this is financial content, the system is built around factual accuracy and tight control of paid API spend, and it runs at roughly an order of magnitude lower cost than an all-AI-video approach.

Script writing is an orchestrator agent driving specialist subagents (creative director, writer, graphics-spec, b-roll prompter, and an independent fact-checker) through code-validated handoffs, with failures routed back to the agent that owns the field. The fact-checker must cite the source verbatim for every finding, and code verifies the citation exists before the finding counts; in a controlled test it found errors in three scripts that human editorial review had passed as clean. Timing is audio-first: narration is synthesized before anything else, and a deterministic beat engine fuzzy-matches chart labels and figures against word-level timings so each bar and number lights up when the narrator says it. Charts, timelines, and documents are rendered from HTML/CSS/SVG in headless Chromium with deterministic frame capture, where every frame is a pure function of the page and a timestamp, while generative video is limited to a few seconds of b-roll. Every prompt, model, or stage change must pass a blind A/B evaluation, lint and pronunciation gates run before any paid step, and content-addressed caching means editing one scene never re-buys unchanged narration or video. The FastAPI and React dashboard runs each video in its own worker process, streams progress over server-sent events, and quotes a price before every edit. Agent-executed reviewer feedback improved from at most 1 of 13 real notes landing without human help to 10 of 13, and the system is backed by about 6,200 automated tests. (Proprietary codebase, no public repo.)

Stack
PythonTypeScriptClaude Agent SDKMulti-Agent SystemsLLM EvaluationFastAPIReactPlaywrightFFmpeg
Links
DWG. CL-00202 / 07

Chapter 11 Filing Extraction Pipeline

🏦 AI/ML Engineering Internship at Bondoro Insights

A document AI pipeline that converts scanned, hundreds-of-page Chapter 11 bankruptcy filings into highly accurate structured text feeding LLM pipelines that generate case summaries and pitchbooks for large-cap bankruptcies. Because downstream summarizers faithfully report whatever the extraction says, the system is engineered around a single principle: a confidently wrong value (a silently corrupted figure or a number drifting away from its label) is worse than a loud failure. It scored 99.3% composite accuracy across a 690-document benchmark.

The architecture is a deterministic OCR spine with routed VLM overlays — page-level quality scoring identifies problematic content and routes only those pages to heavier models, so expensive stages run only where they provably win. Computer vision stages recover checkbox states from degraded scans (faded borders, hand-drawn ticks, bleed-through) and de-weld superscript footnote markers that OCR engines misread as digits in financial figures — a class of silent corruption where a single welded character can turn a correct dollar amount into a plausible 10× error. An independent OCR cross-check catches silent line-detection misses from the primary engine. Engine selection was settled through structure-aware bake-offs across 5+ OCR/VLM candidates, and a CI-gating evaluation harness enforces exact match on financial fields and label–value association against hand-verified ground truth. The pipeline runs deterministically and local-by-default on consumer GPUs, with serverless GPU offload for heavy stages and reproducible parity across dev and production environments. (Proprietary codebase — no public repo.)

PythonOCRVLMsComputer VisionLLM EvaluationServerless GPU
DWG. CL-00303 / 07

STM Tip Quality Automation

🔬 National Institute of Standards and Technology, U.S. Department of Commerce

Developed a CNN-based system to automate Scanning Tunneling Microscope (STM) tip quality assessment for atom-by-atom quantum device fabrication. This project enhances precision in STM usage by distinguishing sharp and dull tips, enabling automated real-time decisions crucial for high-accuracy atomic manipulation.

The project employs a convolutional neural network (CNN) to classify STM tip sharpness, with custom image processing and contour extraction. Data augmentation techniques bolster model resilience despite a limited dataset. An ROI-based cross-scan algorithm further enhances accuracy, ensuring reliable classifications and forming the foundation for full automation in STM-based fabrication.

PythonCNNComputer VisionImage Processing
DWG. CL-00404 / 07

Valorant Lightweight Tracker

🎯 Live Lobby Stats in a 5 MB Desktop App

A Windows desktop app that shows a real-time stats table during a Valorant match: every player's rank, RR, peak rank, agent, headshot percentage, win rate, recent match history, KD, and equipped weapon skins. It reads directly from Riot's local client API and remote endpoints, with no third-party data services, scraping, or API keys. The app ships as a single portable executable of about 5 MB that uses about 30 MB of RAM, updates itself in the background, and makes zero network requests when no match is active.

The app is built on Tauri 2 with a Rust backend running on Tokio and a React/TypeScript frontend. The backend watches Valorant's lockfile for the local client port and credentials, holds a persistent websocket for game-state events, and decodes the player's presence to track the Menus, Pregame, and Ingame states. On a state change it fetches the match roster, then fans out per-player calls for MMR, competitive history, match details, and loadouts. That enrichment is rate-limit safe by design: a fixed 120 ms inter-request delay, Retry-After backoff on 429s, and session-lived caches keyed by match ID and game phase, which brought a full 10-player lobby from about 15 seconds with frequent 429s down to about 5 seconds with none. A fast snapshot (names, ranks, agents) reaches the UI in under a second while heavier stats fill in asynchronously, and a cancellation signal checked between every API call aborts stale work when the player leaves agent select. The backend owns row ordering and privacy enforcement, and publishes a new snapshot only when content actually changed. Releases are built by GitHub Actions on tag push, and 146 unit tests cover the parsing and aggregation logic.

RustTauri 2TokioReactTypeScriptWebSocketsGitHub Actions
DWG. CL-00505 / 07

mpv Watch Together

🎬 Synchronized Long-Distance Movie Watching

A real-time synchronized movie-watching system for mpv, the command-line media player. A Go helper process manages room state through Firebase Realtime Database while an mpv Lua client hooks into playback events, keeping participants frame-accurate across the internet. The host runs a browser dashboard with a live guest roster showing online/offline status, buffering state, drift, and last-sync timestamps, plus controls for force sync and track pushing. Guests join through mpv's in-player menu and are automatically seeked to the host on connect, with seek-lock snapping them back if they scrub away.

The system ships as two compiled Go binaries (host and guest) with role baked in at build time, plus an mpv Lua script and config file. The helper exposes a local HTTP API that the Lua client polls asynchronously with bounded timeouts so playback is never blocked by network issues. Room state lives in Firebase Realtime Database — the host writes playback position, pause state, and server-calibrated timestamps, while guests read and apply corrections. Adaptive polling adjusts the interval between idle and active states. Seek-lock prevents guest drift beyond a configurable gap, and auto force-sync triggers when the host makes large seeks. The host dashboard is a vanilla HTML/JS/CSS app served by the helper at localhost:8765, with shared room-event toasts and per-room settings (poll intervals, seek lock gap, cooldowns) that persist in Firebase. Cross-platform builds target Windows (host + guest) and macOS Apple Silicon (guest) via PowerShell and shell build scripts, with .env-driven Firebase URL and room defaults baked into release bundles.

GoLuaFirebase Realtime DBREST APIWebSocketsCross-PlatformHTML/CSS/JS
DWG. CL-00606 / 07

SHS Maps

📊 4.2k Unique Visitors in the 1st Week

SHS Maps is a program designed to assist new students in navigating their school. It implements pathfinding algorithms to determine the shortest and most efficient routes to their classes. The program connects six different locations within the school, including West Floors 1-2, the Link, and East Floors 1-3, providing convenience and ease of use for students.

The backend is entirely developed in Python and utilizes the A* pathfinding algorithm to calculate the shortest path between two points. It works by converting a picture of the school map into a 2D array, with each pixel representing a node. The program then applies the A* algorithm to find the shortest path between two nodes and incorporates a breadth-first search algorithm to determine the necessary locations to traverse in reaching the destination.

PythonA* SearchBFSPathfinding
DWG. CL-00707 / 07

Surplus Share

🏅 1st Place at SHS Hackathon 2024

Surplus Share is an innovative application designed to bridge the gap between businesses with surplus food and individuals in need. Utilizing an advanced heuristic genetic algorithm, the app optimizes delivery routes for drivers, ensuring the swift and efficient distribution of food. It also incorporates a sophisticated distribution algorithm, taking into account various factors such as dietary restrictions to facilitate the most effective allocation of food resources.

Surplus Share utilizes a Python backend with a heuristic genetic algorithm to optimize delivery routes for drivers. This algorithm leverages the Google Maps Distance Matrix API to calculate travel times and distances between locations, taking into account real-time traffic conditions. Additionally, a distribution algorithm ensures efficient allocation of food resources based on dietary restrictions. Firebase Firestore serves as the database, storing information about businesses, individuals, and available food. The frontend, built with Nuxt.js and TailwindCSS, provides a user-friendly interface for both businesses and individuals.

PythonGenetic AlgorithmGoogle Maps APIFirebaseNuxt.js
03
FIG. 03SKILLS

Skills & Achievements

The toolbox I build with, and a few milestones along the way.

Languages

  • Python
  • TypeScript/JS
  • Rust
  • Go
  • C/C++
  • Java
  • Lua
  • SQL
  • HTML/CSS

ML / AI

  • Multi-Agent LLM Systems
  • LLM Evaluation
  • RAG
  • VLMs
  • Document AI / OCR
  • Computer Vision
  • Quantization (MLX)
  • On-Device Inference

ML & Data Libraries

  • PyTorch
  • TensorFlow
  • OpenCV
  • Pandas
  • NumPy
  • Claude Agent SDK

Web & Desktop

  • FastAPI
  • Flask
  • Django
  • React/Next
  • Svelte/SvelteKit
  • Tauri
  • TailwindCSS
  • WebSockets

Data & Cloud

  • PostgreSQL
  • Firebase
  • Supabase
  • MongoDB
  • AWS
  • GCP
  • Modal

Tools & DevOps

  • Docker
  • Git
  • CI/CD
  • GitHub Actions
  • Pytest
  • FFmpeg
  • Linux

Achievements

2025

  • 1st for Fencing in the Great Lakes High School Men's Team Overall.

2024

  • 1st in the Stevenson High School Hackathon.
  • 2nd for Fencing in the Great Lakes High School Men's Team Overall.
  • National Chinese Honor Society (NCHS) Member.

2023

  • 3rd in the Stevenson High School Hackathon.
  • Silver Division in the USA Computing Olympiad (USACO).
  • 1st for Fencing in the Great Lakes High School Men's Team Overall.
  • National Honor Society (NHS) Member.
04
FIG. 04CONTACT

Get in touch

Find me around the web.