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

My Favorite Rock Playlist

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