Cryptocurrency involves risk. This article does not constitute any investment advice.
Background (Feel Free to Skip)
Over the past few days, I’ve been learning about the crypto space and even dipped my toes in myself. The exchange apps on mobile all have floating-window features, but I haven’t found a desktop equivalent that really satisfies me. Previously, I had to keep multiple browser windows open, which wasn’t very convenient.
Some of these desktop products are even paid on the Microsoft Store. After spending some time cracking one, I found it was honestly a mess—hard to describe. I wouldn’t use it even if someone paid me 😅
The weekend finally freed up, and I’d been wanting to learn Go for a while but never had the time to practice. Then I stumbled upon this idea in my idea list: build a desktop floating-window app for monitoring crypto prices.
I wanted it to be beautiful, cross-platform, and lightweight.
So I got to work. Saturday afternoon I went through Go’s basic syntax, then asked AI that evening which lightweight Go frameworks were good for building cross-platform desktop apps. After some back and forth, it told me Fyne was a solid choice.
And then… I wasted an entire night.
During actual development, I found that despite having 25k stars on GitHub, the framework felt very rigid (maybe I just didn’t go deep enough), and many methods I needed simply didn’t exist (e.g., the most important one—always-on-top). I checked and found users had raised this in Issues, but after three years the developers still hadn’t added it. Eventually I couldn’t take it anymore and decided to ask real people. After some Googling, I stumbled back to L站 (gotta say, their SEO is top-notch 😄)
https://linux.do/t/topic/115324/19
I want to thank all the netizens who participated in that thread—someone pointed me in the right direction: wails.
Wails is a project for building desktop applications using Go and web technologies. Since I’m relatively familiar with frontend and had picked up some Vue basics before, it was fairly easy to get started. So I went all in, deleted all my Fyne code without hesitation—keeping only the backend API requests—and grinded until 2 AM. I got up at 7 AM and kept writing until just recently when it was finally done.
There was one pitfall that held me up for a long time. Since I wanted a cross-platform desktop app but only have Windows and Linux environments (no macOS), I planned to use GitHub Actions for packaging. But I’m not very familiar with Actions, and more importantly, I knew nothing about macOS specifics (like how apps are installed and packaged) 😅. It took over a dozen attempts to get it working. GitHub Actions never gave me a good way to debug, so I had to keep trial-and-erroring, asking Cursor, and retrying based on the sparse output—with each retry taking 3-4 minutes of build time.
The Windows installer still seems to have some issues—it appears to be the same as the executable—but the executable itself runs fine. I’ll leave it as is for now; if it runs, it’s good enough. I’ll fix it when I feel like writing code again later…
Introduction

The prototype of this little widget is finally complete:

Tech stack:
- Wails
- Vue
The current features are still pretty basic—besides always-on-top, minimize, and close, there’s only simple add/remove of trading pairs. I’ll consider adding more features later (digging a hole for myself).
For more details, check out Github. If you like it, feel free to drop a Star~
Downloads:
https://github.com/shiquda/crypto-monitor/releases/
Given my limited technical skills, there are bound to be issues. Feel free to raise any suggestions or feedback—I’ll get to them when I have time~
Afterword
Secretly opened a new treehole: cry.shiquda.link