Skip to content
Back to timeline
SKC Engineering logo

SKC Engineering

Software Engineer Intern

Led a 3-person subteam building an AI-powered WPS platform for ASME Section IX, plus a 29,000-row zero-loss database migration.

Overview

Three problems back to back: leading a small team building a document-generation platform welding engineers actually have to certify against, turning 15,639 messy SharePoint files into a clean training set, and moving a live database between clouds without losing a single row.

What happened

WPS Generation Platform (ASME Section IX)

A Welding Procedure Specification is a compliance document. It has to hold up against ASME Section IX, so 'the AI wrote it' is not an answer an auditor accepts. I led a 3-person subteam building the platform in React and TypeScript. Most of the design work went into traceability: every field the model fills in can be walked back to the code clause and the qualification record it came from.

Leading a subteam was the real lesson. I learned to split work along interfaces instead of files, so three people could move without blocking each other, and to spend my review time on the compliance-critical paths.

SharePoint File Classification Pipeline

The ML team needed clean training data. It was buried in 15,639 SharePoint files with no consistent structure. I built an authenticated PowerShell pipeline through an Azure App Registration to pull every file and sort it into six welding-process categories. I tuned it until 70% needed no human review before going to the team for fine-tuning, which removed 200+ hours of manual labeling.

The part I trust most is the logging. Every run wrote structured CSVs at the company level and the file level, so when something looked wrong you could trace what happened instead of re-running blind. Across the parallel batch runs, that saved an estimated $15,000+ in engineer time.

Linode MySQL → DigitalOcean PostgreSQL Migration

The last piece was moving a live database from legacy Linode MySQL to managed PostgreSQL on DigitalOcean. 29,000+ rows across 87 tables, with nothing dropped or duplicated. The tables had foreign-key dependencies, so insert order mattered. I wrote a topological sort to resolve them, made the inserts idempotent and batched so a failed run could be retried safely, and validated primary keys before and after. Every row was accounted for on both sides. 100% parity.