# leodeng.dev > Leo Deng's personal website: projects, blog posts, photography, self-hosting, and current interests. English pages use the root URLs; Simplified Chinese pages use /zh. Blog links below serve the original published Markdown. This index is regenerated on every production build. Live status and usage figures can change between builds; visit the linked pages for current data. ## Main pages - [Home](https://leodeng.dev/) - [About](https://leodeng.dev/about) - [Projects](https://leodeng.dev/projects) - [Gallery](https://leodeng.dev/gallery) - [API docs](https://leodeng.dev/api-docs): Public JSON endpoints for agents and small integrations. - [Now](https://leodeng.dev/now) - [Stack](https://leodeng.dev/stack) - [Blog](https://leodeng.dev/blog) - [Contact](https://leodeng.dev/contact) - [AI](https://leodeng.dev/ai): How I use LLMs for code and writing, and what the AI labels on my blog mean. - [Interests](https://leodeng.dev/interests): Leo Deng's current rabbit holes, arranged by how often he comes back to them lately. ## Blog posts - [Happy 25th Birthday, iPod!](https://leodeng.dev/blog/happy-25th-birthday-ipod.md): Made a small recreation of THE classic iPod. - [Trying to make three old iPads useful & Made a old-internet styled version of my site](https://leodeng.dev/blog/three-old-ipads-and-a-retro-website.md): Trying to give three old iPads a second life, which somehow led to building a 2000s-style version of my website. - [I added post-quantum encryption to my website](https://leodeng.dev/blog/i-added-post-quantum-encryption-to-my-website.md): A connection dashboard, a GPS clock comparison, and a keyboard command palette. A few small updates that made this site more fun. - [Made a miniplayer for Apple Music on MacOS](https://leodeng.dev/blog/made-a-miniplayer-for-apple-music-on-macos.md): I Thought Apple Music's overlay is weird on macos, So I made my own version of the MiniPlayer - [Explaining my weird home network & services setup](https://leodeng.dev/blog/explaining-my-weird-home-network-services-setup.md): Small peek at my setup as a sysadmin :) - [I Forked Tailscale's Android App So My Phone Could Find My Homelab](https://leodeng.dev/blog/i-forked-tailscales-android-app-so-my-phone-could-find-my-homelab.md): Every single thing that broke while building a custom Android client for my self-hosted VPN: a home address I refused to publish, a build that lied to me, a typo on my server that did nothing for weeks, and a bug that only appeared when I left the house. - [Setting Up Headscale for Remote Access to My Home Server](https://leodeng.dev/blog/tailscale-headscale-setup-blog.md): What actually broke while getting my Mac, Windows PC, and phone to reach my home server remotely, and how I fixed each one. - [Hello, World!](https://leodeng.dev/blog/hello-world.md): First post in the NEW blog! - [Happy New Year!](https://leodeng.dev/blog/happy-new-year-2025.md): Ringing in 2025 from Beijing. - [Updates... I guess...](https://leodeng.dev/blog/updates-i-guess.md): End of 8th grade, a business competition in Suzhou, and a montage shot on the R6 across Suzhou and Tianjin. - [Raspberry Pi PDA](https://leodeng.dev/blog/raspberry-pi-pda.md): Building a handheld Raspberry Pi 4B with its own battery, speakers and 3D-printed case, for about ¥150 in parts. - [Recent updates #3 and a new project](https://leodeng.dev/blog/recent-updates-3-and-new-project.md): 2nd place at the NSL RC Racing competition, hotpot in Chongqing, and the start of the Raspberry Pi handheld. - [An update on recent things that happened](https://leodeng.dev/blog/an-update-on-recent-things-that-happened.md): Back after eight months: 8th grade, an RC car competition in Xiamen, and two new projects: YAUMSI and SafeSphereX. - [ezC!te version 2.0 is out. Sorry for being so late...](https://leodeng.dev/blog/ezcite-2-0-is-out.md): ezC!te 2.0 shipped back in March and I forgot to mention it. Here are the download links. - [My Counter-Strike: Source server is now open](https://leodeng.dev/blog/my-counter-strike-source-server.md): Running a full deathmatch CS:S server off an old ThinkPad, plus the SourceMod plugin list that made it work. - [Updates and recent projects Ver. 2](https://leodeng.dev/blog/updates-and-recent-projects-ver-2.md): Three weeks of summatives, and the start of ezCite. - [What I'm working on recently](https://leodeng.dev/blog/what-im-working-on-recently.md): HackGen, 6th grade online classes, CS:GO screenshots on a GTX 960, and a sci-fi novel I was going to write. - [How to make a Raspberry Pi NAS server](https://leodeng.dev/blog/how-to-make-a-raspberry-pi-nas-server.md): Turning a Raspberry Pi 4B and a leftover drive into a Samba file server you can reach from every machine in the house. - [Hello, World! (2022)](https://leodeng.dev/blog/hello-world-2022.md): The very first post on my very first blog, running on a Raspberry Pi. ## Photo collections - [Autumn 2024](https://leodeng.dev/gallery/autumn-2024): 5 photos. - [Imperial Palace 2023](https://leodeng.dev/gallery/imperial-palace-2023): 7 photos. - [Moons](https://leodeng.dev/gallery/moons): 2 photos. - [Panoramas & Photospheres](https://leodeng.dev/gallery/panoramas-photospheres): 9 photos. - [Planespotting](https://leodeng.dev/gallery/planespotting): Shots from planespotting trips. - [Suzhou](https://leodeng.dev/gallery/suzhou): 84 photos. - [Tianjin](https://leodeng.dev/gallery/tianjin): 8 photos. - [Uncategorized](https://leodeng.dev/gallery/uncategorized): 7 photos. - [Xiamen, Chongqing, Fuzhou 2024](https://leodeng.dev/gallery/xiamen-chongqing-fuzhou-2024): 25 works. ## Optional - [Shelf](https://leodeng.dev/shelf): Movies and TV shows I've watched, and albums I like. - [Stats](https://leodeng.dev/stats): A few numbers from the things I spend time doing: writing code and practicing typing. - [Spotting Stats](https://leodeng.dev/spotting): Every frame in my planespotting gallery, counted: gear, focal lengths, exposure and time of day, read straight out of the EXIF. - [Changelog](https://leodeng.dev/changelog): Every commit to leodeng.dev, generated from the repo at build time. - [Homelab](https://leodeng.dev/homelab): Live status of my home server: uptime, load, memory and CPU temperature, pushed every minute. - [Token Stats](https://leodeng.dev/tokens): How many LLM tokens I have burned through, today and all time, counted from local session logs and pushed from my server. - [IP & Connection](https://leodeng.dev/ip): A look at the public IP, network, and connection details Cloudflare sees when you visit my site. - [Time](https://leodeng.dev/time): Live GPS/PPS time from my Raspberry Pi, shown in your timezone, Beijing time, and UTC. - [Terminal](https://leodeng.dev/terminal): Run a real Linux kernel and shell in your browser, with a small optional download saved for future visits. - [RSS Feed](https://leodeng.dev/feed) - [OpenPGP](https://leodeng.dev/pgp): Leo Deng's current public OpenPGP key for verifying signed email and encrypting mail. - [Privacy](https://leodeng.dev/privacy): How this site uses browser storage, Cloudflare, and external services. - [AI chat](https://leodeng.dev/daily): Chat with DeepSeek Flash about Leo’s projects, writing, photography and website. - [Chinese home page](https://leodeng.dev/zh): Simplified Chinese version of the site. - [RSS feed](https://leodeng.dev/rss.xml): Published blog posts with full rendered content. - [Sitemap](https://leodeng.dev/sitemap.xml): Complete public page index with English and Chinese alternatives.