Dollhouse: an open-source Android AI whale pet with Shizuku support
Published: 2026-10-05 · Author: AI Release · @ai_release1
⚡ The gist in 5 seconds - What it is: the Android app Dollhouse displays an animated whale girl “ ” in a system floating window — she blinks, sways, tilts when dragged, peeks out from the edge of the screen, and speaks when tapped. A triple tap opens a mini chat. - Where to get it: the open-source Farewell-coder/Dollhouse repository on GitHub, GPL-3.0 license, ready-made APK available in Releases. - Limitation: AI chat requires your own API key for any OpenAI-compatible endpoint; no keys are built into the app, and they are stored only on the device. ### 🔍 What was found In the current release 0.0.3 (versionCode 3, applicationId com.dollhouse.app), the app runs on Android 7.0+ (minSdk 24, targetSdk 34, compileSdk 35). The pet lives in a specialUse foreground service and is drawn over other apps via TYPE_APPLICATION_OVERLAY. Its position is saved as a percentage of screen width/height, so after rotation, unfolding a foldable device, or split-screen, the window returns to the right spot. To save power, several frame-rate modes are used: 16 ms during interaction, 250 ms (~4 fps) in peeking mode, and a heartbeat once per second when the screen is off. On a test ColorOS 14 device with a Dimensity 700-class chip, CPU usage in the idle state pressed against the edge was around 3.5%. The built-in AI chat is not tied to a specific provider: Base URL, API Key, and model name are set in settings, and you can save multiple configurations and favorite models, each configuration having its own “starred” list. There is a session list with renaming and history saving, automatic summarization and context merging, token statistics by day/week/total, and, for reasoning models, an expandable “thought for X seconds” block. Optionally, via Shizuku (which the user installs themselves and starts via adb or root), the app gains adb shell-level privileges — uid 2000 — and the model then gets access to the system shell command. Without Shizuku, all pet and chat functionality works as usual. ### 💡 Why it matters The project shows that an Android “desktop pet” can be more than just a cute animation — it can be a fully open AI companion: it is not tied to a vendor API, the user chooses the model and endpoint themselves, and keys remain local in SharedPreferences. The open source code under GPL-3.0, the permissions listed in the README, and building from source make it possible to verify what data the app can access: judging by the list, it does not need geolocation, contacts, camera, microphone, storage, or clipboard. For geeks, it is a ready-made example of a customizable desktop pet with memory and system integration that you can build yourself. ### 🧩 Context In release v0.0.3 dated 2026-10-05, the developer fixed an annoying bug: older versions mixed favorite models from different API configurations in a single storage, causing other configurations’ models to appear in the list. The send-message button icon was also fixed: its graphical center was offset, and the path is now shifted by 0.95 viewport units with the size increased from 24 to 27.
⚡ The gist in 5 seconds - What it is: the Android app Dollhouse displays an animated whale girl “ ” in a system floating window — she blinks, sways, tilts when dragged, peeks out from the edge of the screen, and speaks when tapped.
A triple tap opens a mini chat.
- Where to get it: the open-source Farewell-coder/Dollhouse repository on GitHub, GPL-3.0 license, ready-made APK available in Releases.
- Limitation: AI chat requires your own API key for any OpenAI-compatible endpoint; no keys are built into the app, and they are stored only on the device.
🔍 What was found In the current release 0.0.3 (versionCode 3, applicationId com.dollhouse.app), the app runs on Android 7.0+ (minSdk 24, targetSdk 34, compileSdk 35).
The pet lives in a specialUse foreground service and is drawn over other apps via TYPE_APPLICATION_OVERLAY.
Its position is saved as a percentage of screen width/height, so after rotation, unfolding a foldable device, or split-screen, the window returns to the right spot.
To save power, several frame-rate modes are used: 16 ms during interaction, 250 ms (~4 fps) in peeking mode, and a heartbeat once per second when the screen is off.