explaingit

meetfranz/franz

4,680JavaScriptAudience · generalComplexity · 3/5LicenseSetup · moderate

TLDR

A desktop app that combines multiple messaging services, WhatsApp, Slack, Telegram, Hangouts, and others, into one window with tabs, so you stop switching between separate apps. Runs on Windows, Mac, and Linux.

Mindmap

mindmap
  root((franz))
    What it does
      Unified messaging window
      Tab per service
      Plugin system
      Cross-platform
    Tech Stack
      JavaScript
      Electron
      Lerna
    Supported Services
      WhatsApp
      Slack
      Telegram
      HipChat
    Setup
      npm install
      Two terminal commands
      Linux extra deps
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Manage all work and personal chats in one window without switching between separate apps on your desktop.

USE CASE 2

Add support for a new messaging service by writing a recipe plugin and contributing it to the community.

USE CASE 3

Build and package Franz from source for your operating system.

Tech stack

JavaScriptElectronLernaNode.js

Getting it running

Difficulty · moderate Time to first run · 30min

Linux requires additional system libraries before running, a separate per-distro guide covers the specifics.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Franz is a desktop messaging app that brings multiple chat services together into one window. Instead of switching between separate apps for WhatsApp, Slack, Telegram, Hangouts, HipChat, and others, Franz lets you run them all at once in a single application on Windows, Mac, or Linux. The app wraps each messaging service in its own tab, so each one behaves like it normally would in a browser. You can add as many services as you want through a plugin system. Each plugin, called a recipe in the project's terminology, handles the connection to one messaging platform. The plugin repository is a separate GitHub project where the community contributes support for new services. Franz is built on Electron, a framework that lets web technologies run as desktop applications. The README covers development setup: installing dependencies with a tool called Lerna, running the app locally in two parallel terminal commands, and building a packaged version. Linux users need to install some additional system dependencies first, with a separate guide covering the specifics per Linux distribution. The project accepts bug reports and feature requests through GitHub issues. Community support happens through a Slack workspace. Franz is open-source under the Apache 2.0 license. Downloads are available from the project's website, and Mac users can also install it through Homebrew.

Copy-paste prompts

Prompt 1
How do I create a new Franz recipe to add support for a messaging service that isn't listed yet?
Prompt 2
Walk me through building Franz from source on Ubuntu including installing the extra system dependencies Lerna needs.
Prompt 3
How do I run Franz locally in development mode, what are the two terminal commands I need to run in parallel?
Prompt 4
How do I install Franz on a Mac using Homebrew?
Open on GitHub → Explain another repo

← meetfranz on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.