About
I'm a software engineer, educator, and maker who builds tools for creativity and learning. I'm currently a graduate student at Tsinghua SIGS in Shenzhen. My previous roles include work at Apple, Nest Labs, and several startups, as well as academic positions at NYU Shanghai and Franklin W. Olin College of Engineering.
I developed core technologies at Apple (the QuickDraw GX graphics engine) and Nest (backend services for the Learning Thermostat). I have also created open-source tools and libraries that inspired language features in CoffeeScript and beyond. I have founded startups, led engineering teams, and hold patents in IoT systems and interactive shopping.
As an educator, I've developed and taught courses in creative coding, physical computing, software design, and woodworking for art and design. My teaching philosophy centers on hands-on learning, creative expression, and building tools that empower others to create.
Tech Stack
While I've also done commercial work in Assembly, C, C++, Common Lisp, Java, and with AWS and Twilio, my current preferred stack includes:
Languages
- TypeScript/JavaScript for web development
- Python for AI/ML applications and backend services
- Python, TypeScript, Go, and Rust for command-line tools
- Rust for performance-critical applications
Web Development
- Astro for static sites and content-focused applications
- React for interactive web applications and teaching
- Tailwind CSS for styling
- Bun as the preferred JavaScript runtime and package manager
Deployment & Infrastructure
- Vercel - Frontend cloud platform with instant deployments
- Cloudflare - Edge network and web infrastructure
- Digital Ocean - Cloud infrastructure for servers and databases
See my uses page for the development tools, productivity apps, and other software I rely on.
Areas of Interest
Language Models & AI Research
I study how LLM architectures give rise to model capabilities. I also build tools for working with them. This is my primary research focus in graduate school.
Creative & Interactive Systems
I build software and hardware for artistic expression, creative exploration, and interactive experiences through physical computing and creative coding.
Language Learning Technology
I develop tools and systems for language acquisition through interactive applications and AI-powered learning aids.
Computer Education
I create resources and tools for teaching programming and computational thinking through hands-on, project-based learning with Processing, p5.js, Arduino, and ESP32.
Get in Touch
I'm always interested in connecting with fellow developers, educators, and makers. Feel free to reach out through my contact page or connect with me on GitHub, LinkedIn, or Bluesky.