Everything I have shipped and kept — production platforms, desktop tooling, and side builds. Each entry notes the constraints I worked under and the calls I made.
2026
Multi-Brand E-commerce Platform (7 Markets)
Core developer on a multi-brand sticker e-commerce platform serving seven country storefronts (Korea, Japan, the US, Canada, Australia, New Zealand, and Singapore). Built and maintained operations-critical APIs, admin tooling, and storefront features.
Built end-to-end customer authentication: OTP verification, password reset, Google/Kakao SSO, and trusted-device login with Laravel Passport.
Owned Production & Shipping Schedule Management across all storefronts, computing delivery dates across holidays and courier off-days.
Built Manage Shipping and Glophics Shipping admin modules: order merging/splitting, batch numbering, and CSV export.
Implemented Tracking Management, centralized order-status workflows, and invoice/job-details PDF generation.
Delivered internationalization (including Korea and Japan) and hardened the platform with SQL-injection detection and an audit trail.
A full-stack website and player account portal for the Aion Tempest private MMORPG server, built with Laravel 12 and Tailwind CSS. It plugs directly into the live Aion game database to handle account registration and authentication, live realm status, rankings, downloads, VIP memberships, redeem codes, and an in-game currency (Toll) shop.
Built the player account system on Laravel 12: registration, login, email verification (signed URLs and throttling), and password reset, backed by the game account_data table.
Integrated with the live Aion MySQL database (players, legions, abyss ranks) to power real-time realm and server status plus the rankings boards.
Implemented the rankings engine: Abyss points, Glory points, level, kills, and legion boards with search, faction and class filters, and pagination.
Shipped monetization and account features: a Toll in-game currency shop, VIP memberships, and redeemable codes.
Rendered every page with Blade and Tailwind CSS v4 via Vite, added launcher auto-update and maintenance flows, and covered the app with Pest tests.
Built a Windows desktop app that drives a Laravel Homestead development box without living in the terminal — machine controls, live status, an embedded SSH terminal, and in-app config editing in one window.
Embedded a real pseudo-terminal (Windows ConPTY) running vagrant ssh in-app, with a hand-written VT100/xterm emulator for colors, resizing, and interactive TUI programs.
Wrapped the Vagrant CLI for start, halt, and reload with provisioning, streaming live output and driving a status beacon that enables controls based on real machine state.
Added in-app editors for the Windows hosts file and Homestead.yaml, with automatic UAC elevation on save for admin-only writes.
Implemented auto-discovery of the Homestead folder across common locations, with manual override and one-click cloning of the official repo via Git.
A real-time multiplayer word duel that runs entirely in the browser — no backend, no accounts, no build step. Players secretly pick a letter, the letters reveal simultaneously after a countdown, and everyone races to type a real English word that fits them. Three modes (duel, round robin, letter hunt) share one host-authoritative game engine.
Designed a serverless star topology where the host is the authority: guests send intents and render full state snapshots, so "both players see the same game" holds by construction instead of by bookkeeping.
Solved the photo-finish problem with a serialized submission queue and a 120ms coalescing window ordered by offset-corrected client time — the first presser wins 10/10, against 0/5 for a naive concurrent implementation.
Shipped dual transport so restrictive networks still connect: WebRTC data channels (~0 to 50ms) with an MQTT-over-WSS relay fallback (~440ms), with hosts listening on both at once while guests fall back.
Kept committed letters physically out of the published snapshot (private map outside the store) and verified adversarially that a rival's serialized state and DOM contain no trace of the opponent's letter.
Layered word validation: synchronous rule checks first, then a dictionary provider chain (Merriam-Webster, Free Dictionary, local 36k wordlist) that only stops on a confident answer, so a flaky network never reads as "not a word".