Built for people who are tired of renting their business data back from the cloud.
One-liner: A desktop-first, local-first workspace for small and medium businesses — email, contacts, campaigns, tasks, calendar, automation, and security in one app, on your machine, under your control.
Why this exists: Small business owners shouldn't have to duct-tape six SaaS tools together to handle one customer conversation. Your machine, your business.
| Feature | What it actually does | |
|---|---|---|
| 📧 | Multi-account inbox, Gmail API + IMAP/SMTP, labels, search, drafts, offline-safe actions | |
| 👥 | CRM | Contacts, groups, tags, dynamic segments, activity context, scoring |
| 📣 | Campaigns | Campaign builder, mail merge, A/B, analytics, outreach workflows |
| 📅 | Calendar | Calendar views and sync-oriented event management |
| ✅ | Tasks | Priorities, due dates, recurrence, multiple views, linked workflow support |
| ⚙️ | Automation | Trigger/action rules and automation builder flows |
| ✍️ | Composer | Signatures, attachments, aliases, undo-send, scheduled send |
| 🔐 | PGP | Sequoia OpenPGP integration for encrypted messages |
| 🗄️ | Vault | Attachment vault and file workflows |
| 📡 | Deliverability | DNS, blacklist, bounce, and sender-health tooling |
| 🤖 | AI | Provider-based assistants for categorization, writing, summaries, inbox queries |
| 🌍 | i18n | English, French, Arabic, Japanese, Italian — including RTL for Arabic |
SMEMaster targets desktop (Windows · Linux · macOS) and Android, built with Tauri v2 + React 19 + Rust.
| State | Platforms |
|---|---|
| 🚧 In active development | Windows, Linux, macOS (desktop) · Android (mobile) |
| 🔜 Shipping soon | First public builds — installers and sideload packages |
| 🗺️ On the roadmap | Signed store releases, broader multi-device sync, plugin ecosystem |
No installers or binaries are published yet. The app builds and runs from source today; packaged releases are part of the v1.0 hardening pass. Watch GitHub Releases for the first build.
Stage: v1.0.0-rc — feature-complete and compiling, pre-release hardening in progress.
Recently shipped
- 🎨 Settings UI overhaul — all 24 settings tabs beautified with premium card layout, stats rows, step-by-step setup wizards
- 🌐 RTL + i18n cleanup — 164 physical-direction CSS violations fixed across 48 files; 1,685
[TODO]translation prefixes cleared in fr/ar/ja/it locales - 🚀 Onboarding rework — standalone page after splash; auto-skips if email accounts or demo data already exist
- 🤖 AI RAG UI — local semantic search & RAG feature complete
- 🏷️
account_id→company_idrename — 30+ files across the full stack, zero TS/Rust errors - 📱 Mobile UX Overhaul — all 5 phases 100% implemented
- 🏗️ Data layer evolution — dead-code eliminated, offline-availability + optimistic email actions
- 🟢 Shared component library — 6 reusable UI primitives + 5 stability hooks/utils
- 🟢 Typed UI event bus (
uiBus) — replaced stringly-typedwindow.dispatchEvent("smemaster-*")with a fully-typed emitter - 🟢 AI sidecar test coverage — comprehensive
aiSidecar.test.ts
In progress
- Manual stability tests (panic injection, WAL recovery, watchdog restart)
- Code signing certificates + auto-updater pubkey
- 7-day dogfooding + public beta run
- Plugin architecture & store releases
Full picture → docs/STATUS.md.
smeMaster/
├── docs/ # Architecture, features, roadmap, release, user guides
│ ├── 00-INDEX.md # Docs hub (start here)
│ ├── 01-ARCHITECTURE/ # System & data-model design
│ ├── 02-BACKEND/ # Rust & Tauri internals
│ ├── 03-FRONTEND/ # React/TS patterns & guides
│ ├── 04-FEATURES/ # Per-feature specs
│ ├── 05-DEVELOPMENT/ # Contributor setup
│ ├── 06-ROADMAP/ # Master plan
│ └── user-guide/ # End-user docs
├── src/ # React 19 + TypeScript frontend
├── src-tauri/ # Rust + Tauri backend/runtime
├── scripts/ # Release & maintenance scripts
└── package.json
Tech stack: React 19 + TypeScript (UI) · Rust + Tauri v2 (native runtime) · SQLite + WAL (persistence) · Zustand (state) · typed IPC contracts · event-driven cache.
- Node.js
v20+ - Rust
1.77.2+ - Tauri v2 prerequisites
Windows note: make sure
C:\msys64\ucrt64\binis on yourPATH.
git clone https://github.com/Zakarialabib/smeMaster.git
cd smeMaster
npm install
npm run tauri dev| Command | Purpose |
|---|---|
npm run dev |
Start the Vite frontend only |
npm run test |
Run frontend tests |
npx tsc --noEmit |
TypeScript typecheck |
npm run tauri build |
Build the desktop app |
npm run android |
Start Android development flow |
Start at docs/00-INDEX.md. Key entry points:
| Area | Start here |
|---|---|
| Architecture | Overview · Backend structure · Data model |
| Backend | IMAP engine · SMTP · PGP · OAuth · Key management |
| Frontend | State · Service layer · Reuse patterns · Shared components |
| Features | Email · CRM · Campaigns · AI RAG · PGP |
| Development | Quickstart · Testing · Design system |
| Roadmap | Status · Master plan |
| User guide | Getting started · Account setup · PGP setup · Backup & restore |
| Changelog | Release Notes |
This is an indie, solo-founded project and contributions are genuinely welcome:
- Report bugs through Issues
- Propose ideas in Discussions
- Open PRs with tests where appropriate
- Improve docs when you spot drift or ambiguity
Preferred conventions: Conventional Commits, TypeScript strict mode, targeted tests for meaningful behavior changes.