Student developer
Information Management student at National Taichung University of Science and Technology (NTCUST), with a focus on building practical full-stack systems end-to-end — from authentication flows to real-time data pipelines to browser extensions.
I build the part of the system you only notice when it's gone.
- Real-time systems — event-driven architecture, pub/sub patterns, latency optimization
- Authentication & security — JWT, session management, middleware design
- Frontend performance — rendering strategy, bundle optimization, perceived performance
- LLM integration — bringing AI into browser-based workflows with BYOK (bring-your-own-key) models
💬 chat.to — Real-time chat, built the way modern chat should be
A full-featured real-time chat application with group rooms, typing indicators, and media uploads.
Stack: Next.js (API Routes) · TypeScript · Supabase · Ably · NextAuth · Cloudinary
What I built & why it's interesting:
- Real-time via Ably pub/sub instead of rolling my own WebSocket server — lets the app scale horizontally on Vercel's serverless runtime without long-lived connections on the origin
- Session-based auth with NextAuth, integrated into API routes and Ably channel authorization so users can only subscribe to rooms they belong to
- Media uploads offloaded to Cloudinary via signed uploads, keeping large payloads out of the API layer entirely
- Typing indicators implemented as ephemeral Ably presence events (not persisted), which was a deliberate trade-off between UX fidelity and DB write pressure
🔗 Live demo: https://chat-to-sage.vercel.app/introduce
🔤 TermExpander-ai — A Chrome extension for normalizing academic terminology
Highlight any term on a webpage, click the floating button, and get a normalized academic version — expanded acronyms, standardized translations, and formal replacements for informal phrasing. Built for students and researchers working across languages and citation styles.
Stack: TypeScript · Chrome Extension (Manifest V3) · OpenAI & Gemini APIs
What I built & why it's interesting:
- Multi-provider LLM support (GPT + Gemini) behind a small adapter layer, so adding a new provider is a single file
- BYOK (bring-your-own-key) architecture — API keys are stored locally in the user's browser, never touching my servers. No backend, no billing, no data retention
- Floating-button UX that appears on text selection, built to stay out of the way on dense academic pages
- Designed for real research workflows: acronym expansion (e.g. RAG → Retrieval-Augmented Generation), cross-language term standardization, and informal-to-formal rewriting
Not yet published to the Chrome Web Store — currently a developer-install build.
Always open to collaborating on interesting projects, discussing system design, or exploring internship opportunities.
Thanks for stopping by ☕


