0%case-study / production
← Back to projects

01 / Featured product

WABotSender

A consent-aware WhatsApp campaign workspace that keeps CRM data local while connecting outbound workflows to the official Meta Cloud API.

ProductionWindowsmacOSLocal-first
dashboard.png1920 × 1080
WABotSender dashboard showing connected account status, active campaigns, attention queue, and recent activity

/overview/product.md

Purpose and role.

WABotSender brings contact organization, consent state, approved Meta templates, scheduling, and campaign reporting into one desktop product. Its local-first model keeps operational CRM data on the user's computer while Meta credentials are used only for the outbound actions the user initiates.

My role spans product planning, software architecture, React and TypeScript UI development, Rust native services, SQLite data design, Meta API integration, licensing, testing, packaging, release preparation, and continued maintenance.

ReactTypeScriptViteTauri 2RustSQLiteMeta Cloud API
// product type
Cross-platform desktop messaging workspace
// engineering focus
Local-first CRM, campaigns, integration boundaries
// delivery
Windows and macOS application bundles

/architecture/system.map

Clear boundaries.

The interface, native core, persistent data, and external provider are separated so each layer has a focused responsibility. Sensitive credentials cross a narrow command boundary and are stored through the operating-system credential vault.

01 / interface

React + TypeScript

Campaign builders, contact workflows, template mapping, reporting, validation, and localized UI.

02 / bridge

Tauri IPC

Typed commands connect the web interface to native application capabilities.

03 / native core

Rust services

Business rules, campaign execution, provider transport, licensing, backups, and secure credentials.

04 / data + provider

SQLite + Meta

Local CRM and job state with deliberate outbound requests to the official Meta Cloud API.

/engineering/decisions.log

Engineering depth.

The product is designed around explicit consent, recoverable jobs, durable local data, and transparent provider failures rather than optimistic claims about delivery.

01

Consent-aware audiences

Contacts, tags, suppression, consent state, recipient previews, and campaign safety checks support deliberate outbound targeting.

02

Approved templates

Meta templates can be synchronized and their variables mapped to built-in or custom CRM values before a send begins.

03

Persistent campaign state

Scheduled, paused, running, completed, and failed jobs remain visible with recipient-level progress and clear provider errors.

04

Local data ownership

CRM records, templates, campaign jobs, reports, migrations, and backup/restore workflows are managed in the desktop database.

05

Credential security

Meta access credentials use the operating-system credential store instead of being embedded in the interface or ordinary settings data.

06

Release lifecycle

The application includes license activation, localization checks, automated tests, and separate Windows and macOS packaging workflows.

/next/connect.sh

Need a developer who can own the whole product?

I work across product requirements, interface architecture, native services, data, integrations, release engineering, and long-term maintenance.