About Me

I'm Leo, 16 years old, from Beijing. I am a full-stack developer. I got into coding by making random projects that make my life easier, breaking things, and learning a lot of valuable lessons. Somewhere along the way, coding became my hobby.

Outside of code I like tinkering with my homelab, electronics (ESP/Arduino/IoT), home automation, computers, and photography. My photos are here. I also watch some F1 and bike around the city when the weather lets me. Self-hosting is one of my favorite things to do. I run Home Assistant, Jellyfin, Immich, AdGuard, and a few others, plus some services I made myself. It is really just the usual homelabbing rabbit hole.

I mostly use Vue and React for frontend development, and Python (FastAPI), Go, and Node.js for backend development. I frequently use AI tools to move faster from an idea to a working prototype and then to a finished product.

Movies, TV shows and albums on my shelf ↗

GitHub

Loading GitHub activity...

More personal stats ↗

My Favorite Rock Playlist

This player is provided by Apple. Loading it lets Apple receive connection and usage information and use cookies or local storage. It stays off until you choose to load it.

Tools I Use

Not a skill tree, just tools and tech I use regularly.

htmlcssjsreactvuevitenode.jspythonfastapidockerollamagitlinuxprompt engineeringself-hostingtypescripttailwindnext.jsesp32homeassistant

My Journey

2017

Started coding: school projects in Scratch

2018/19

Started learning HTML, CSS, JS and built my first personal site

2023

AI boom: started using AI tools to build websites and apps

2025

Built ShutterWingPhotos (React, Vite, Node.js)

2026 (now)

Building llmgps, getting into IoT, and working on new projects. More on the /now page.

Languages

🇨🇳 Chinese · 1st language🇺🇸 English · 2nd language