Work that ships
Case-study style breakdowns: what I built, why it mattered, the architecture behind it, and what came out the other end.
Loan Approval Prediction API
End-to-end machine learning pipeline that ingests a 87k-row loan dataset, runs full preprocessing (missing values, encoding, scaling), trains a Random Forest classifier, and serves predictions via a FastAPI REST endpoint. Every prediction is logged to SQLite for auditing.
- ▹Handled class imbalance with SMOTE oversampling — lifted recall on minority class from 61% to 89%.
- ▹Implemented feature importance ranking; top predictors were credit_history, loan_amount_term, and applicant_income.
- ▹Built FastAPI endpoint with Pydantic validation, JSON responses, and per-request SQLite audit logging.
- ▹Packaged with requirements.txt and documented with clear README for reproducibility.
Municipal Data Platform
Large-scale data infrastructure for Korean local governments — aggregating GIS data, population census records, budget databases, and IoT sensor feeds into a unified PostgreSQL warehouse. Powers real-time dashboards used by city planners and government officials for data-driven policy decisions.
- ▹Designed ETL pipelines from 4+ heterogeneous sources including GIS shapefiles, CSV census exports, and SQL dumps.
- ▹Implemented deduplication, null-fill strategies, and data quality validation gates before warehouse load.
- ▹Built REST API layer on top of the warehouse to serve dashboard data to a Next.js frontend.
- ▹Maintained schema versioning using Prisma migrations to handle evolving government data requirements.
- ▹Delivered dashboards enabling geographic and temporal analysis of municipal resource allocation.
minhongcho.dev — Personal Portfolio
This website — a fully bilingual (EN/KR) portfolio and contact system built with Next.js 15 App Router, Prisma ORM, and PostgreSQL. Features a contact form with email delivery via Resend, a public Q&A system with rate limiting, and a filterable resume page.
- ▹Built with Next.js 15 App Router — server components, nested layouts, locale-prefixed routing (/en, /ko).
- ▹Contact form POSTs to a serverless API route that stores in PostgreSQL via Prisma and sends email via Resend.
- ▹Public Q&A system with IP-based rate limiting (3 questions / 10 min) and honeypot anti-spam.
- ▹Filterable resume section with tag-based project/experience filtering and skills evidence mapping.
- ▹Dark mode support via CSS custom properties and `prefers-color-scheme` media query.
Computational Neuroscience — UofT (2023)
Contributed data analysis and automation pipelines to biomedical research published in Nature and Autonomic Neuroscience. Built Python scripts for signal processing, statistical testing, and figure generation.
Interested in working together?
Open to SWE / data engineering roles, freelance builds, and technical collaborations.