Skip to content
View mhju0's full-sized avatar
  • Seoul, South Korea

Block or report mhju0

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
mhju0/README.md

Michael Ju

AI backend developer — Python, FastAPI, PostgreSQL. I build LLM services that check what the model says instead of trusting it, and decide the shipping bar before I look at the numbers.

Open to AI / backend engineering roles. Seoul-based · native-level English.

🧭 Selected work

filing-digest — reads Korean (DART) and US (SEC) financial filings while keeping exact figures on a structured-data path outside the LLM. The hard part: the guards are mechanical, not prompt-level — missing or unknown citations reject the entire narrative, anchored financial-number patterns written by the model are blocked, and a 24-case live-API harness is run manually against an ingested corpus while deterministic service tests run in CI. FastAPI PostgreSQL + pgvector KURE-v1 Upstage Solar Docker Compose

fullcourt — measures what the NBA schedule does to a game (travel, rest, density) and predicts results, backtested to 1985–86. → Live The hard part: learned fatigue weights edged out my hand-tuned ones, and I still didn't ship them — the bar was written down before the numbers came in. Daily automated data pipeline on GitHub Actions. Next.js Supabase/PostgreSQL Python ML Playwright Vitest

raintoday — nationwide Korean rain forecast that answers when it rains, not just whether. → Live The hard part: deciding when to trust its own learning. Twice a day it freezes both the adaptive and the equal-weight blend at every KMA station before the outcome exists, scores them on the identical set, and suspends learning the day adaptive loses. Next.js PostgreSQL 5 forecast providers Brier scoring

stock-game — paper-trading service for US and Korean equities: multi-currency portfolios, FX, cost basis, S&P 500 / KOSPI benchmarks. → Live The hard part: the security layer is hand-built and audited — JWT + bcrypt, ownership checks, a sliding-window rate limiter I wrote myself, and two self-run security audits written up as documents. 273 tests on CI. FastAPI PostgreSQL React GitHub Actions Render + Vercel

Three of these run in production, two on daily automated pipelines. filing-digest runs anywhere Docker Compose does.

🧩 Also here

glass-table — Korean-first Hold'em trainer for iOS. Pure-Swift poker engine cross-checked against a Python oracle in a release-mode CI gate; zero third-party dependencies.

mammacare — bootcamp team project, 5 people, private team repo. Team lead and repo gatekeeper: owned auth (JWT + Google/Kakao/Naver with multi-provider account linking) and the notification/web-push system, and reviewed and merged 41 teammate PRs. 🏆 2nd place.

allergy-tracker — then I rebuilt that project's allergy domain alone, as an iOS app, to find out what I'd change with no team constraints. Food status is now never stored: it's derived from trial history on every read, so a delayed reaction logged weeks later flips a “safe” food back to red with no cache to invalidate. 209 tests, zero network code.

🛠 Stack

Daily

Python FastAPI PostgreSQL Docker GitHub Actions TypeScript

SQLAlchemy 2 (async) · Pydantic v2 · pgvector · JWT/OAuth2

LLM work — RAG pipeline design · HNSW retrieval · citation & number guardrails · live-API golden-set evaluation · Azure OpenAI · Upstage Solar

Also shipped with — React · Next.js · Swift/SwiftUI · React Native (Expo) · Supabase · Vercel · Render

📫 Contact

michael.mh.ju@gmail.com

Pinned Loading

  1. filing-digest filing-digest Public

    Bilingual iOS reader for DART and SEC filings with citation-grounded Q&A, structured financial figures, and cross-lingual retrieval.

    Python

  2. fullcourt fullcourt Public

    Rest is a stat. NBA analytics on what the schedule does to a game — travel, rest and density — backtested against every season since 1985-86.

    TypeScript

  3. raintoday raintoday Public

    오늘비 — South Korea local rain forecast. Weights five providers by observed local accuracy, and suspends its own learning the day that stops helping.

    TypeScript

  4. stock-game stock-game Public

    Paper-trading challenges for US and Korean equities with independent game sessions, multi-currency portfolios, and benchmark context. Maintenance mode.

    Python

  5. glass-table glass-table Public

    Korean-first iOS Hold'em trainer. Opponent strategies are published in-app, so every decision is graded by math you can check yourself.

    Swift

  6. allergy-tracker allergy-tracker Public

    Korean iOS baby food-allergy tracker — one food at a time, 3-day observation windows, doctor-ready PDF export. Expo + React Native, 100% on-device.

    TypeScript