Nanaonan (Sundanese: "What is this?" / "What on earth?") — A lightweight, native WhatsApp desktop client built with Qt6/QML and Go.
🚀 No Chromium. No Electron. Just pure native performance.
Are you tired of your messaging app consuming 2GB of RAM just to tell your mom you'll be home late for dinner? Do you enjoy the feeling of your laptop fans reaching terminal velocity because you opened a group chat?
NanaonanApp is a WhatsApp desktop client that connects to WhatsApp's servers using the whatsmeow library. Unlike official WhatsApp Web/Desktop that uses a browser engine (Chromium), this application is built natively using:
- Qt6/QML for the user interface
- C++ for application logic and data models
- Go for WhatsApp protocol implementation (via whatsmeow)
- CGo bridge to connect C++ and Go
| Metric | Electron-based Apps | NanaonanApp |
|---|---|---|
| RAM Usage | 1.5 - 2.5+ GB | ~175 MB |
| Binary Size | 200+ MB | ~50 MB |
| CPU Idle | 5-15% | <1% |
| Startup Time | 3-8 seconds | <1 second |
| Software | Version | Purpose |
|---|---|---|
| Qt6 | 6.5+ | UI framework (Widgets, Quick, Qml, Sql, Multimedia) |
| Go | 1.21+ | WhatsApp protocol implementation |
| CMake | 3.16+ | Build system |
| GCC/MSVC | C++17 | C++ compiler |
| libqrencode | 4.0+ | QR code generation |
| SQLite3 | 3.x | Database (via go-sqlite3) |
go.mau.fi/whatsmeow- WhatsApp Web APIgithub.com/mattn/go-sqlite3- SQLite drivergoogle.golang.org/protobuf- Protocol buffers
# Install dependencies (Ubuntu/Debian)
sudo apt install qt6-base-dev qt6-declarative-dev qt6-multimedia-dev \
libqrencode-dev cmake build-essential golang
# Clone repository
git clone https://github.com/yourusername/NanaonanApp.git
cd NanaonanApp
# Initialize whatsmeow submodule
git submodule update --init --recursive
# Build
mkdir build && cd build
cmake ..
make -j$(nproc)# Install Qt6 from qt.io
# Install Go from golang.org
# Install CMake
# Clone and build
git clone https://github.com/yourusername/NanaonanApp.git
cd NanaonanApp
git submodule update --init --recursive
mkdir build
cd build
cmake .. -G "Visual Studio 17 2022"
cmake --build . --config Release# Using MSYS2/MinGW64
pacman -S mingw-w64-x86_64-qt6-base mingw-w64-x86_64-qt6-declarative \
mingw-w64-x86_64-cmake mingw-w64-x86_64-go
mkdir build && cd build
cmake .. -G "MinGW Makefiles"
mingw32-make -j$(nproc)# From build directory
./NanaonanApp
# On Windows
.\NanaonanApp.exeOur TODO.md is not a list of failures. It is a Roadmap of Future Greatness.
By not implementing 80% of WhatsApp's features yet, we have achieved a level of Minimalism™ that Silicon Valley can only dream of. No stickers? That's "Visual Detox Mode". No group settings? That's "Anarchy-Driven Development".