The Lunar New Year holiday is supposed to be a time for lying back, watching videos, and playing games. However, as a dedicated workhorse programmer, how could I possibly let myself stay idle? So, during the break, I tinkered with opencode + MiniMax/Deepseek and came up with a few little things (definitely not because I got utterly wrecked in Street Fighter on New Year’s Eve and needed a distraction).
DevSSH
As someone who enjoys torturing myself by insisting on coding on weird devices, remote development is part of my daily routine. My current non‑daily driver, the Fydetab Duo, can run VSCode in its subsystem, but due to incomplete graphics acceleration, the experience is so laggy it’s practically unusable. I had previously tried to [develop a quick remote‑machine setup app inspired by Devpod], but my skills were truly limited—just understanding the code was a struggle.
But! With opencode, what I can’t do, I can let Deepseek and MiniMax handle. Besides having them implement the basic requirement of auto‑installing VSCode Web for this project, I even managed to add features that would have been very difficult for me alone: SSH config file parsing and automatic deployment of remote helper programs.
Right now it’s still a CLI tool, and I’m in the process of further refining it and adding a simple Web UI.
Recipes
This is my personal software repository. If DevSSH is about making my own work more comfortable, then Recipes is about making sure I have tools to use.
As someone who loves trying new tools yet wants every tool to be installable through a unified package manager—a somewhat contradictory desire—the best solution is to package them myself. Fortunately, pixi is built on the conda ecosystem, and its toolchain is quite complete, allowing me to quickly repackage projects with executable files using the repackaging feature. Currently, my channel already hosts five packages, all general‑purpose utilities. I plan to add more bioinformatics software packages later.
Of course, I’m not formally trained in programming. If it weren’t for repackaging existing executables and I had to compile from source, I’d run into a ton of compilation issues that I simply wouldn’t understand. Luckily, with opencode + minimaxi now able to automatically read logs and adjust, I managed to produce the ffmpeg‑rockchip package on the channel.
webapp‑picks
During the holiday, I wanted to tackle a more complete small project. Coincidentally, because Chromebooks—devices that heavily rely on Webapps—are rarely used domestically, there’s actually a lack of a Webapp directory suitable for Chinese users. So, together with opencode, I imitated the FydeOS App Store and built a simple app collection site.
Along the way, I also learned how to use git worktree, evaluated the API consumption of such a small project, and tested for potential pitfalls.
For the most part, everything went very smoothly. The main challenge was needing a browser‑use skill to parse the reference project (because it’s a dynamic page and couldn’t be parsed directly). Everything else just required a couple of extra reminders, and eventually it all worked out.
The only truly tricky part came from two layout modifications I was making simultaneously. One changed the top navigation, the other changed the app detail page from a separate page into a dialog. Both adjustments affected the project’s styling and layout. When the two changes were merged, there were no errors, but at runtime the parts they were responsible for displayed incorrectly.
A seasoned developer could probably have tweaked things and fixed it, but unfortunately, I don’t have those front‑end skills—I couldn’t solve it. To make matters worse, I carelessly dropped the wrong commit during a rebase. So, I had no choice but to re‑implement the two features sequentially (thankfully it wasn’t me, the workhorse, rewriting them from scratch…).
Conclusion
Honestly, being able to produce something from these holiday projects owes a lot to AI. In the past, I needed to understand‑decompose‑rebuild; now I can have a rough idea of what’s going on and still cobble together a presentable demo.
That said, the issues I encountered show that in real work, it’s still better to generate code you can fully debug yourself. If you can’t properly review the code during merging and a problem does occur, it might become completely unsolvable… So, after the holiday, this pure workhorse still needs to study the works of these cyber workhorses carefully—just like how Go players had to study AlphaGo’s game records to improve themselves.