Skip to content

About

Your own butler on every screen. Save anything from any app; Butler organizes it and lives as a little pet on your phone and laptop that talk to each other. Self-hosted.

Topics

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

1,321 Commits

Folders and files

Repository files navigation

Butler 2.0

Your own butler, on every screen you own.

Save anything from any app. Butler organizes it, remembers it, and lives as a little pet on your phone and laptop that can talk to each other.
Self-hosted: your data stays on a server you control.

CI Latest release License PRs welcome

Android Linux GNOME Web Deno TypeScript Kotlin PostgreSQL Docker MCP

Quick start Β· Features Β· Screenshots Β· Self-hosting guide Β· Roadmap Β· Contributing

Little Butler idling, thinking, working and finishing a task



Butler's home screen: greeting, Ask Butler box, recent saves, inbox, collections, automations and devices

πŸ”₯ News

  • [2026-10-26] v0.2.0, the first tagged release: a native Android app that works offline, a new Bento-style website in light and dark, collections named by real topic, and Butler's own voice. Release notes β†’
  • [2026-10-23] Connections, recipes and automations. Plug in any MCP server (Zapier, Notion, GitHub…), save instructions as recipes, and run them on a schedule, on new email, or from a webhook. 🧩
  • [2026-10-22] Control your laptop from your phone, clipboard history, and AI that falls back across Gemini, OpenRouter, Groq and OpenAI. πŸ’»
  • [2026-10-20] Butler 2.0 begins: save from any app, the Little Butler pet on Android and GNOME, morning brief, price watch, clipboard sync and more. πŸš€

✨ What is Butler?

Most "save for later" apps are a pile you never open again. Butler is different in three ways:

  1. It does the sorting. Share a TikTok, a GitHub repo, a screenshot or a recipe link and Butler reads it, writes a title and summary, and files it under what it is actually about. Search by meaning, not just by words, or just ask: "what was that jollof recipe I saved?"
  2. It lives on your devices. Little Butler peeks from the edge of your phone and laptop screens. Tap it to save, copy, analyze or translate what you're looking at, send it to your other device, or tell it what to do in plain words.
  3. It's yours. Butler runs on one small server you own (a free cloud VM works). Your saves, files and accounts never sit in someone else's database.

πŸš€ Features

πŸ“₯ Save and find

  • Share β†’ Save to Butler from any Android app, or tap the pet on the laptop
  • AI titles, summaries, tags and topic collections
  • Search by meaning and find similar
  • Ask your library questions, with sources
  • Video notes: key points from YouTube videos
  • Price watch, dead-link rescue, share a note by secret link

🐾 A pet on every screen

  • Little Butler peeks from the screen edge on Android and GNOME
  • Save, Copy, Analyze, Solve, Translate whatever is on screen
  • Ask Butler by typing or talking
  • Taps, swipes and types for you, step by step, and stops before paying, sending or deleting
  • Works offline on Android and syncs later

πŸ” Devices that talk

  • Send to laptop / phone: links, text, screenshots, files
  • Clipboard sync both ways, plus clipboard history on the laptop
  • Ring my phone (even on silent) and ring my laptop
  • Control the laptop from the phone, with a secret word and a kill switch

⚑ Automate

  • Connections (MCP): Zapier, Notion, GitHub or your own server
  • Recipes you run by name, on a schedule, on new email, or from a webhook
  • Anything that sends, changes or deletes waits for your yes
  • Morning brief, weekly recap, reminders, focus timer, spending log
  • Google Calendar, Gmail and Drive backups

Every feature, with its settings, is in docs/features.md. Butler in Telegram: docs/telegram.md.

πŸ“Έ Screenshots

Butler on a phone in dark mode: home, library, recipes and inbox Phone, dark mode: home, library, recipes and inbox



The library: everything saved, grouped by topic, with search by words or by meaning Library: grouped by real topic, searchable by meaning



More: every page in dark mode
Recipes, automations, integrations, inbox, Ask Butler, devices, settings and home in dark mode

Screenshots use sample data.

πŸ“± Platforms

Platform Status How
🌐 Web (any browser) βœ… Ready The website your server hosts
πŸ€– Android 8+ βœ… Ready Native app with offline library and the floating pet (guide)
🐧 Linux (GNOME 46 to 48) βœ… Ready GNOME Shell extension (guide)
🍎 iPhone / iPad πŸ—ΊοΈ Planned See the roadmap
🍏 macOS πŸ—ΊοΈ Planned See the roadmap

Which feature works on which device: docs/platforms.md. | πŸͺŸ Windows 10 and 11 | πŸ§ͺ Built, not yet tried on a real PC | Desktop app with the same pet (guide) |

🏁 Quick start

Butler is self-hosted: you run your own copy on a Linux server with Docker. An Oracle Cloud Always Free VM is enough. You need a domain name you can point at it.

# 1. Get Docker and the code
curl -fsSL https://get.docker.com | sudo sh
git clone https://github.com/Anasabubakar/Butler-2.0.git && cd Butler-2.0/deploy

# 2. Fill in your settings
cp .env.example .env                 # your domain and a database password
cp butler.env.example butler.env     # tokens, password hash, AI keys
openssl rand -hex 32                 # run twice: one for BUTLER_TOKEN, one for SESSION_SECRET
docker compose run --rm butler run server/hash-password.ts   # paste the result as BUTLER_PASSWORD_HASH

# 3. Start it
docker compose up -d --build

Open https://butler.yourdomain.com and sign in. Caddy gets the HTTPS certificate on its own.

Then install the apps:

  • Android: download butler-<version>-android.apk from the latest release, open it, and enter your server's save URL and BUTLER_TOKEN. Full guide β†’
  • Linux (GNOME): download butler-<version>-gnome-extension.zip from the same release, then gnome-extensions install butler-*-gnome-extension.zip and log out and back in. Full guide β†’
  • Windows: download butler-<version>-windows-setup.exe from the same release, open it (SmartScreen: More info β†’ Run anyway), and enter your server address and BUTLER_TOKEN. Full guide β†’

The self-hosting guide covers opening ports, automatic deploys from GitHub, running a local AI model instead of a cloud one, connecting Google, backups and restoring.

AI providers

Butler uses AI for two jobs, set in butler.env:

Job Options
Organizing saves (titles, summaries, tags, collections) Anthropic Claude (ANTHROPIC_API_KEY), or a free local model through Ollama (BUTLER_AI=local, slower on a CPU-only server)
Talking and seeing (Ask Butler, video notes, search by meaning, Analyze/Solve/Translate) Google Gemini (GEMINI_API_KEY), falling back to OpenRouter, Groq or OpenAI keys in the order of BUTLER_AI_ORDER

πŸ— How it works

flowchart LR
  subgraph devices[Your devices]
    A[πŸ€– Android app<br/>+ floating pet]
    G[🐧 GNOME pet]
    X[πŸͺŸ Windows pet]
    W[🌐 Website]
  end
  subgraph server[Your server]
    C[Caddy<br/>HTTPS]
    S[Butler server<br/>Deno + TypeScript]
    P[(PostgreSQL)]
    F[(Saved files)]
  end
  A <--> C
  G <--> C
  X <--> C
  W <--> C
  C <--> S
  S <--> P
  S <--> F
  S --> AI[AI providers<br/>Gemini Β· OpenRouter Β· Groq<br/>OpenAI Β· Claude Β· Ollama]
  S --> GA[Google<br/>Calendar Β· Gmail Β· Drive]
  S --> M[MCP servers<br/>Zapier Β· Notion Β· …]
Loading
  • Devices never talk to each other directly. Each one checks in with your server, which holds messages, reminders and clipboard copies until the right device picks them up. That's how a phone in your pocket and a laptop at home stay in step.
  • Saving is instant; thinking happens later. A save is stored at once and organized in the background, so a slow AI model never makes you wait.
  • Anything risky asks first. Sending email, running a tool that changes something, or acting on your laptop needs your yes. Saved content and tool replies are treated as data, never as instructions.

Repository layout

Path What it is
server/ The Butler server (Deno): saves, library API, sign-in, AI, recipes, devices, and serving the website
db/migrations/ Postgres schema, applied when the server starts
web/ The website (Vite + TypeScript), light and dark
android/ Android app (Kotlin, Jetpack Compose): offline library, Share menu, floating pet
desktop/gnome/ The GNOME Shell pet extension
desktop/windows/ The Windows pet (Electron)
deploy/ Docker Compose for a server: Postgres, Butler, Caddy, backups
design/ Brand guide, logo masters and the Little Butler sprite kit
tests/ Unit tests
docs/ Guides: self-hosting, features, Android

πŸ—Ί Roadmap

  • Save from any app, AI organizing, search by meaning
  • Little Butler pet on Android and GNOME
  • Phone and laptop talking: send, clipboard sync, ring, remote control
  • MCP connections, recipes and automations
  • Native offline Android app
  • One-command installer and a setup page, so self-hosting takes minutes
  • Signed release APK and an F-Droid listing
  • Windows desktop pet (built; first real-PC test pending)
  • macOS desktop pet
  • iPhone app (Share extension first; iOS doesn't allow a floating pet over other apps)
  • "Hey Butler" wake word
  • Sign in to MCP servers with OAuth

Ideas and votes are welcome in Issues.

🀝 Contributing

Bug reports, device test results and pull requests are all welcome. Start with CONTRIBUTING.md for setup, tests and how releases are made. Found a security problem? Please follow SECURITY.md instead of opening an issue.

Contributors

Contributors

Star history

Star history chart

πŸ™ Built with

Deno Β· PostgreSQL Β· Caddy Β· Vite Β· Jetpack Compose Β· GNOME Shell Β· Model Context Protocol Β· Ollama Β· Inter and Instrument Serif

License

Butler's code is free software under the GNU Affero General Public License v3.0. You can use, change and share it. If you run a changed Butler as a service for other people, you have to share your changes with them too.

The Butler 2.0 logos in design/brand/ and the Little Butler character in design/little-butler/ are not covered by that license. They stay Β© Anas Abubakar, all rights reserved. You can use them unchanged to run or talk about Butler, but not for your own product or a fork with a different name.


Made with care by @Anasabubakar and Little Butler.

About

Your own butler on every screen. Save anything from any app; Butler organizes it and lives as a little pet on your phone and laptop that talk to each other. Self-hosted.

Topics

Resources

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages