Newsroom
Updates on building, shipping, and scaling products and experiences
Leading Next-Gen MLOps FE for Top MedAI
June 4, 2025I led a front‑end rebuild of a medical‑AI MLOps platform: goals, tradeoffs, architecture, and lessons learned
Microsoft Forces Me to Delete My 230K User Extension
July 4, 2023I built a Bing Chat extension for Chrome and Firefox, hit 230K users, then shut it down over trademark risk and burnout
Bringing Samsung's Korean Keyboard Experience to iPhones
January 25, 2023I brought Samsung’s Korean keyboard layout to iPhone: design goals, UX tradeoffs, and how I built it
Recreating the Dynamic Island
November 23, 2022This is how I recreated Dynamic Island on the Web
Web Standard Mini App Problems
September 14, 2022What went wrong with web‑standard Mini Apps at Karrot: ecosystem limits, fragmented DX, and missing standards
Reviving Korean Emojis
August 19, 2022A Korean unicorn once replaced all Japanese emojis with Korean ones. They’re back
First week at Karrot
May 27, 2022My first week at Karrot as a Mini App researcher intern: application, interviews, onboarding, and early talks on web‑native mini apps
Creating Next-gen Digital Brains
May 14, 2022A proposal and implementation notes for a next‑gen digital brain: algorithmic linking and organization, interactive/visual posts, and multilingual distribution, culminating in the WWW project
The Computer Latency Calendar
April 19, 2022A 2020s update to the computer latency "calendar": turn nanoseconds into human time to show relative costs from caches to network trips
Music Videos in Terminals
July 5, 2021Turn videos into Unicode braille subtitle streams to "play" as ASCII art: dithering, frame processing, subtitle formats, and tools
Woowa Tech Camp 3rd Review
May 21, 2021I review Woowa Tech Camp 3: selection, intense curriculum, team projects, and what I took away
Building a Meme Rec App
February 16, 2021I built a weekend choice‑based meme recommendation app with Next.js: scenario tree design, static generation, and UX notes
Creating Calendar in JavaScript
November 14, 2020Build a tiny calendar in vanilla JavaScript with functional rendering and zero post‑init DOM mutation: design, utilities, and code
Crawling with APIs
October 30, 2020I use The Noun Project API with Python to batch‑download icons: OAuth setup, a reusable downloader, and pitfalls
YouTube Comment Language Filter
May 11, 2020How I built a Chrome/Firefox extension that filters YouTube comments by language, from initial idea to SPA quirks, permissions, and performance fixes
Backup Everything at Once with RSS
April 21, 2020Back up a Ghost blog with RSS: Markdown, images, fixed links, and a Python script
How Video Compression Works
November 6, 2019I explain video compression in plain English: I/P/B‑frames, redundancy, and why packet loss causes ghosting and pixelation
Financial Infrastructure for Schools
October 10, 2019I built and ran a prepaid tap‑to‑pay system for our school festival: design, security tradeoffs, open data, and what I learned