Case Study
ADBKit
A cross-platform desktop app for managing Android devices over ADB and Fastboot. Built with Wails (Go + Astro + React) for a native, lightweight experience compared to Electron-based alternatives.
ADBKit is a modern tool for Android enthusiasts and developers who are tired of typing the same terminal commands over and over. It wraps the raw power of the Android Debug Bridge (ADB) and Fastboot into an intuitive, responsive graphical interface.
Unlike similar tools that are usually heavy (because they are built on Electron), this app uses Wails, which pairs a Go backend with a React frontend. The result is a very lightweight application (installer under 20MB) that still packs a wide feature set.
Key Features
- Device Manager and Dashboard: Real-time visualization of device status including battery, model, and root state.
- Advanced App Manager: Remove bloatware, back up APKs, and manage system app permissions with a single click.
- File Explorer: Browse, copy, and delete files on the Android device the same way you would in a desktop file manager.
- Universal Flasher: A safe interface for flashing partitions (boot, recovery, system) over Fastboot.
- Integrated Shell: A built-in terminal for running custom ADB commands without opening a separate console.
Technical Challenge
The hardest part of this project was handling concurrency when running long ADB commands (such as logcat or large file transfers) so the UI would not freeze.
The fix was to use goroutines on the Go backend to handle I/O asynchronously, then stream status updates to the React frontend in real time through Wails events. This architecture keeps the UI smooth at 60fps even while transferring multi-gigabyte files.
Tech Stack
- Core: Wails v2 (Go + Webview2)
- Frontend: Astro 5, React 18, TypeScript, Vite
- UI Framework: Tailwind CSS, shadcn/ui
- Backend Logic: Go (standard library)
- State Management: Zustand (frontend)
