v1.0 — open source, MIT licensed

Your workspace AI. On your machine. Under your control.

FlowSpace consolidates Gmail, Calendar, Drive, and Tasks into one view with an embedded AI agent that reads and acts across all your Google services. Open source. Self-hosted. No data leaves your machine.

Install FlowSpaceView on GitHub
23
AI tools
3
deployment targets
~200 MB
desktop app
flowspace — bash

The problem

Seven tabs. No signal.

Before
Gmail
Calendar
Drive
Tasks
Meet
Docs
Sheets
Sarah Chen
Q2 roadmap review — need your input
9:42 AM
Legal Team
Contract renewal — deadline Friday
Yesterday
Marcus W.
Team standup notes + action items
Yesterday
Google Drive
2 documents shared with you
Mon
+ 6 more tabs open in background
After
FlowSpacelive
Wed, May 20
Morning Briefing

3 emails need attention. Sarah is waiting on your Q2 input. Your 10 AM is free.

Needs Attention
Q2 roadmap reviewurgent
Contract renewal — Frideadline
10:00
Free block
1:00 PM
Team sync
3:30 PM
1:1 Sarah

Capabilities

What it can do

01 / morning briefing

Your day, synthesized before you open a single tab.

FlowSpace pulls from Gmail, Calendar, Drive, and Tasks to generate a concise morning briefing. Not a list of events: a prioritized read of what actually matters today.

Wed, May 20 — 8:31 AM

You have 3 unread emails that need decisions, a free hour at 10 AM, and the Q2 roadmap doc Sarah shared yesterday is still unread.

3 emails2 meetings1 docfree at 10
02 / inbox triage

AI-sorted inbox. Bulk actions with one click.

The AI categorizes your inbox into urgent, needs review, and low priority. Act on the entire bucket at once or drill into individual threads. No manual sorting.

urgent · 2
Contract renewal — Legal needs sign-off
Q2 roadmap — Sarah waiting
needs review · 2
Team standup notes
Drive: 2 docs shared
low priority · 1
Newsletter digest
03 / 23-tool AI agent

Chat with your workspace. Get things done.

23 tools across read, write, and workflow categories. Find documents, send emails, create events, triage your inbox — all from a single command interface. You stay in control.

Find the agenda for my 2 PM meeting and draft a reply to Sarah.
search_driveFound: Q2 Planning Agenda.docx
Got the agenda. Drafting reply to Sarah now...
draft_email
Draft ready for review.
04 / human-in-the-loop

Every write action requires your sign-off.

The AI drafts, proposes, and presents. You approve before anything is sent, created, or modified. You can read, edit, or discard before anything changes.

Pending approval
send_email
To: sarah@company.com
Hi Sarah, I reviewed the Q2 roadmap and added my input in section 3...
05 / bring your own model

Not locked to any provider. Your API keys, your choice.

Connect Claude, GPT-4o, a local Ollama instance, or any OpenAI-compatible endpoint. Switch at any time from the settings panel. No vendor dependency.

AI Provider
Claude (Anthropic)active
GPT-4o (OpenAI)
Ollama (local)
OpenRouter

Architecture

How it works

A single Express server bridges your browser, Google APIs, and the LLM of your choice. Everything persists to your local filesystem.

Browser / TauriReact 19 + WebViewExpress ServerNode.js + TypeScriptGoogle APIsGmail · Calendar · Drive · TasksLLM ProviderClaude · GPT · OpenAI-compatibleLocal Filesystem~/Library/Application Supportwrite actions require approval
SSE streaming for AI chatTool-calling loop (max 5 rounds)Atomic filesystem writesNo cloud databaseOAuth 2.0 via gws CLI

Privacy and open source

Local-first. Auditable. Free.

Privacy is not a feature. It is the architecture. FlowSpace was designed from the start to keep your data where it belongs.

Your data stays on your machine

FlowSpace runs entirely on localhost. Google API calls go from your machine directly to Google. The only external call you configure is the LLM API key you choose to use.

No telemetry, no analytics, no cloud backend

There is no FlowSpace server. No usage data is collected, transmitted, or stored anywhere except your own filesystem.

Bring your own OAuth credentials

You register your own Google Cloud app and use your own client credentials. No centralized auth server, no shared tokens, no third-party access to your Google account.

Inspect every line of code

MIT licensed. The entire codebase is public. No obfuscated bundles, no proprietary components, no black boxes in the data path.

How it compares

FlowSpaceGemini SparkMicrosoft Copilot
Data locationYour machineGoogle serversMicrosoft servers
CostFree$19/month$30/user/month
Model lock-inNone (BYO)Gemini onlyGPT-4 only
Open sourceYesNoNo
Approval workflowYesNoNo

Get started

Three ways to run it

Choose what fits your setup. All three connect to the same Express server on port 3000.

curl · recommended

Quick Install

One command. Works on macOS and Linux with Node.js installed.

bash
curl -fsSL https://flowspace.run/install | bash
docker · self-hosted

Docker

Run in a container. Mounts a local volume for credential persistence.

bash
docker run -p 3000:3000 \
  -v ~/.flowspace:/data \
  ghcr.io/mohamedelrefaiy/flowspace
.dmg · native app

macOS Desktop

Download the Tauri desktop app. ~200 MB. Runs natively without a browser.

bash
# Download from GitHub Releases
open https://github.com/mohamedelrefaiy/flowspace/releases

Requires Node.js 20+. Google OAuth setup takes about 5 minutes. See setup guide

Built with

React 19UI runtime
TypeScriptend-to-end
ExpressAPI server
Tailwind v4styling
Tauri v2desktop (Rust)
Vite 6build tooling
Vitesttesting
Dockerself-hosted