Open Source

MiBeeNvr: A Lightweight Home NVR System I Built

I have several cameras at home — a few Xiaomi cameras, some DIY ESP32 cameras, and multiple Raspberry Pi CSI cameras. I’d been using cloud storage solutions, but I was never comfortable with them: vendor lock-in, network dependency, and the costs add up. So I decided to build my own NVR system, called MiBeeNvr. Why Build MiBeeNvr To be honest, I was never satisfied with existing cloud storage solutions. Take Xiaomi cameras, for example. By default, you can only view them through the Mi Home app. Recordings are either stored on an SD card (limited capacity, frequent plugging/unplugging) or in the cloud. Cloud storage costs tens of dollars per month, and there’s the privacy concern — you never know when the manufacturer might use your video data for AI training or sell it to third parties. Not to mention vendor lock-in — switching platforms is nearly impossible.

Continue reading →

Switched My Blog Theme: From Hugo NexT to Self-Written Zhi

Why Switch This blog previously used Hugo NexT, forked for custom modifications. NexT itself is a feature-rich theme, but when it comes to “customizing things yourself,” the experience wasn’t great. The issues boiled down to a few things: SCSS nesting hell. 101 SCSS files, three levels of directory nesting. _common/components/post, _common/components/third-party, _common/outline/sidebar… To change a style, you first had to figure out which file it was in, where variables were defined, and which scheme was overriding it. Not that it couldn’t be done, but each change meant half an hour of hunting.

Continue reading →