I build practical products, turning dense institutional information into tools people can actually use, as well as simple apps that solve friction points efficiently.
Building solutions from unstructured institutional data.
Each project starts with a concrete friction point and is shaped around the people who have to live with the solution.
01 / Education technology
HKS Course Explorer
One clear view across courses, faculty, schedules, and evaluations.
A full-stack planning tool built independently for Harvard Kennedy School students. It brings current listings, historical Q Guide evaluations, degree requirements, schedule conflicts, and an AI course advisor into one coherent experience.
A faster, more private way to exchange details in the room.
A native Android app for standards-compliant contact QRs, one-tap presentation, and on-device business-card capture. It removes the usual account, cloud, and tracking layers from a simple human interaction.
A global community made searchable, visible, and useful.
An independent alumni directory for Yenching Academy at Peking University. A tactile WebGL globe, fuzzy search, cohort filters, and carefully reconciled professional data help a distributed community find one another across 90 countries.
A pocket-sized bar system for guests and bartenders.
Casa Michele v4 turns a cocktail night into one shared service flow. Guests join a protected event, browse 41 cocktails, and order from their phones; bartenders manage live orders and ingredient availability from the Android app or web dashboard.
Android app and responsive web menu with 41 cocktails
PIN-protected bartender rooms with live stock and order status
Guest-to-bar ordering with in-app ready notifications
The entire family cookbook and Casa Michele bar, always in your pocket.
A fully offline Android cookbook that preserves the website's 59 family recipes and adds all 41 Casa Michele cocktails in the same ingredient-and-method table structure, complete with four languages and dual cl/ml measures.
59 family recipes and 41 Casa Michele cocktails
English, German, Chinese, and Russian, fully offline
Ingredient search, categories, favorites, and cl/ml measures
A deterministic pipeline for native, editable PowerPoint decks.
A Codex plugin and layout compiler that turns ideas and structured content into PowerPoint files built from native, editable objects. It compiles layout constraints, fits text at conventional integer sizes, renders, lints, audits OOXML, and packages verification evidence before delivery.
Native editable text, shapes, charts, tables, and groups
Deterministic margins, padding, and text fitting
Layout linting, OOXML audits, and delivery evidence
Turn any animation into a polished WhatsApp sticker pack, privately, on-device.
Motion Sticker Lab is an Android creation studio for converting GIFs and short videos into animated WhatsApp sticker packs. It combines local conversion with named pack management, previews, editing, direct Android Share imports, and the official WhatsApp handoff.
GIF, MP4, WebM, and MOV conversion to animated WebP
Named multi-pack library with previews, reordering, moving, and undo
Direct Android Share import and official WhatsApp pack handoff
Every text block has to communicate a fact, reason, decision, or action.
A local Codex skill and plugin that audits PowerPoint, Word, PDF, Markdown, and plain text for vague claims, empty phrases, repetition, unsupported conclusions, and missing context. Rewrites stay bound to the source, preserve protected facts, and are independently verified before delivery.
Meaning and value review for every eligible text block
Protected numbers, quotations, citations, URLs, and terminology
Private style profiles, source-safe copies, and verification receipts
A local-first Chrome extension that builds a durable copy of a personal LinkedIn post history, enriches every post with the native analytics and audience data LinkedIn exposes, and turns it into one clean dataset that can be updated over time.
Complete history collection with stable post deduplication and explicit failed outcomes
Ordinary metrics plus per-post discovery, engagement, profile activity, and audience demographics
Detailed 61-column CSV, enriched one-row CSV and XLSX, Google Sheets sync, and safe re-import